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();
    }

}