ListServlet.java
[ファイル] ListServlet.java
[挿入場所] JSPファイルへの遷移処理前
/// データベースアクセス用オブジェクトの生成 BookDAO objDao = new BookDAO(); // 書籍データを全件取得する命令を呼び出し、戻り値を取得する ArrayList<Book> bookList = objDao.selectAll(); // 書籍リストをリクエストスコープに格納 request.setAttribute( "keyBookList" , bookList); |
list.jsp
[ファイル] list.jsp
[挿入場所] <!DOCTYPE html>
の前
<% // リクエストスコープから書籍リストを取得 ArrayList<Book> bookList = (ArrayList<Book>)request.getAttribute( "keyBookList" ); %> |
[ファイル] list.jsp
[挿入場所] 書籍情報の<tr>
タグと入れ替える
<% // 書籍リストから1行ずつデータを取得し表示 for (Book book: bookList) { %> <tr> <td> <a href= "/bmsweb/detail?isbn=<%=book.getIsbn()%>" ><%=book.getIsbn()%></a> </td> <td><%=book.getTitle()%></td> <td><%=book.getPrice()%>円</td> <td> <a href= "/bmsweb/update?isbn=<%=book.getIsbn()%>" >更新</a> <a href= "/bmsweb/delete?isbn=<%=book.getIsbn()%>" >削除</a> </td> </tr> <% } %> |
Book.java
[ファイル] Book.java
[挿入場所] 「public class Book {」と「}」の間
// 書籍のISBN private String isbn; // 書籍のタイトル private String title; // 書籍の価格 private int price; /** * 書籍情報(ISBN・タイトル・価格)の初期設定をおこなう(コンストラクタ) */ public Book() { this .isbn = null ; this .title = null ; this .price = 0 ; } /** * 書籍のISBNを取得する * * @return 書籍のISBN */ public String getIsbn() { return isbn; } /** * 書籍のISBNを設定する * * @param isbn 設定する書籍のISBN */ public void setIsbn(String isbn) { this .isbn = isbn; } /** * 書籍のタイトルを取得する * * @return 書籍のタイトル */ public String getTitle() { return title; } /** * 書籍のタイトルを設定する * * @param title 設定する書籍のタイトル */ public void setTitle(String title) { this .title = title; } /** * 書籍の価格を取得する * * @return 書籍の価格 */ public int getPrice() { return price; } /** * 書籍の価格を設定する * * @param price 設定する書籍の価格 */ public void setPrice( int price) { this .price = price; } |
BookDAO.java
[ファイル] BookDAO.java
[挿入場所] executeUpdate関数の後ろ
/** * DBの書籍情報を格納するbookinfoテーブルから全書籍情報を取得する関数 * * @return 全書籍情報のリスト * * @throws IllegalStateException 関数内部で例外が発生した場合 */ public ArrayList<Book> selectAll() { try { // DB接続 connect(); // 書籍データを全件取得するSQL文を用意 String sql = "SELECT isbn, title, price FROM bookinfo" ; // SQL文を発行し、結果セットを取得 ResultSet rs = executeQuery(sql); // 書籍データ格納用のリストオブジェクトを生成 ArrayList<Book> bookList = new ArrayList<Book>(); // 結果セットから1行ずつ書籍データを取得 while (rs.next()) { Book book = new Book(); book.setIsbn(rs.getString( "isbn" )); book.setTitle(rs.getString( "title" )); book.setPrice(rs.getInt( "price" )); bookList.add(book); } // 呼び出し元へ書籍データを返す return bookList; } catch (Exception e) { throw new IllegalStateException(e); } finally { // DB接続解除 disconnect(); } } |