DetailServlet.java
[ファイル] DetailServlet.java
[挿入場所] JSPファイルへの遷移処理前
// 入力データの文字コードの指定 request.setCharacterEncoding( "UTF-8" ); // GET送信データ(ISBN番号)の取得 String isbn = request.getParameter( "isbn" ); // データベースアクセス用オブジェクトの生成 BookDAO objDao = new BookDAO(); // 指定したISBN番号の書籍データを取得する命令を呼び出し、戻り値を取得する Book book = objDao.selectByIsbn(isbn); // 書籍データをリクエストスコープに格納 request.setAttribute( "keyBook" , book); |
detail.jsp
[ファイル] detail.jsp
[挿入場所] <!DOCTYPE html>
の前
<% // リクエストスコープから書籍データを取得 Book book = (Book)request.getAttribute( "keyBook" ); %> |
[ファイル] detail.jsp
[挿入場所] 書籍情報の<table>
タグと入れ替える
< table > < tr > < th >ISBN</ th > < td ><%=book.getIsbn()%></ td > </ tr > < tr > < th >TITLE</ th > < td ><%=book.getTitle()%></ td > </ tr > < tr > < th >価格</ th > < td ><%=book.getPrice()%>円</ td > </ tr > </ table > |
BookDAO.java
[ファイル] BookDAO.java
[挿入場所] selectAll関数の後ろ
/** * 引数のISBNを基にDBの書籍情報を格納するbookinfoテーブルから該当書籍データの検索をおこなう関数 * * @param isbn 検索対象のISBN * * @return 検索結果の書籍情報のBookオブジェクト * * @throws IllegalStateException 関数内部で例外が発生した場合 */ public Book selectByIsbn(String isbn) { try { // DB接続 connect(); // 指定されたISBN番号の書籍データを取得するSQL文を用意 String sql = "SELECT * FROM bookinfo WHERE isbn='" + isbn + "'" ; // SQL文を発行し、結果セットを取得 ResultSet rs = executeQuery(sql); // 書籍データ格納用のBookオブジェクトを生成 Book book = new Book(); // 結果セットから書籍データを取得 if (rs.next()) { book.setIsbn(rs.getString( "isbn" )); book.setTitle(rs.getString( "title" )); book.setPrice(rs.getInt( "price" )); } // 呼び出し元へ書籍データを返す return book; } catch (Exception e) { throw new IllegalStateException(e); } finally { // DB接続解除 disconnect(); } } |