DBからテーブルを引っ張ってきて、Javaのほうで出力させたい(全件検索)のですが、表の中身を表示させることが出来ません。
手順と致しましては、ログインしてからメニュー画面に遷移しメニュー画面から商品一覧表示画面に遷移するとすると言ったかた形です。
環境は
・JSP
・Java
・Tomcat
・MYSQL
です。
java
1package model.dao; 2 3import java.sql.Connection; 4import java.sql.PreparedStatement; 5import java.sql.ResultSet; 6import java.sql.SQLException; 7import java.util.ArrayList; 8import java.util.List; 9 10import model.entity.UserBean; 11 12public class UserDAO { 13 14 public static Object find; 15 16 /* 17 * ログイン認証 18 * 19 */ 20 public boolean login(String customer_id, String password) throws SQLException, ClassNotFoundException { 21 String sql = "SELECT * from m_customer WHERE customer_id=? AND password=?"; 22 23 try (Connection con = ConnectionManager.getConnection(); 24 PreparedStatement pstmt = con.prepareStatement(sql)) { 25 26 pstmt.setString(1, customer_id); 27 pstmt.setString(2, password); 28 29 ResultSet res = pstmt.executeQuery(); 30 31 while (res.next()) { 32 return true; 33 } 34 35 } 36 37 return false; 38 } 39 40 //商品一覧表示 41 public List<UserBean> itemAll() throws SQLException, ClassNotFoundException { 42 43 List<UserBean> list = new ArrayList<UserBean>(); 44 45 //商品名、価格を取得 46 String sql = "SELECT ja.item_nm, se.price \r\n" 47 + "FROM shopping_db.m_sales_item se \r\n" 48 + "inner join shopping_db.m_jancode ja \r\n" 49 + "on se.jan_cd = ja.jan_cd;"; 50 51 try (Connection con = ConnectionManager.getConnection(); 52 PreparedStatement pstmt = con.prepareStatement(sql)) { 53 54 ResultSet res = pstmt.executeQuery(); 55 56 while (res.next()) { 57 String item = res.getString("item_nm"); 58 int price = res.getInt("price"); 59 60 UserBean userbean = new UserBean(); 61 userbean.setItem_nm(item); 62 userbean.setPrice(price); 63 64 list.add(userbean); 65 66 } 67 68 } 69 70 return list; 71 } 72 73// public String cartAdd(String item_nm)throws SQLException, ClassNotFoundException { 74// String message = ""; 75// 76// String sql = "SELECT ja.item_nm, se.price FROM shopping_db.m_sales_item se inner join shopping_db.m_jancode ja on se.jan_cd = ja.jan_cd;"; 77// 78// 79// 80// 81// 82// return; 83// } 84// 85} 86
jsp
1<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8" 3 import="model.entity.UserBean,java.util.List, java.util.ArrayList"%> 4<!DOCTYPE html> 5<html> 6<head> 7<meta charset="UTF-8"> 8<title>商品一覧</title> 9</head> 10<body> 11 <% 12 List<UserBean> itemList = (List<UserBean>) request.getAttribute("itemList"); 13 14 if (itemList.size() != 0) { 15 %> 16 <h3>ユーザ一覧</h3> 17 18 <table> 19 <tr> 20 <th>商品名</th> 21 <th>価格</th> 22 </tr> 23 <% 24 for (UserBean user : itemList) { 25 %> 26 <tr> 27 <td><%=user.getItem_nm()%></td> 28 <td><%=user.getPrice()%></td> 29 </tr> 30 <% 31 } 32 %> 33 </table> 34 <% 35 } else { 36 %> 37 ユーザー情報がありません。 38 <br> 39 <% 40 } 41 %> 42 43 44 45 46 47 <%-- 48 List<String> itemCode = new ArrayList<String>(); 49 itemCode.add("A10000 "); 50 itemCode.add("B10000 "); 51 itemCode.add("C10000 "); 52 53 List<String> item = new ArrayList<String>(); 54 item.add("ハンバーグ弁当 "); 55 item.add("野菜サラダ "); 56 item.add("野菜ジュース "); 57 58 List<String> price = new ArrayList<String>(); 59 price.add("300"); 60 price.add("200"); 61 price.add("100"); 62 --%> 63 <%-- 64 <table> 65 <caption>商品一覧</caption> 66 <tr> 67 <th>商品コード</th><th>商品名</th><th>価格</th> 68 </tr> 69 <% 70 for(int i=0;i<itemCode.size();i++){ 71 %> 72 <tr> 73 <td><%=itemCode.get(i) %></td><td><%=item.get(i) %></td><td><%=price.get(i) %></td> 74 </tr> 75 <% 76 } 77 %> 78 79 </table> 80 --%> 81</body> 82</html>
servlet
1ItemListServlet.java 2昨日 3木 17:43 4 5アイテムを 1 個アップロードしました 6Java 7ItemListServlet.java 8アクティビティの記録がありません 9package servlet; 10 11import java.io.IOException; 12import java.util.List; 13 14import javax.servlet.RequestDispatcher; 15import javax.servlet.ServletException; 16import javax.servlet.annotation.WebServlet; 17import javax.servlet.http.HttpServlet; 18import javax.servlet.http.HttpServletRequest; 19import javax.servlet.http.HttpServletResponse; 20import javax.servlet.http.HttpSession; 21 22import model.dao.UserDAO; 23import model.entity.UserBean; 24 25@WebServlet("/itemlistservlet") 26public class ItemListServlet extends HttpServlet { 27 private static final long serialVersionUID = 1L; 28 29 /** 30 * @see HttpServlet#HttpServlet() 31 */ 32 public ItemListServlet() { 33 super(); 34 // TODO Auto-generated constructor stub 35 } 36 37 /** 38 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 39 */ 40 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 41 // TODO Auto-generated method stub 42 response.getWriter().append("Served at: ").append(request.getContextPath()); 43 } 44 45 /** 46 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 47 */ 48 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 49 50 String url = null; //画面遷移先 51 52 // セッションオブジェクトの取得 53 HttpSession session = request.getSession(); 54 55 56 //ログイン認証済みかどうかを確認 57 if (session.getAttribute("userid") != null) { 58 // 認証 59 try { 60 UserDAO userDao = new UserDAO(); 61 List<UserBean> userList = userDao.itemAll(); 62 request.setAttribute("userList",userList); 63 url = "item-list.jsp"; 64 }catch(Exception e){ 65 e.printStackTrace(); 66 } 67 68 }else { 69 //未承認 70 url = "login.html"; 71 } 72 73 // リクエストの転送 74 RequestDispatcher rd = request.getRequestDispatcher(url); 75 rd.forward(request, response); 76 } 77 78}
よろしくお願いします。


回答1件
あなたの回答
tips
プレビュー