InsertServlet.java
[ファイル] InsertServlet.java
[挿入場所] ListServletへの遷移処理前
// 入力データの文字コードの指定 request.setCharacterEncoding("UTF-8"); // POST送信データの取得 String isbn = request.getParameter("isbn"); String title = request.getParameter("title"); String strPrice = request.getParameter("price"); // 登録処理に渡すデータをBookオブジェクトに格納してまとめる Book book = new Book(); book.setIsbn(isbn); book.setTitle(title); book.setPrice(Integer.parseInt(strPrice)); // データベースアクセス用オブジェクトの生成 BookDAO objDao = new BookDAO(); // 書籍データを登録する命令を呼び出す objDao.insert(book);
ListServlet.java
[ファイル] ListServlet.java
[挿入場所] 「public class ListServlet extends HttpServlet {」と「}」の間と入れ替える
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 共通処理を呼び出す commonProcess(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 共通処理を呼び出す commonProcess(request, response); } private void commonProcess(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // データベースアクセス用オブジェクトの生成 BookDAO objDao = new BookDAO(); // 書籍データを全件取得する命令を呼び出し、戻り値を取得する ArrayList<Book> bookList = objDao.selectAll(); // 書籍リストをリクエストスコープに格納 request.setAttribute("keyBookList", bookList); // JSPファイルに遷移する request.getRequestDispatcher("/view/list.jsp").forward(request, response); }
BookDAO.java
[ファイル] BookDAO.java
[挿入場所] selectByIsbn関数の後ろ
/** * 引数で与えられた書籍情報を、書籍データを格納するbookinfoテーブルへ登録する関数 * * @param book 登録する書籍情報のBookオブジェクト * * @throws IllegalStateException 関数内部で例外が発生した場合 */ public void insert(Book book) { try { // DB接続 connect(); // 書籍データを登録するSQL文を用意 String sql = "INSERT INTO bookinfo VALUES(" + "'" + book.getIsbn() + "'," + "'" + book.getTitle() + "'," + book.getPrice() + ")"; // SQL文を発行 executeUpdate(sql); } catch (Exception e) { throw new IllegalStateException(e); } finally { // DB接続解除 disconnect(); } }