小さいケース-MVCで学生を検索する機能を実現する


目的:MVCアーキテクチャを熟知し、JDBC、接続プールとdaoを復習する.
構想:MVC+jdbc(接続プール)学生クエリーを実現する.
M:JavaBeans
V:JSP(JSTL用)
C:servlet
部分コードを貼る
JavaBeansセクション:Studioの実装クラス
StudentDaoImpl.java
package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import util.DBUtil;

import entity.Student;

public class StudentDaoImpl implements StudentDao {

	@Override
	public List getAll() {
		List list = new ArrayList();
		
		Integer snum = null;
		String sname = null;
		Integer sgrade = null;
		Student stu = null;
	
		Connection con = null;
		try {			
			con = DBUtil.getConnection();
			
			String sql = "select * from student";
			
			PreparedStatement ps = con.prepareStatement(sql);
			ResultSet rs = ps.executeQuery();
			
			while(rs.next()) {
				stu = new Student();
				snum = rs.getInt("snum");
				sname = rs.getString("sname");
				sgrade = rs.getInt("sgrade");
				stu.setSnum(snum);
				stu.setSname(sname);
				stu.setSgrade(sgrade);
				
				list.add(stu);
			}
		} catch (SQLException e) {
			throw new RuntimeException("      ");
		} finally {
			DBUtil.close(con);
		}
	System.out.println("    ");
		
		return list;
	}

}

JSPセクション:
find_student.jsp




	
		
		      
	
	
		
			 	
${student.snum } ${student.sname } ${student.sgrade }

servletセクション:
MainServlet.java
package web;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import dao.CostDao;
import dao.CostDaoImpl;
import entity.Cost;

public class MainServlet extends HttpServlet {

	@Override
	protected void service(
			HttpServletRequest req, 
			HttpServletResponse res)
			throws ServletException, IOException {
		req.setCharacterEncoding("utf-8");
	System.out.println(req.getRequestURI());
		if("/netctoss/findCost.do".equals(req.getRequestURI())) {
			CostDao dao = new CostDaoImpl();
			List list = dao.findAll();
			for(Cost c : list) {
				System.out.println(c.getName());
			}
				//       
			req.setAttribute("costs", list);
			System.out.println("    ");
			req.getRequestDispatcher("WEB-INF/cost/find.jsp").forward(req, res);
		}
	}

}