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更新语句,到数据库修改。提示修改成功。没有,提示用户名错误,重新输入。页面跳转。
jsp+Servlet+JavaBean+JDBC+MySQL项目增删改查的更多相关文章
- JSP+Servlet+JavaBean实现数据库的增删改查
基本思想:JSP文件显示页面,使用form或href超链接传值到Servlet中方法,在Servlet方法中调用Dao层的类对象,实现对数据库里的数据的增删改查,之后重新返回到JSP输出操作完的结果. ...
- 创建jsp+Servlet+JavaBean+JDBC+MySQL项目的过程
1 根据需求建立Mysql数据,确立数据库的表的字段.属性.主键,外键等.下面我使用的数据库名dev ,表名user,字段 name,设置为主键.用户名不能为空,字段password,密码 2 在E ...
- web项目总结——通过jsp+servlet实现对oracle的增删改查功能
1.DAO模式 分包:依次建立 entity:实体包,放的是跟oracle数据库中表结构相对应的对象的属性,也就是这个对象有什么 dao:增删改查接口,实现增删改查的具体方法 service:同dao ...
- jsp+servlet+javabean开发web项目
一.介绍: 项目依赖包:jdbc数据库包 jsp+servlet+javabean开发web项目,是最接近web项目原生运行原理的. 但是,jsp内容混乱,项目结构复杂时,代码会混乱 二.运行原理: ...
- mvc模式jsp+servel+jdbc oracle基本增删改查demo
mvc模式jsp+servel+jdbc oracle基本增删改查demo 下载地址
- Java连接MySQL数据库增删改查通用方法
版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...
- Asp.Net操作MySql数据库增删改查
Asp.Net操作MySql数据库增删改查,话不多说直接步入正题.git源码地址:https://git.oschina.net/gxiaopan/NetMySql.git 1.安装MySQL数据库 ...
- 使用MySQL练习增删改查时因为版本问题出现连接错误
使用MySQL练习增删改查时出现连接错误,错误提示如下: 2020-02-19 19:53:51.088 ERROR 16328 --- [reate-249798694] com.alibaba.d ...
- koa+mysql实现增删改查-全栈之路(001)
Date: 2020-4-23 以前很少写文章,从今天开始我要挑战一下自己,连续输出100篇技术类文章.这100篇文章我尽量以实战案例为主. 如果你觉得本文还不错,记得关注或者给个 star,你们的赞 ...
随机推荐
- Python——面向对象、绑定对象、组合
1. 面向过程VS面向对象 (1)面向过程 核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了写程序的复杂 ...
- 【python】网络编程-SocketServer 实现客户端与服务器间非阻塞通信
利用SocketServer模块来实现网络客户端与服务器并发连接非阻塞通信.首先,先了解下SocketServer模块中可供使用的类:BaseServer:包含服务器的核心功能与混合(mix-in)类 ...
- 管道和FIFO 一
管道和FIFO 管道(pipe) 管道在Unix及Linux进程间通信是最基础的,很容易理解.管道就像一个自来水管,一端注入水,一端放出水,水只能在一个方向上流动,而不能双向流动.管道 ...
- Python网络爬虫-xpath模块
一.正解解析 单字符: . : 除换行以外所有字符 [] :[aoe] [a-w] 匹配集合中任意一个字符 \d :数字 [0-9] \D : 非数字 \w :数字.字母.下划线.中文 \W : 非\ ...
- [转]NSIS:使用SectionSetFlags根据不同环境自动勾选特定区段
转自: http://www.flighty.cn/html/bushu/20140526_232.html 在微软SQL2000+SP4集成安装版安装包中可以根据目标操作系统自动勾选对应的版本, ...
- 1030 Travel Plan (30 分)
1030 Travel Plan (30 分) A traveler's map gives the distances between cities along the highways, toge ...
- tp5模型笔记---多对多
关联模型 一对一:HAS_ONE 以及对应的BELONEGS_TO 一对多:HAS_MANY 以及相对的BELONGS_TO 多对多:BELONGS_TO_MANY 步骤: 第一:创建Users模型 ...
- 同一个IP段ping不通同事的电脑
原因居然是同事的防火墙打开了. windows关闭防火墙的教程,请自行百度.
- 触屏设备上的多点触碰检测C++代码实现
转自:http://aigo.iteye.com/blog/2272698 代码还是参考自Epic官方的塔防项目:StrategyGame 看了下C++的API,现成的API中貌似只支持单点触碰检测, ...
- 试讲DOCKER专用
内容概要: DOCKER简介 为什么要用DOCKER DOCKER的应用场景 DOCKER基础 一 DOCKER简介 Docker是Docker.Inc公司开源的一个基于轻量级虚拟化技术的容器引擎项目 ...