package jp.ac.kcska.questionsystem; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; @WebServlet("/ShowDBServlet") public class ShowDBServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession(); Mst_userVo userVo = (Mst_userVo)session.getAttribute("userVo"); int userid = userVo.getId(); int categoryid = Integer.parseInt(request.getParameter("categoryid")); ArrayList recordlist = execute(userid,categoryid); session.setAttribute("Recordlist", recordlist); RequestDispatcher dispatcher = request.getRequestDispatcher("/detailrecord.jsp"); dispatcher.forward(request, response); } private ArrayList execute(int userid,int categoryid) { ArrayList recordlist = new ArrayList(); Connection connect = getConnection(); PreparedStatement stmt = null; ResultSet rslt = null; try { String sql = "select * from recordview where (userid=?) and (categoryid=?)"; stmt=connect.prepareStatement(sql); stmt.setInt(1, userid); stmt.setInt(2, categoryid); rslt = stmt.executeQuery(); while(rslt.next()){ RecordviewVo rec = new RecordviewVo(); rec.setId(rslt.getInt("id")); rec.setUserid(rslt.getInt("userid")); rec.setUsername(rslt.getString("username")); rec.setCategoryid(rslt.getInt("categoryid")); rec.setCategoryname(rslt.getString("categoryname")); rec.setExamid(rslt.getInt("examid")); rec.setExamname(rslt.getString("examname")); rec.setDate(rslt.getTimestamp("date")); rec.setScore(rslt.getInt("score")); recordlist.add(rec); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } finally { try { stmt.close(); connect.close(); } catch (Exception e2) { // TODO: handle exception e2.printStackTrace(); } } return recordlist; } private static Connection getConnection(){ Connection connect =null; try { connect = DriverManager.getConnection( "jdbc:mysql://localhost/questionsystem", "root", "mysql"); connect.setAutoCommit(false); } catch (SQLException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } return connect; } }