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. WPF Dashboard仪表盘控件的实现

    1.确定控件应该继承的基类 从表面上看,目前WPF自带常用控件中,没有一个是接近这个表盘控件的,但将该控件拆分就能够发现,该控件的每个子部分都是在WPF中存在的,因此我们需要将各个子控件组合才能形成这 ...

  2. 补:关于man关于SEE ALSO(参见)中代号与vim下常用命令

    1.查阅/etc/issue文件时,使用man issue发现manual中see also出现motd(5), agetty(8), mingetty(8)字样.以及文档行首的issue(5)究竟是 ...

  3. winform / Dev全局皮肤组件

    话不多说先上效果图. 由于这是单独的测试项目, 用于演示Dev控件的皮肤样式, 所以上面只是演示了部分控件的效果. 下面则是一些实际项目中的截图: Dev的控件样式不仅美观丰富, 上面仅皮肤设置就有4 ...

  4. 两本最近阅读的工具书的记录 关于Python和Linux命令行的 不喜勿喷 只是写给自己用

    <Linux命令行完全技术宝典>读书心得 张栋作者 在学习Linux系统中,我们需要掌握各种管理的方法和技巧,而管理Linux系统最有效的方法就是命令行的控制.而我在图书馆中读到的< ...

  5. 【转载】Sublime Text 3065 Keygen and Patcher

    原始日期:2014-10-01 18:25      差不多时隔一年了,Sublime Text 终于更新啦!相信很多友友都已经升级到3065版本了,所以我也特地抽空为大家做了个新版补丁.该补丁仅作为 ...

  6. javaScript高级程序设计笔记 2

    Undefinde Null Boolean Number String    基本类型 Object    引用类型 只有引用类型才能动态的添加属性 赋值基本类型和引用类型也不相同,复制的基本类型的 ...

  7. iOS获取WIFI的IP、子网掩码,以及域名转IP

    获取WIFI需要的头文件: #import "GetCurrentIP.h" #import <ifaddrs.h> #import <arpa/inet.h&g ...

  8. 一些css书写的小技巧

    一.css顺序 首先声明,浏览器读取css的方式是从上到下的.我们一般书写css只要元素具备这些属性就会达到我们预期的效果,但是这会给以后的维护和浏览器的渲染效率带来一定的影响,那么该怎么书写css的 ...

  9. Vue和Bootstrap的整合之路

    我是一个刚刚接触前端开发的新手,所以有必要记录如何将Bootstrap和Vue进行整合. 如果你是老手,请直接绕道而过.作为一个新手,里面的步骤,过程或者专业术语未必正确,如果你发现哪里错误了,请发邮 ...

  10. HDFS Java API的使用举例

    HDFS是Hadoop应用程序使用的主要分布式存储.HDFS集群主要由管理文件系统元数据的NameNode和存储实际数据的DataNodes组成,HDFS架构图描述了NameNode,DataNode ...