1.开始页面(查询数据)

 <%@page import="com.zdsofe.work.Student"%>
<%@page import="java.util.List"%>
<%@page import="com.zdsofe.work.ReadData"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<% ReadData rd=new ReadData();
List<Student> list= rd.findInfo();
%> <table border="1">
<tr>
<th>序号</th>
<th>名字</th>
<th>密码</th>
<th>操作</th>
</tr> <%
for(int i=0;i<list.size();i++)
{
%>
<tr>
<td><%=list.get(i).getId()%></td>
<td><%=list.get(i).getUserName()%></td>
<td><%=list.get(i).getMima()%></td>
<td><a href="../servlet?userN=<%=list.get(i).getUserName()%>">修改</a>
<a href="../DeleteServlet?userI=<%=list.get(i).getId()%>">删除</a>
</td>
</tr>
<%
}
%> </table>
</body>
</html>

2.获取数据的servlet

 package com.zdsofe.work;

 import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession; import com.zdsofe.util.DBUtil; /**
* Servlet implementation class servlet
*/
@WebServlet("/servlet")
public class servlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public servlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//解决乱码问题
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html charset=utf-8"); //获取用户名:
String userName = request.getParameter("userN"); //根据用户名查询某一条用户信息
Student stu=ReadData.findUserByName(userName);
HttpSession session = request.getSession();
session.setAttribute("user", stu);
session.setAttribute("title", "修改用户");
response.sendRedirect("/webProject2/pages/edit.jsp");
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } }

3.修改页面

 <%@page import="com.zdsofe.work.Student"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head> <%
//获取用户信息
Student stu=(Student)session.getAttribute("user");
%>
<body> <form action="../EditServlet" method="get"> 用户名:<input type="text" name="userName" value="<%=stu.getUserName()%>"><br/>
密码:<input type="password" name="mima" value="<%=stu.getMima()%>"><br/>
<button type="submit">提交</button> </form> </body>
</html>

4.修改数据的servlet

 package com.zdsofe.work;

 import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.apache.commons.beanutils.BeanUtils; /**
* Servlet implementation class EditServlet
*/
@WebServlet("/EditServlet")
public class EditServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public EditServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//请求和响应页面的编码格式修改 request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html charset=utf-8");
/*//获取表单中的所用控件name属性
Enumeration<String> en = request.getParameterNames();
Map<String, Object> mapObj = new HashMap<>();
//实例化一个Student对象
Student stu=new Student();
while(en.hasMoreElements())
{
String rs = en.nextElement();
mapObj.put(rs, request.getParameter("rs"));
}
try {
BeanUtils.populate(stu, mapObj); } catch (IllegalAccessException | InvocationTargetException e) {
e.printStackTrace();
}*/
String name=request.getParameter("userName");
String mima=request.getParameter("mima");
Student stu=new Student(name,mima);
//根据条件修改用户信息,调用执行sql方法 int upResult = ReadData.update(stu); if(upResult==1)
{
response.sendRedirect(request.getContextPath()+"/pages/student.jsp");
} } /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
} }

5.删除数据的servlet

 package com.zdsofe.work;

 import java.io.IOException;
import java.sql.SQLException;
import java.sql.Statement; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.zdsofe.util.DBUtil; /**
* Servlet implementation class DeleteServlet
*/
@WebServlet("/DeleteServlet")
public class DeleteServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public DeleteServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //获取要删除的用户ID
String userId = request.getParameter("userI");
//删除的sql语句
String sql = "delete from denglu where id = "+userId+""; try {
Statement stam= DBUtil.getConnection().createStatement();
stam.executeUpdate(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
response.sendRedirect(request.getContextPath()+"/pages/student.jsp");
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
} }

6.javaBean(实体类)

 package com.zdsofe.work;

 public class Student {
public String id;
public String userName;
public String mima; public Student(String id, String userName, String mima) {
super();
this.id = id;
this.userName = userName;
this.mima = mima;
} public Student(String userName, String mima) { this.userName = userName;
this.mima = mima;
} public Student() {
super();
} public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getMima() {
return mima;
}
public void setMima(String mima) {
this.mima = mima;
} }

7.方法

 package com.zdsofe.work;

 import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List; import com.zdsofe.util.DBUtil; public class ReadData { //查询信息
public static List<Student> findInfo() { List <Student>list=new ArrayList<>();
//调用连接并创建SQL语句
try {
Statement stam= DBUtil.getConnection().createStatement();
String sql="SELECT id,userName,mima FROM denglu;";
ResultSet rs=stam.executeQuery(sql);
while(rs.next())
{
String id=rs.getString("id");
String userName=rs.getString("userName");
String mima=rs.getString("mima");
Student stu=new Student(id,userName,mima);
list.add(stu);
} } catch (SQLException e) {
e.printStackTrace(); }
return list;
} /* 根据用户名查询用户信息
* @param userName
* @return
*/
public static Student findUserByName(String userName)
{
Student stu=null;
//输出查询sql
String sql = "select * from denglu t where t.userName='"+userName+"'";
try {
//调用连接并创建SQL语句
Statement stam= DBUtil.getConnection().createStatement(); ResultSet rs=stam.executeQuery(sql);
if(rs.next())
{
String id=rs.getString("id");
String name=rs.getString("userName");
String mima=rs.getString("mima");
stu=new Student(id,name,mima);
} } catch (SQLException e) {
e.printStackTrace(); }
return stu;
} /**
* 根据编码修改用户信息
* @param user
* @return
*/
public static int update(Student stu)
{
//执行sql的结果
int result = 0;
//更新sql String sql = "update denglu t set t.mima = '"+stu.getMima()+"' where t.userName ='"+stu.getUserName()+"'";
try {
Statement stam= DBUtil.getConnection().createStatement();
result=stam.executeUpdate(sql); } catch (SQLException e) {
e.printStackTrace();
} return result;
}
}

