質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Q&A

解決済

1回答

2590閲覧

[java] MySQLのSELECT文によるjspへの一覧表示

beginner_7

総合スコア14

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

0グッド

0クリップ

投稿2019/10/20 09:35

お世話になります。JAVA初学者のものです。

現在Servlet、jspとDaoクラスにそれぞれコードを記述しており、
SELECT文を使用し、MySQLの登録データをJSPに一覧表示したいのですがうまくいきません。

ググったり自分なりに試行錯誤しているのですが、一体どこが間違っているのか…
何卒ご教示の程よろしくお願い致します。

java

1 2 3**「①Servlet** 4 5 6protected void doGet(HttpServletRequest request, HttpServletResponse response) 7 throws ServletException, IOException { 8 9 10 HttpSession session = request.getSession(); 11 12 UserBean onSession = (UserBean) session.getAttribute("userInfo"); 13 14 if (onSession == null) { 15 response.sendRedirect("Login_Servlet"); 16 return; 17 } 18 19 // ユーザ一覧情報を取得 20 UserDao userDao = new UserDao(); 21 List<UserBean> userList = userDao.findAll(); 22 23 // リクエストスコープにユーザ一覧情報をセット 24 request.setAttribute("userLists", userList); 25 26 // ユーザ一覧のjspにフォワード 27 RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/jsp/user_list.jsp"); 28 dispatcher.forward(request, response); 29 } 30 31 32**「②SELECTのDaoコード」** 33 34 35 public List<UserBean> findAll() { 36 Connection conn = null; 37 38 List<UserBean> userList = new ArrayList<UserBean>(); 39 40 try { 41 42 conn = DBManager.getConnection(); 43 44 String sql = "SELECT * FROM user"; 45 46 Statement stmt = conn.createStatement(); 47 ResultSet rs = stmt.executeQuery(sql); 48 49 while (rs.next()) { 50 int id = rs.getInt("id"); 51 String loginId = rs.getString("login_id"); 52 String name = rs.getString("name"); 53 Date birthDate = rs.getDate("birth_date"); 54 String password = rs.getString("password"); 55 String createDate = rs.getString("create_date"); 56 String updateDate = rs.getString("update_date"); 57 userList.add(new UserBean(id, loginId, name, birthDate, password, createDate, updateDate)); 58 59 } 60 61 } catch (SQLException e) { 62 e.printStackTrace(); 63 return null; 64 } finally { 65 66 if (conn != null) { 67 try { 68 conn.close(); 69 } catch (SQLException e) { 70 e.printStackTrace(); 71 return null; 72 } 73 } 74 } 75 return userList; 76 } 77 78 79**「③一覧表示したいjspのコード(長いので該当部分のみ)」** 80 81 82<table class="table table-bordered"> 83 84 <thead class="thead-light"> 85 <tr> 86 <th>ログインID</th> 87 <th>ユーザ名</th> 88 <th>生年月日</th> 89 <th></th> 90 </tr> 91 </thead> 92 93 <tbody> 94 <c:forEach var="user" items="${userLists}"> 95 <tr> 96 <td>${user.loginId}</td> 97 <td>${user.name}</td> 98 <td>${user.birthDate}</td> 99 <td> 100 101 <div class="row"> 102 <div class="col-sm-4"> 103 <a href="Reference_Servlet"> 104 <button type="submit" class="btn btn-primary" value="詳細">詳細</button> 105 </a> 106 </div> 107 108 <div class="col-sm-4"> 109 <a href="Update_Servlet"> 110 <button type="submit" class="btn btn-success" value="更新">更新</button> 111 </a> 112 </div> 113 <div class="col-sm-4"> 114 <a href="Delete_Servlet"> 115 <button type="submit" class="btn btn-danger" value="消去">消去</button> 116 </a> 117 </div> 118 </div> 119 </td> 120 </tr> 121 </c:forEach> 122 </tbody> 123 </table> 124

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

beginner_7

2019/10/20 13:49

質問に不備があり失礼しました! 「上手くいきません」 →jspに表示されません。という意味です。daoのコードが間違っているのか、それともjspのコードが間違っているのか…どこに不足があり上手く実行出来ていないのか分りません。 最終的なゴールとしてはデータベースのテーブルに登録されてある値を、SELECT文を使ってjspに一覧表示したいです。 何卒ご教示のほどよろしくお願い致します。
A-pZ

2019/10/20 17:09

念のためUserBeanのソースコードを書くことと、アプリケーション実行時にエラーが出ていないことは確認してください。
guest

回答1

0

自己解決

ECLIPSEの不具合でビルドが上手く通っていなかっただけの様でした…。

投稿2019/10/27 04:37

beginner_7

総合スコア14

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問