小さいケース-MVCで学生を検索する機能を実現する
目的:MVCアーキテクチャを熟知し、JDBC、接続プールとdaoを復習する.
構想:MVC+jdbc(接続プール)学生クエリーを実現する.
M:JavaBeans
V:JSP(JSTL用)
C:servlet
部分コードを貼る
JavaBeansセクション:Studioの実装クラス
StudentDaoImpl.java
JSPセクション:
find_student.jsp
servletセクション:
MainServlet.java
構想: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);
}
}
}