[JavaWeb基础] 004.用JSP + SERVLET 进行简单的增加删除修改
上一次的文章,我们讲解了如何用JAVA访问MySql数据库,对数据进行增加删除修改查询。那么这次我们把具体的页面的数据库操作结合在一起,进行一次简单的学生信息操作案例。
首先我们创建一个专门用于学生管理的ManageServlet。
接着我们需要一个展现数据的页面,也就是 UserList.jsp
<%@page import="com.babybus.sdteam.vo.Student"%>
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>学生信息管理</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
<%=basePath %>
<table border="1" width="100%" >
<tr>
<th>uid</th>
<th>学生姓名</th>
<th>年龄</th>
<th>班级</th>
<th>操作</th>
</tr>
<%
// 获取学生列表数据
List<Student> lsUser=(List)request.getAttribute("students");
if(lsUser==null||lsUser.size()==0){
pageContext.setAttribute("theUser","1");
}else{
// 遍历列表生成表格数据
for(int i=0;i<lsUser.size();i++){
pageContext.setAttribute("theUser",lsUser.get(i));
%>
<tr>
<td>${theUser.id}</td>
<td>${theUser.studentname}</td>
<td>${theUser.age}</td>
<td>${theUser.classname}</td>
<td>
<a href="AddUser.jsp?id=${theUser.id}">修改<a/>|
<a href="Mangage?method=del&userid=${theUser.id}" onclick="return confirm('确定要删除么?')" }>删除</a>
</td>
</tr>
<%
}
}
%>
</table>
<a href="AddUser.jsp">增加<a/>
</body>
</html>
接下来我们需要一个进行增加修改的页面AddUser.jsp
<%@page import="com.babybus.sdteam.bo.ManageServlet"%>
<%@page import="com.babybus.sdteam.vo.Student"%>
<%@page import="com.babybus.sdteam.bo.LoginServlet"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'AddUser.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="学生信息管理">
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
<%
String id= request.getParameter("id");
if(id!=null){
ManageServlet loginServlet =new ManageServlet();
Student student = loginServlet.getStudentById(id);
pageContext.setAttribute("theUser",student);
pageContext.setAttribute("method","update");
pageContext.setAttribute("title","修改");
}
else{
pageContext.setAttribute("method","add");
pageContext.setAttribute("title","添加");
}
%>
<form action="Mangage?method=${method}" method="post" >
<input type="hidden" name="userid" value="${theUser.id}">
<table width="100%" height="200px" border="1">
<tr>
<td colspan="2">${title}</td>
</tr>
<tr>
<td align="right">学生名</td>
<td>
<input type="text" name="studentname" value="${theUser.studentname}">
</td>
</tr>
<tr>
<td align="right">年龄:</td>
<td>
<input type="text" name="age" value="${theUser.age}">
</td>
</tr>
<tr>
<td align="right">班级:</td>
<td>
<input type="text" name="classname" value="${theUser.classname}">
</td>
</tr>
<tr>
<td colspan='2' align="center">
<input type="submit" value="保存" name="btnSubmit">
<input type="reset" value="重置" name="btnCancel">
</td>
</tr>
</table>
</form>
</body>
</html>
有了页面支撑,我们需要后台的Servlet进行数据处理转发
/**
* 业务处理
* @param req
* @param rep
* @throws IOException
* @throws ServletException
*/
public void process(HttpServletRequest req,HttpServletResponse rep) throws ServletException, IOException {
String method = req.getParameter("method");
System.out.println("操作:" + method);
Student student = new Student();
if(!"del".equals(method)) {
// 进行编码转换,避免中文乱码
String studentname = new String(req.getParameter("studentname").getBytes("ISO-8859-1"),"utf-8");
int age = Integer.parseInt(req.getParameter("age"));
String classname = new String(req.getParameter("classname").getBytes("ISO-8859-1"),"utf-8");
student.setStudentname(studentname);
student.setAge(age);
student.setClassname(classname);
} StudentDao dao = new StudentDao();
// 修改
if("update".equals(method)) {
String id = req.getParameter("userid");
student.setId(Integer.parseInt(id));
try {
dao.updateStudent(student);
} catch (SQLException e) {
e.printStackTrace();
}
}
// 增加
else if("add".equals(method)) {
try {
dao.insertStudent(student);
} catch(SQLException e) {
e.printStackTrace();
}
}
// 删除
else if("del".equals(method)) {
try {
String id = req.getParameter("userid");
dao.deleteStudent(Integer.parseInt(id));
}catch (SQLException e) {
e.printStackTrace();
}
} ManageServlet manageservlet = new ManageServlet();
// 获取全部列表
List<Student> resultlist = manageservlet.getStudentByCondition(null);
req.setAttribute("students", resultlist);
RequestDispatcher dispatcher = req.getRequestDispatcher("UserList.jsp");
dispatcher.forward(req, rep);
}
上面就是全部的增加删除修改的代码。下面给出两个页面的截图效果
通过上面的例子我们就可以很好的掌握了J2EE的入门
结语
- 受益,掌握了J2EE的入门
本站文章为宝宝巴士 SD.Team原创,转载务必在明显处注明:(作者官方网站:宝宝巴士)
转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4579275.html
[JavaWeb基础] 004.用JSP + SERVLET 进行简单的增加删除修改的更多相关文章
- javaweb练手项目jsp+servlet简易购物车系统
简易购物车项目 这是一个用intellij IDEA做的简易的javaweb项目,开发环境使用的jdk1.8和tomcat8以及mysql数据库. 1.项目开发准备: 创建github仓库 项目框架搭 ...
- jsp/servlet实现简单上传和下载
使用JSP/Servlet简单实现文件上传与下载 jsp上传页面代码: <%@ page language="java" import="java.util.*&q ...
- javaweb基础(22)_Servlet+JSP+JavaBean实战登陆
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- IDEA+JSP+Servlet+Tomcat简单的登录示例
1.用IDEA新建Java WEB项目并配置Tomcat 这一部分可以参考之前的一篇随笔 https://www.cnblogs.com/lbhym/p/11496610.html 2.导入Servl ...
- jsp+servlet+mysql简单实现用户登陆注册
原码,项目中遇到的错误,解决方法,文章最后有链接可以获取 项目简介 *有的网友说在修改和删除时会触发error,建议各位不要去把用户名命名为中文! 功能描述 登陆,注册,用户一览表,修改,删除,添加, ...
- jsp+servlet的简单实现
开发环境 tomcat7.0,MyEclipse 10 1.建一个简单的Web Project ,项目名jspServlet: 2.在src目录下建一个package ,为com.fandy.serv ...
- [JavaWeb基础] 007.Struts2的配置和简单使用
1.框架简介 采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架,用于快速开发Java Web应用.Struts实现的重点在C(Controller), ...
- JSP+Servlet+mysql简单示例【图文教程】
下载MYSQL:http://dev.mysql.com/downloads/ 下载安装版的 然后安装(安装步骤就不详细说了) 安装好之后,点击托盘图标,打开管理工具 创建一个数据库 数据库的名字 ...
- [JavaWeb基础] 006.Struts1的配置和简单使用
1.框架简介 采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架,用于快速开发Java Web应用.Struts实现的重点在C(Controller), ...
随机推荐
- Top 命令数据分析
一.top 命令详解 当前时间 20:27:12 当前系统运行时间 3:18秒 1个用户 系统负载平均长度为 0.00,0.00,0.00(分别为1分钟.5分钟.15分钟前到现在的平均值) 第二行为进 ...
- 关于C primer plus 的学习计划(暂停)
最近想学数据结构,但是C的基础不够好,想借着C primer plus补一下基础.怎料第一章看的还挺快,到第二章看了二十多天.现在改改阅读方式:每日在这里添加进度,然后精看例题习题和章总结,其它简略看 ...
- pycharm 新建文件后选错文件格式怎么改
经常在新建文件的时候,忘记填写文件后缀,导致文件无默认格式,而且同名字的文件怎么改都改不成想要的格式,所以随手记录一下怎么修正: 原因:肯定是pycharm已经默认指定了一个格式,所以再重复新建同样名 ...
- Alink漫谈(一) : 从KMeans算法实现不同看Alink设计思想
Alink漫谈(一) : 从KMeans算法实现不同看Alink设计思想 目录 Alink漫谈(一) : 从KMeans算法实现不同看Alink设计思想 0x00 摘要 0x01 Flink 是什么 ...
- Flutter 1.17版本重磅发布
Flutter 1.17 是2020年的第一个稳定版本,此版本包括iOS平台Metal支持(性能更快),新的Material组件,新的Network跟踪工具等等! 对所有人来说,今年是充满挑战的一年. ...
- [蓝桥杯2018初赛]小朋友崇拜圈(dfs找环)
传送门 思路: 题意大意:n条有向边,找出最大环. 我们发现,如果一个小朋友没有被任何人崇拜,那么他一定不位于环中.为此我们可以设置一个indug数组预处理.如果2被崇拜了那么indug[2]就加加, ...
- Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.wrapRefArray([Ljava/lang/Object;)Lscala/collection/mutable/WrappedArray
我是在用akka框架做简单的一个聊天,然而出师不利,刚开始学就遇到这个问题 遇事不决问百度,百度给出的结果是spark中scala版本和你使用的scala的版本不一致,所导致的错误 我用的是akka, ...
- Synchronized加锁、锁升级和java对象内存结构
首先了解一下JMM中定义的内存操作: 一个线程操作数据时候都是从主内存(堆内存)读取到自己工作内存(线程私有的数据区域)中再进行操作.对于硬件内存来说,并没有工作内存和主内存的区分,这都是java内存 ...
- .NET分离exe和dll在不同的目录让你的程序更整洁
1.引言 在一个项目开发中一般都是把引用的dll放在根目录下,随着项目的日益增大,根目录下的dll文件就会越来越多,合理规划这些dll的存放地址,可以使整个项目更加的规范与美观.这篇文章就为大家介绍关 ...
- python小游戏-pygame模块
一.tkinter模块的GUI 基本上使用tkinter来开发GUI应用需要以下5个步骤: 导入tkinter模块中我们需要的东西. 创建一个顶层窗口对象并用它来承载整个GUI应用. 在顶层窗口对象上 ...