• jsp+Servlet+JavaBean+JDBC+MySQL项目增删改查


    1简单的Mvc,分层建包。

    java resources

    src/mian/java

    (1)dao 包 JDBC连接类,连接数据库。增删改查方法,其他的方法。

    (2)model包 实体类,数据库字段,属性。

    (3)servlet 接收请求,响应处理。

    webapp

    (4)jsp页面

     */
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            String name = request.getParameter("name");

      获取浏览器请求参数
            String password1 = request.getParameter("password1");
            String password2 = request.getParameter("password2");
            // String nickname=request.getParameter("nickname");
            BaseDao dao = new BaseDao();
            if (dao.queryName(name)) {
                request.setAttribute("msg", "用户名已存在,请重新输入!");
                request.getRequestDispatcher("register.jsp").forward(request, response);
            } else {
                if (password1.equals(password2)) {
                    dao.add(name, password1);
                    request.setAttribute("msg", "注册成功");
                    request.getRequestDispatcher("login.jsp").forward(request, response);
                } else {
                    request.setAttribute("msg", "两次输入的密码不一致,请重新输入!");
                    //response.sendRedirect("register.jsp");//重定向
                    request.getRequestDispatcher("register.jsp").forward(request, response);
                }
            }
        }

    2注册页面,inerst 插入增加数据

    在register.jsp,from表单组件,提交方式,post页面输入要注册的用户名,jsp内置对象request,把请求参数name属性值到RegisterRervelt,request.getParameter(String name)方法获取提交数据,dao连接数库到数据库使用SQLselect查询方法用户名是否存在。如果存在,提示,使用request.setAttribute("msg", "用户名已存在,请重新输入!");方法传递参数提示到页面。request.getRequestDispatcher("register.jsp").forward(request, response);转发页面。<c:if test="${not empty    requestScope.msg}"><p>${requestScope.msg}</p></c:if>获取传递参数,在register.jsp页面显示。注意在页面顶部导入jstl库标签,<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

    名字可以使用,不一致提示。密码一致,执行调用dao包里插入方法,SQL语句,向Mysql数据库User用户表增加用户名。注册成功。页面跳转到登录页面。login.jsp

    rotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            response.setContentType("text/html;charset=UTF-8"); // 设置响应编码
            // 取得请求的参数
            String name = request.getParameter("name");
            String password = request.getParameter("password");
            dao.BaseDao dao=new dao.BaseDao();
                    
            if (dao.hasUser(name)) {

                if (dao.isLegalUser(name, password)) {
                    request.setAttribute("msg", "用户" + name + "登录成功");
                    request.getRequestDispatcher("logined.jsp").forward(request, response);
                } else {
                    request.setAttribute("msg", "密码错误,请重新输入!");
                    request.getRequestDispatcher("login.jsp").forward(request, response);
                }

            } else {
                // 用户不存在
                response.sendRedirect("index.jsp");
            }
        }

    3 登录页面,select 查询数据库

    在login.jsp,页面输入用户名,LoiginServlet获取请求参数,调用dao包查询方法数据库是否有相同的名字对比,有相同的接着输入密码。在查询一次用户名和密码有效一致。用户登录成功,跳转登录成功页面。

    数据库里查询不到,提示用户名不存在。转发页面跳转,重新输入。

    rotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            response.setContentType("text/html;charset=UTF-8"); // 设置响应编码
            // 取得请求的参数
            String name = request.getParameter("name");
            String password = request.getParameter("password");
            dao.BaseDao dao=new dao.BaseDao();
                    
            if (dao.hasUser(name)) {

                if (dao.isLegalUser(name, password)) {
                    request.setAttribute("msg", "用户" + name + "登录成功");
                    request.getRequestDispatcher("logined.jsp").forward(request, response);
                } else {
                    request.setAttribute("msg", "密码错误,请重新输入!");
                    request.getRequestDispatcher("login.jsp").forward(request, response);
                }

            } else {
                // 用户不存在
                response.sendRedirect("index.jsp");
            }
        }

    4删除数据,delete

    在删除页面delete.jsp,输入用户名,DeleteServletequest.getParameter("name");调用dao包查询方法到数据库查询是否存在,存在调用delet删除方法,删除数据库里对应的用户名数据。提示删除成功。否则提示没有这个用户。页面跳转。

    // 取得请求的参数
            String name = request.getParameter("name");
            String name2=request.getParameter("name2");
            String password = request.getParameter("password");
            dao.BaseDao dao=new dao.BaseDao();
                    
            if (dao.hasUser(name)) {

                if (dao.updateUser(name, password,name2)) {
                    request.setAttribute("msg", "用户" + name2 + "更新成功");
                    request.getRequestDispatcher("update.jsp").forward(request, response);
                } else {
                    //request.setAttribute("msg", "密码错误,请重新输入!");
                    System.out.println("修改未成功");
                    request.getRequestDispatcher("update.jsp").forward(request, response);
                }

            } else {
                // 用户不存在
                request.setAttribute("msg", "用户" + name + "不存在");
                request.getRequestDispatcher("update.jsp").forward(request, response);
            }
        }

    5  更新用户名,update

    在update.jsp页面,输入用户名,UpdateServlet使用getParameter("name")方法获取参数,到数据库查询。有,输入修改的用户名和密码。把参数传给dao包的更新方法。执行SQL更新语句,到数据库修改。提示修改成功。没有,提示用户名错误,重新输入。页面跳转。

  • 相关阅读:
    CSP2020 游记
    React中useLayoutEffect和useEffect的区别
    Vue前后端分离跨域踩坑
    Python 正则将link 和 script 处理为 Django static形式
    BootStrap4
    单例模式
    匈牙利算法——求二部图的最大匹配的匹配数
    抽象工厂模式
    工厂方法模式
    JDK配置步骤
  • 原文地址:https://www.cnblogs.com/TangGe520/p/8639602.html
Copyright © 2020-2023  润新知