8.连接数据库的包装类

 package com.zdsofe.util;

 import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException; public class DBUtil {
private static String DRIVER="com.mysql.jdbc.Driver";
private static String URL="jdbc:mysql://localhost:3306/mysql";
private static String user="root";
private static String key="775297";
public static Connection conn; //加载驱动
static{
try {
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
//连接数据库
public static Connection getConnection(){
try {
conn = DriverManager.getConnection(URL, user, key);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
}

JavaBean+servlet+jsp——>对数据进行增删改查的更多相关文章

  1. mysql+servlet+jsp实现数据库的增删改查

    首先,了解数据库目前我们仅仅用来存放数据,在这里我们在数据库中生成一个表,包含id,classname,teacher,location.Tomcat用来配置eclipse,只有这样我们才能使用JSP ...

  2. JDBC+Servlet+JSP的学生案例增删改查

    数据库信息传输到页面实现. 先进行学生信息页面展示: 接口IStudentDao public interface IStudentDao { /** * 保存操作 * @param stu 学生对象 ...

  3. JDBC+Servlet+JSP实现基本的增删改查(简易通讯录)

    前言: 最近学习JavaWeb的过程中,自己实践练手了几个小项目,目前已经上传到我的Github上https://github.com/Snailclimb/JavaWebProject.目前只上传了 ...

  4. MVC模式:实现数据库中数据的增删改查功能

    *.数据库连接池c3p0,连接mysql数据库: *.Jquery使用,删除时跳出框,确定是否要删除: *.使用EL和JSTL,简化在jsp页面中插入的java语言 1.连接数据库 (1)导入连接数据 ...

  5. java:JSP(JSPWeb.xml的配置,动态和静态导入JSP文件,重定项和请求转发,使用JSP实现数据库的增删改查实例)

    1.JSP的配置: <%@ page language="java" import="java.util.*" pageEncoding="UT ...

  6. dbutils中实现数据的增删改查的方法,反射常用的方法,绝对路径的写法(杂记)

    jsp的三个指令为:page,include,taglib... 建立一个jsp文件,建立起绝对路径,使用时,其他jsp文件导入即可 导入方法:<%@ include file="/c ...

  7. Mybatis框架基于注解的方式,实对数据现增删改查

    编写Mybatis代码,与spring不一样,不需要导入插件,只需导入架包即可: 在lib下 导入mybatis架包:mybatis-3.1.1.jarmysql驱动架包:mysql-connecto ...

  8. Hibernate3回顾-5-简单介绍Hibernate session对数据的增删改查

    5. Hibernate对数据的增删改查 5.1Hibernate加载数据 两种:get().load() 一. Session.get(Class arg0, Serializable arg1)方 ...

  9. Mybatis学习总结(二)—使用接口实现数据的增删改查

    在这一篇中,让我们使用接口来实现一个用户数据的增删改查. 完成后的项目结构如下图所示: 在这里,person代表了一个用户的实体类.在该类中,描述了相关的信息,包括id.name.age.id_num ...

随机推荐

  1. [转]AngularJS 之 ng-options指令

    原文地址 一. 基本下拉效果(lable for value in array) 其中select标签中的ng-model属性必须有,其值为选中的对象或属性值. <div ng-controll ...

  2. DataTables warning (table id = 'DataTables_Table_0');错误解决办法!

    这个错误是table表格引起的,我是将条件语句和<td>标签做了调整后,消除的,个人认为是数据缺失引起的.

  3. 《JavaScript高级程序设计》笔记二

    第二章 在HTML中使用JavaScript 要想把JavaScript放到网页中,就必须涉及到Web的核心语言HTML.向HTML页面中插入JavaScript的主要方法,就是使用<scrip ...

  4. 使用c#解析json库

    写了个c#版的json解析库,提供了json到hashtable以及hashtable到json字符串的转换 受惠于c#的语法特性,hashtable到json的解析变得非常简单 先判断传入的obje ...

  5. 学编程担心自己英语不好吗?(IT软件开发常用英语词汇)

    发一份,我们导师的收集的常用词汇,与大家共享 欢迎加入Java学习交流裙六一六九五九四四四! S 欢迎加入Java学习交流裙 六一六  九五九  四四四!

  6. Bootstrap下拉菜单

    前面的话 网页交互的时候经常会需要上下文菜单或者隐藏/显示菜单项,Bootstrap默认提供了用于显示链接列表的可切换.有上下文的菜单.而且在各种交互状态下的菜单展示需要和javascript插件配合 ...

  7. openssl req(生成证书请求和自建CA)

    伪命令req大致有3个功能:生成证书请求文件.验证证书请求文件和创建根CA.由于openssl req命令选项较多,所以先各举几个例子,再集中给出openssl req的选项说明.若已熟悉openss ...

  8. 一个简单的python选课系统

    下面介绍一下自己写的python程序,主要是的知识点为sys.os.json.pickle的模块应用,python程序包的的使用,以及关于类的使用. 下面是我的程序目录: bin是存放一些执行文件co ...

  9. x01.ExcelHelper: NPOI 操作

    Excel 操作,具有十分明显的针对性,故很难通用,但这并不妨碍参考后以解决自己的实际问题. 有一汇总表如下: 当然,只是示范,产品的代码应该唯一!现在要根据此汇总表产生各个客户的产品清单.由于客户较 ...

  10. nth-child 和nth-type的区别

    一.深呼吸,直接内容:nth-child和:nth-of-type都是CSS3中的伪类选择器,其作用近似却又不完全一样,对于不熟悉的人对其可能不是很区分,本文就将介绍两者的不同,以便于大家正确灵活使用 ...