MVC----(Model View Controller)设计模型:
M:表示业务数据和业务规则。包括DAO(beans)、DBHelper(DBHelper),用于封装数据库连接,业务数据库处理。
V:是用户看到并与之交互的界面,比如 JSP 经常充当Web应用视图。
C:接收用户是输入并调用模型和视图去完成用户需求。主要是Servlet
根据上面的分析可知:需要四个包(DBHlper、Servlet、beans、DAO)。
1. 将所需要的DBHelper导入新建Web项目的DBHelper中,注意要使数据库名字与url保持一致。
2.将mysql-connector-java-5.1.24-bin.jar数据库连接驱动导入到该项目的WEB-INF---->lib目录下。
3.在beans包中新建class(主要设置实体具有的属性,并且要与数据库中的字段名一致),添加需要的getter and setter方法。
4.DAO中需要新建一个类,用于执行SQL语句(增删查改),并要定义 List 结果集来接收实体的各个属性。
public class UserDAO {
public List getAllUser() throws SQLException{
String sql="select * from user";
ResultSet rs= DBHelper.getResultSet(sql);
List user = new ArrayList();
while(rs.next()){
user us = new user();
us.setUserID(rs.getString("userID"));
us.setUserName(rs.getString("userName"));
us.setPassword(rs.getString("password"));
user.add(us);
}
return user;
}
}
5.servlet 中新建的Servlet将它本身具有的必要的方法定义好,但是由于自己只具备处理事务的特性,不具备显示的功能,所以要把多余的 “out.print....”删除,并且使得doGet方法也执行doPost方法。核心代码如下:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
UserDAO dao=new UserDAO();
try{
List user= dao.getAllUser();
request.getSession().setAttribute("user", user);
response.sendRedirect("../user.jsp");
}catch(Exception e){
e.printStackTrace();
}
}
注:调试代码时,如果servlet没有响应,可以先将写好的代码注释,在最前面打印出一句明显的话,以便于检测servlet是否有效。
6.JSP页面:主要是创建一个表单,用于接收servlet处理好的表单及字段。核心代码如下:
<body>
<center>
<%
List<user> user=(List)session.getAttribute("user");
out.print("<table border=1>");
out.print("<tr><td>用户ID</td><td>用户名</td><td>用户密码</td></tr>");
for(user u:user){
out.print("<td>"+u.getUserID()+"</td>");
out.print("<td>"+u.getUserName()+"</td>");
out.print("<td>"+u.getPassword()+"</td>");
out.print("</tr>");
}
out.print("</table>");
%>
</center>
</body>
7.index.jsp:需要在首页连接一个超链接,以便于在访问项目(servlet/UserServlet)时,实现系统自动跳转到“user.jsp”,显示出所有表单内容
<body>
<a href ="servlet/UserServlet">用户信息</a>
</body>
8.运行(调试)
点击“Run as”开启服务,在地址栏输入项目名及Manger/servlet/UserServlet 即可自动跳转到"user.jsp",此时表单所有内容呈现,即验证成功!
9.总结:
检查程序无法运行的步骤;
1)新建项目,直接运行(直接检测系统有没有问题)
2)新建servlet并运行(可以检测到环境有没有问题,也可以把其他不
用的项目关闭或者重启MyEclipse)
3)写主函数测试DAO.确定连接数据库是否有问题。
4)jsp.要看web.xml里面是否配置好了servlet的路径。