博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于“MVC”框架集设计模式,利用 DBHelper实现查询数据库功能
阅读量:5227 次
发布时间:2019-06-14

本文共 3611 字,大约阅读时间需要 12 分钟。

(1)连接好mysql数据库,如果无法连接,先打开mysql服务。新建一个数据库,名字为text,在新建一个数据表,名字为user,添加三个字段:用户ID、用户名和密码。

                       

(2)新建 web 项目UserManager,根据MVC模型的设计,建立四个包:beans、DAO、DBHelper、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)在beans包中新建class,名字为User,建好私有实体类,并且要与数据库中的字段名一致,添加需要的get和set方法。

package beans;public class User{    private String    userID;    private String    userName;    private String    password;    public void setUserID(String userID){        this.userID=userID;    }    public String getUserID(){        return userID;    }    public void setUserName(String userName){        this.userName=userName;    }    public String getUserName(){        return userName;    }    public void setpassword(String password){        this.password=password;    }    public String getpassword(){        return password;    }}

(4) 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;}     }}

(5)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 {    }}

(6)JSP页面:主要是创建一个表单,利用List循环,接收servlet处理好的表单及字段。 

<%    List
users= (List
)session.getAttribute("users"); out.print("
"); out.print("
"); for(User u : users) { out.print("
"); out.print("
"); out.print("
"); out.print("
"); out.print("
"); } out.print("
用户ID 用户名 密码
"+u.getUserID()+" "+u.getUserName()+" "+u.getpassword()+"
"); %>

(7)开始运行(调试)

运行UserServlet,他将自动跳转到user.jsp,如果直接执行user.jsp,结果无法传输,则没有任何内容出现。运行结果如图,与数据库的内容一致,表示成功。

 

转载于:https://www.cnblogs.com/Believer/p/5264343.html

你可能感兴趣的文章
(动态改变数据源遇到的问题)ORACLE11g:No Dialect mapping for JDBC type: -9解决方案
查看>>
HDU 1285 确定比赛名次(拓扑排序模板)
查看>>
rest_framework-版本-总结完结篇
查看>>
strong和copy的区别
查看>>
MySQL 之 表操作
查看>>
Linux下phpsh安装与使用
查看>>
Ubuntu14.04+eclipse下cocos2d-x3.0正式版环境的搭建
查看>>
iOS UIScrollView的嵌套使用(仿穷游主界面的实现)
查看>>
mac 如何显示隐藏文件和.点开头文件?
查看>>
AddChildViewController
查看>>
C#解压或压缩文件夹
查看>>
有关软件工程与计算机科学的区别
查看>>
struts入门
查看>>
Android基础(五) Service全解析----看不见的Activity
查看>>
以Settings.APPLICATION_DEVELOPMENT_SETTINGS打开开发人员面板出错总结
查看>>
前端CSS
查看>>
java中如何将字符串数组转换成字符串(转)
查看>>
出售wordpress 博客群发插件一份 100元不还价
查看>>
01背包 模板2
查看>>
android studio debug
查看>>