1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package org.perpus.controller;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.perpus.dao.BookDAO;
import org.perpus.dao.BookDAOImplementation;
import org.perpus.model.Book;
@WebServlet("/BookController")
public class BookController extends HttpServlet {
private BookDAO dao;
private static final long serialVersionUID = 1L;
public static final String lIST_BOOK = "/listBook.jsp";
public static final String INSERT_OR_EDIT = "/book.jsp";
public BookController() {
dao = new BookDAOImplementation();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String forward = "";
String action = request.getParameter( "action" );
if( action.equalsIgnoreCase( "delete" ) ) {
forward = lIST_BOOK;
int bookId = Integer.parseInt( request.getParameter("bookId") );
dao.deleteBook(bookId);
request.setAttribute("books", dao.getAllBooks() );
}
else if( action.equalsIgnoreCase( "edit" ) ) {
forward = INSERT_OR_EDIT;
int bookId = Integer.parseInt( request.getParameter("bookId") );
Book book = dao.getBookByIsbn(bookId);
request.setAttribute("book", book);
}
else if( action.equalsIgnoreCase( "insert" ) ) {
forward = INSERT_OR_EDIT;
}
else {
forward = lIST_BOOK;
request.setAttribute("books", dao.getAllBooks() );
}
RequestDispatcher view = request.getRequestDispatcher( forward );
view.forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Book book = new Book();
book.setPengarang( request.getParameter( "pengarang" ) );
book.setJudul( request.getParameter( "judul" ) );
book.setJenis( request.getParameter( "jenis" ) );
book.setIsbn( request.getParameter( "isbn" ) );
String bookId = request.getParameter("bookId");
if( bookId == null || bookId.isEmpty() )
dao.addBook(book);
else {
book.setBookId( Integer.parseInt(bookId) );
dao.updateBook(book);
}
RequestDispatcher view = request.getRequestDispatcher( lIST_BOOK);
request.setAttribute("books", dao.getAllBooks());
view.forward(request, response);
}
}