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