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更新语句,到数据库修改。提示修改成功。没有,提示用户名错误,重新输入。页面跳转。

jsp+Servlet+JavaBean+JDBC+MySQL项目增删改查的更多相关文章

  1. JSP+Servlet+JavaBean实现数据库的增删改查

    基本思想:JSP文件显示页面,使用form或href超链接传值到Servlet中方法,在Servlet方法中调用Dao层的类对象,实现对数据库里的数据的增删改查,之后重新返回到JSP输出操作完的结果. ...

  2. 创建jsp+Servlet+JavaBean+JDBC+MySQL项目的过程

    1 根据需求建立Mysql数据,确立数据库的表的字段.属性.主键,外键等.下面我使用的数据库名dev ,表名user,字段  name,设置为主键.用户名不能为空,字段password,密码 2 在E ...

  3. web项目总结——通过jsp+servlet实现对oracle的增删改查功能

    1.DAO模式 分包:依次建立 entity:实体包,放的是跟oracle数据库中表结构相对应的对象的属性,也就是这个对象有什么 dao:增删改查接口,实现增删改查的具体方法 service:同dao ...

  4. jsp+servlet+javabean开发web项目

    一.介绍: 项目依赖包:jdbc数据库包 jsp+servlet+javabean开发web项目,是最接近web项目原生运行原理的. 但是,jsp内容混乱,项目结构复杂时,代码会混乱 二.运行原理: ...

  5. mvc模式jsp+servel+jdbc oracle基本增删改查demo

    mvc模式jsp+servel+jdbc oracle基本增删改查demo 下载地址

  6. Java连接MySQL数据库增删改查通用方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...

  7. Asp.Net操作MySql数据库增删改查

    Asp.Net操作MySql数据库增删改查,话不多说直接步入正题.git源码地址:https://git.oschina.net/gxiaopan/NetMySql.git  1.安装MySQL数据库 ...

  8. 使用MySQL练习增删改查时因为版本问题出现连接错误

    使用MySQL练习增删改查时出现连接错误,错误提示如下: 2020-02-19 19:53:51.088 ERROR 16328 --- [reate-249798694] com.alibaba.d ...

  9. koa+mysql实现增删改查-全栈之路(001)

    Date: 2020-4-23 以前很少写文章,从今天开始我要挑战一下自己,连续输出100篇技术类文章.这100篇文章我尽量以实战案例为主. 如果你觉得本文还不错,记得关注或者给个 star,你们的赞 ...

随机推荐

  1. mySQL 教程 第2章 安装和介绍mySQL

    设置mySQL字符集 支持中文的字符集是utf8,该设置可以更改mySQL配置文件进行全局设置,也可以针对数据库设置,也可以针对表设置,也可以针对列设置.字符集更改后新插入的数据生效,对以前不生效. ...

  2. 10个CSS+HOVER 的创意按钮

    CSS hover 样式很简单,但是想创造出有意思.实用.有创意性的特效是很考验设计师的创意能力,所以设计达人每隔一段时间都会分享一些与鼠标点击.悬停的相关特效,以便大家获得更好的创造灵感. 今天我们 ...

  3. 如何更改tomcat7及以上版本内存设置

    http://jingyan.baidu.com/article/295430f1c22a940c7e0050fb.html?qq-pf-to=pcqq.c2c 当在tomcat的webapps文件夹 ...

  4. java Map实例

    此段资料在自于<黑马程序员_毕向东_Java基础视频教程第16天-06-集合(Map练习)> HashMap 如果对象可能会产生很多对象,可能就会需要存储,就有可能会存到hashSet(哈 ...

  5. BASIC-28_蓝桥杯_Huffuman树

    题目: 问题描述 Huffman树在编码中有着广泛的应用.在这里,我们只关心Huffman树的构造过程. 给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下 ...

  6. 汽车收费 C++ PTA

    7-1 汽车收费(10 分) 现在要开发一个系统,管理对多种汽车的收费工作. 给出下面的一个基类框架 class Vehicle { protected: string NO;//编号 public: ...

  7. [转]NSIS:安装、卸载时检查程序是否正在运行

    原文链接 http://www.flighty.cn/html/bushu/20110402_115.html 如果我们要安装或升级的程序正在运行,文件肯定会替换失败,以下代码可以提示用户结束正在运行 ...

  8. linux查看各服务状态以及开启和关闭

    1.......................................... 友好的显示所有服务的运行状态: service --status-all chkconfig --list 2. ...

  9. [UE4]UE4中的常见类

    一.Actor:可以放在世界中物体 二.Pawn:可以接受Controller输入的Actor 三.Character:是一个可以行走.跑.跳等行为的Pawn 四.Controller:没有物理表现的 ...

  10. crunch字典生成

    密码破解基本有三种方法:第一种是人工猜解(垃圾桶工程和被动信息收集): 第二种是基于字典暴力破解(主流) 在kali里,是默认自带了字典的,分别放在下面三个文件中:/usr/share/wordlis ...