“ToUpdateServlet”
package com.zhongruan.servlet;
import com.zhongruan.model.User;
import com.zhongruan.service.IUserService;
import com.zhongruan.service.impl.UserServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
public class ToUpdataServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String id=request.getParameter("id");
int id1=Integer.parseInt(id);
IUserService userService=new UserServiceImpl();
User user= userService.findUserById(id1);
HttpSession session=request.getSession();
session.setAttribute("user",user);
request.getRequestDispatcher("updataUser.jsp").forward(request,response);
}
}
“UpdateServlet”
package com.zhongruan.servlet;
import com.zhongruan.service.IUserService;
import com.zhongruan.service.impl.UserServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class UpdataServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
IUserService userService=new UserServiceImpl();
String username = request.getParameter("username");
String password = request.getParameter("password");
int id1= Integer.parseInt(request.getParameter("id"));
userService.update(id1,username,password);
request.getRequestDispatcher("/findByPage").forward(request,response);
}
}
在“IUserDao”,“IUserServlet”下增加如下语句
void updateu(int id,String username,String password);
User findUserById(int id);
在“UserDaoImpl”中增加如下代码
@Override
public void updateu(int id,String username, String password) {
Connection connection= null;
PreparedStatement statement=null;
try {
connection = DBUtil.getConnection();
String sql="update staff set username=? ,password=? where id=?";
statement=connection.prepareStatement(sql);
statement.setInt(3,id);
statement.setString(1,username);
statement.setString(2,password);
statement.executeUpdate();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
DBUtil.closeAll(null,statement,connection);
}
@Override
public User findUserById(int id) {
User user=null;
ResultSet resultSet=null;
PreparedStatement statement=null;
Connection connection=null;
try {
connection= DBUtil.getConnection();
String sql="select * from staff where id=?";
statement=connection.prepareStatement(sql);
statement.setInt(1,id);
resultSet=statement.executeQuery();
while (resultSet.next()){
user=new User();
user.setId(id);
user.setUsername(resultSet.getString(2));
user.setPassword(resultSet.getString(3));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
DBUtil.closeAll(resultSet,statement,connection);
}
return user;
}
在“UserServletImpl”中增加如下代码
@Override
public void add(String username, String password) {
userDao.add(username,password);
}
@Override
public User findUserById(int id) {
return userDao.findUserById(id);
}
在“web.xml”中增加如下代码
<servlet>
<servlet-name>ToUpdataServlet</servlet-name>
<servlet-class>com.zhongruan.servlet.ToUpdataServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ToUpdataServlet</servlet-name>
<url-pattern>/toupdata</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>UpdataServlet</servlet-name>
<servlet-class>com.zhongruan.servlet.UpdataServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UpdataServlet</servlet-name>
<url-pattern>/updata</url-pattern>
</servlet-mapping>
“allUser”中修改语句为
<a href="/toupdateuser?id=${user.id}">修改</a>
“updateUser”代码如下
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isELIgnored="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>新增用户</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- 引入 Bootstrap -->
<link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
<div class="row clearfix">
<div class="col-md-12 column">
<div class="page-header">
<h1>
基于servlet+jsp框架的管理系统:简单实现增、删、改、查。
</h1>
</div>
</div>
</div>
<div class="row clearfix">
<div class="col-md-12 column">
<div class="page-header">
<h1>
<small>更新用户</small>
</h1>
</div>
</div>
</div>
<form action="updata"
method="post">
<input type="hidden" name="id" value="${user.id}"><br><br><br>
用户姓名:<input type="text" name="username" value="${user.username}"><br><br><br>
用户密码:<input type="text" name="password"value="${user.password}"><br><br><br>
<input type="submit" value="更新" >
</form>
</div>
系统管理(双表增删改查完整代码)
User–用户表,Goods–商品表
src结构
“UserDaoImpl”
package com.zhongruan.dao.impl;
import com.zhongruan.dao.IUserDao;
import com.zhongruan.model.User;
import com.zhongruan.util.DButil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class UserDaoImpl implements IUserDao {
@Override
public User finduserByUsername(String username) {
User user=null;
Connection connection=null;
PreparedStatement statement=null;
ResultSet resultSet=null;
try {
connection= DButil.getConnection();
String sql="select * from tb_user where username=?";
statement =connection.prepareStatement(sql);
statement.setString(1,username);
resultSet=statement.executeQuery();
while (resultSet.next()){
user=new User();
user.setId(resultSet.getInt(1));
user.setUsername(resultSet.getString(2));
user.setPassword(resultSet.getString(3));
}
} catch (Exception e) {
e.printStackTrace();
}finally {
DButil.closeAll(resultSet,statement,connection);
}
return user;
}
@Override
public List<User> findAll() {
List<User> users=new ArrayList<>();
Connection connection=null;
PreparedStatement statement=null;
ResultSet resultSet=null;
try {
connection= DButil.getConnection();
String sql="select * from tb_user";
statement=connection.prepareStatement(sql);
resultSet=statement.executeQuery();
while (resultSet.next()){
User user=new User();
user.setId(resultSet.getInt(1));
user.setUsername(resultSet.getString(2));
user.setPassword(resultSet.getString(3));
users.add(user);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
DButil.closeAll(resultSet,statement,connection);
}
return users;
}
@Override
public void delete(int id) {
Connection connection=null;
PreparedStatement statement=null;
try {
connection=DButil.getConnection();
statement = connection.prepareStatement("delete from tb_user where id=?");
statement.setInt(1,id);
statement.executeUpdate();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally {
DButil.closeAll(null,statement,connection);
}
}
@Override
public void add(String username, String password) {
Connection connection=null;
PreparedStatement statement=null;
try {
connection = DButil.getConnection();
statement = connection.prepareStatement("insert into tb_user(username,password) value(?,?)");
statement.setString(1, username);
statement.setString(2, password);
statement.executeUpdate();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
DButil.closeAll(null, statement, connection);
}
}
@Override
public User findUserById(int id) {
Connection connection = null;
String sql="select * from tb_user where id=?";
PreparedStatement statement = null;
ResultSet resultSet = null;
User user=new User();
try {
connection=DButil.getConnection();
statement = connection.prepareStatement(sql);
statement.setInt(1,id);
resultSet = statement.executeQuery();
while (resultSet.next()) {
user.setId(resultSet.getInt(1));
user.setUsername(resultSet.getString(2));
user.setPassword(resultSet.getString(3));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
DButil.closeAll(resultSet, statement, connection);
}
return user;
}
@Override
public void update(int id,String username,String password) {
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
try {
connection=DButil.getConnection();
String sql="update tb_user set username=?,password=? where id=?";
statement =connection.prepareStatement(sql);
statement.setInt(3,id);
statement.setString(1,username);
statement.setString(2,password);
statement.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}finally {
DButil.closeAll(null,statement,connection);
}
}
@Override
public List<User> findByPage(String username,int start, int size) {
List<User> users=new ArrayList<>();
Connection connection=null;
PreparedStatement statement=null;
ResultSet resultSet=null;
String sql=null;
try{
connection=DButil.getConnection();
if (username == null) {
sql= "select * from tb_user limit ?,?";
statement = connection.prepareStatement(sql);
statement.setInt(1, start);
statement.setInt(2, size);
} else {
sql = "select * from tb_user where username like ? limit ?,?";
statement = connection.prepareStatement(sql);
statement.setString(1, "%" + username + "%");
statement.setInt(2, start);
statement.setInt(3, size);
}
resultSet=statement.executeQuery();
while (resultSet.next()){
User user=new User();
user.setId(resultSet.getInt(1));
user.setUsername(resultSet.getString(2));
user.setPassword(resultSet.getString(3));
user.add(user);
users.add(user);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
DButil.closeAll(resultSet,statement,connection);
}
return users;
}
@Override
public int selectCount() {
List<User> users=new ArrayList<>();
Connection connection=null;
PreparedStatement statement=null;
ResultSet resultSet=null;
int count=0;
try{
connection=DButil.getConnection();
String sql="select count(*) from tb_user";
statement=connection.prepareStatement(sql);
resultSet=statement.executeQuery();
while (resultSet.next()){
count=resultSet.getInt(1);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
DButil.closeAll(resultSet,statement,connection);
}
return count;
}
}
“IUserDao”
package com.zhongruan.dao;
import com.zhongruan.model.User;
import java.util.List;
public interface IUserDao {
User finduserByUsername(String username);
List<User> findAll();
void delete(int id);
void add(String username,String password);
User findUserById(int id);
void update(int id,String username,String password);
List<User> findByPage(String username,int start, int size);
int selectCount();
}
“User”
package com.zhongruan.model;
public class User {
private int id;
private String username;
private String password;
public User(){
this.username = username;
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
public void add(User user) {
}
}
“IUserService”
package com.zhongruan.service;
import com.zhongruan.model.User;
import com.zhongruan.puju.PageInfo;
import java.util.List;
public interface IUserService {
Boolean login(String username, String password);
List<User> findAll();
void delete(int id2);
void add(String username, String password);
User findUserById(int id);
void update(int id,String username,String password);
PageInfo findBypage(String username,int currentPafe,int size);
}
“DeleteUServlet”
package com.zhongruan.servlet;
import com.zhongruan.puju.PageInfo;
import com.zhongruan.service.IUserService;
import com.zhongruan.service.impl.UserServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
public class DeleteServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String id1 = request.getParameter("id");
int id2= Integer.parseInt(id1);
IUserService userService=new UserServiceImpl();
userService.delete(id2);
String searchname = request.getParameter("searchname");
int currentPage = 1;
int size = 5;
IUserService userService1 = new UserServiceImpl();
PageInfo pageInfo = null;
pageInfo = userService1.findBypage(searchname, currentPage, size);
HttpSession session = request.getSession();
session.setAttribute("searchname", searchname);
session.setAttribute("pageInfo", pageInfo);
request.getRequestDispatcher("allUser.jsp").forward(request, response);
}
}
“FindUServlet”
package com.zhongruan.servlet;
import com.zhongruan.model.User;
import com.zhongruan.service.IUserService;
import com.zhongruan.service.impl.UserServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.List;
public class FindUServlet extends HttpServlet {
IUserService userService=new UserServiceImpl();
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<User> users=userService.findUAll();
HttpSession session=request.getSession();
session.setAttribute("userlist",users);
request.getRequestDispatcher("allUser.jsp").forward(request,response);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<User> users=userService.findUAll();
HttpSession session=request.getSession();
session.setAttribute("userlist",users);
request.getRequestDispatcher("allUser.jsp").forward(request,response);
}
}
“DBUtil”
package com.zhongruan.util;
import java.sql.*;
public class DButil {
public static Connection getConnection() throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
Connection connection= DriverManager.getConnection("jdbc:mysql://localhost/zjgm?user=root&password=123456");
return connection;
}
public static void closeAll(ResultSet resultSet, Statement statement,Connection connection){
if(resultSet!=null){
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(statement!=null){
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection!=null){
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}