基于"MVC"框架,利用DBHlper连接并查询数据库
1.首先在file创建一个web project随便取个和以前不重复的名字,如图
2.根据MVC模型的设计,在新建的manage项目下,src建立四个包:entity、DAO、tools、servlet。将所需要的DBHelper导入新建Web项目的DBHelper中,注意要使数据库名字保持一致。将mysql-connector-java-5.1.24-bin.jar数据库连接驱动导入到该项目的WEB-INF的lib目录下。如图:

这里提到的 MVC----(Model View Controller)设计模型:
M:表示业务数据和业务规则。包括DAO(beans)、DBHelper(DBHelper),用于封装数据库连接,业务数据库处理。
V:是用户看到并与之交互的界面,比如 JSP 经常充当Web应用视图。
C:接收用户是输入并调用模型和视图去完成用户需求。
3.在entity包中新建class,名字为User,建好私有实体类,并且要与数据库中的字段名一致,添加需要的get和set方法。
package entity;
public class User {
private String userID,userName,password;
public String getUserID() {
return userID;
}
public void setUserID(String userID) {
this.userID = userID;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
5.DAO中需要新建一个类,用于执行SQL语句,并要定义 List 结果集来接收实体的各个属性。
package DAO;
import java.sql.*;
import java.util.*;
import DBHelper.DBHelper;
import beans.*;
public class userDAO {
public List getAllUser()
{
try
{
String SQL="SELECT * FROM user";
ResultSet rs=DBHelper.getResultSet(SQL);
List users=new ArrayList();
while (rs.next())
{
User u=new User();
u.setUserID(rs.getString("userID"));
u.setUserName(rs.getString("userName"));
u.setpassword(rs.getString("password"));
users.add(u);
}
return users;
}
catch (Exception ex) {
ex.printStackTrace();
return null;}
}
}
6.servlet 中新建的UserServlet将它本身具有的必要的方法定义好,但是由于自己只具备处理事务的特性,不具备显示的功能,所以要把多余的输出语句删除,并且使得doGet方法也执行doPost方法。调试代码时,如果servlet没有响应,可以先将写好的代码注释,在servlet中打印一句话,以便于检测servlet是否有效。
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
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.userDAO;
public class UserServlet extends HttpServlet {
public UserServlet() {
super();
}
public void destroy() {
super.destroy();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
userDAO dao=new userDAO();
List users=dao.getAllUser();
request.getSession().setAttribute("users", users);
response.sendRedirect("../user.jsp");
}
public void init() throws ServletException {
}
}
7.JSP页面:主要是创建一个表单,利用List循环,接收servlet处理好的表单及字段。
<body>
<%
List<User> users= (List<User>)session.getAttribute("users");
out.print("<table border=1>");
out.print("<tr><td>用户ID</td><td>用户名</td><td>密码</td></tr>");
for(User u : users)
{
out.print("<tr>");
out.print("<td>"+u.getUserID()+"</td>");
out.print("<td>"+u.getUserName()+"</td>");
out.print("<td>"+u.getpassword()+"</td>");
out.print("</tr>");
}
out.print("</table>");
%>
</body>
8.找到jsp主页点击运行就成功查询到数据库了


浙公网安备 33010602011771号