包设置
Delete代码
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 DeleteServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id1=request.getParameter("id");
Integer id2=Integer.parseInt(id1);
IUserService userService=new UserServiceImpl();
userService.delete(id2);
request.getRequestDispatcher("/find").forward(request,response);
}
}
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.util.ArrayList;
import java.util.List;
public class UserDaoImpl implements IUserDao {
@Override
public User findUserByname(String username) {
ResultSet resultSet=null;
PreparedStatement statement=null;
Connection connection=null;
User user=null;
try {
connection = DBUtil.getConnection();
//3.写sql
//查询
String sql = "select * from tb_user where username=?";
//4.得到statement对象,
statement = connection.prepareStatement(sql);
statement.setString(1,username);
//5.执行sql
resultSet = statement.executeQuery();
//6.处理结果集
while (resultSet.next()) {
user=new User();
user.setUsername(resultSet.getString(2));
user.setPassword(resultSet.getString(3));
}
}catch (Exception e){
e.printStackTrace();
}finally{
//7.关闭资源
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();
}
return users;
}
@Override
public void delete(Integer 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 (Exception e){
e.printStackTrace();
}finally {
DBUtil.closeAll(null,statement,connection);
}
}
@Override
public void add(String username, String password) {
PreparedStatement statement = null;
Connection connection = null;
try{
connection = DBUtil.getConnection();
statement = connection.prepareStatement("insert into tb_user(username,password)values(?,?)");
statement.setString(1, username);
statement.setString(2, password);
statement.executeUpdate();
}catch (ClassNotFoundException e){
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
}finally {
DBUtil.closeAll(null, statement, connection);
}
}
}
IUserDao的代码
package com.zhongruan.dao;
import com.zhongruan.model.User;
import java.sql.SQLException;
import java.util.List;
public interface IUserDao {
User findUserByname(String username);
List<User> findAll();
void delete(Integer id);
void add(String username, String password);
}
User的代码
package com.zhongruan.model;
public class User {
public User(String username, String password) {
this.username = username;
this.password = password;
}
public User(){
}
private int id;
private String username;
private String 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 + '\'' +
'}';
}
}
AddServlet 的代码
package com.zhongruan.servlet;
import com.sun.xml.internal.ws.transport.http.HttpAdapter;
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 AddServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username=request.getParameter("username");
String password=request.getParameter("password");
IUserService userService=new UserServiceImpl();
userService.add(username,password);
request.getRequestDispatcher("/find").forward(request,response);
}
}
DeleteServlet 的代码
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 DeleteServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id1=request.getParameter("id");
Integer id2=Integer.parseInt(id1);
IUserService userService=new UserServiceImpl();
userService.delete(id2);
request.getRequestDispatcher("/find").forward(request,response);
}
}
FindServlet的代码
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 FindServlet extends HttpServlet {
IUserService userService=new UserServiceImpl();
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<User> users= userService.findAll();
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.findAll();
HttpSession session=request.getSession();
session.setAttribute("userlist",users);
request.getRequestDispatcher("allUser.jsp").forward(request,response);
}
}
LoginServlet 的代码
package com.zhongruan.servlet;
import com.zhongruan.dao.impl.UserDaoImpl;
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 LoginServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username=request.getParameter("username");
String password=request.getParameter("password");
IUserService userService=new UserServiceImpl();
Boolean flag= userService.login(username,password);
if (flag){
request.getRequestDispatcher("/find").forward(request,response);
} else {
request.getRequestDispatcher("failure.jsp").forward(request, response);
}
}
}
DBUtil的代码
package com.zhongruan.util;
import java.sql.*;
public class DBUtil {
public static Connection getConnection()throws ClassNotFoundException, SQLException{
//1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2.创建连接
Connection connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/zjgm?characterEncoding=utf-8&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();
}
}
}
}
web的代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.zhongruan.servlet.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>DeleteServlet</servlet-name>
<servlet-class>com.zhongruan.servlet.DeleteServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DeleteServlet</servlet-name>
<url-pattern>/delete</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>FindServlet</servlet-name>
<servlet-class>com.zhongruan.servlet.FindServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FindServlet</servlet-name>
<url-pattern>/find</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>AddServlet</servlet-name>
<servlet-class>com.zhongruan.servlet.AddServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AddServlet</servlet-name>
<url-pattern>/add</url-pattern>
</servlet-mapping>
</web-app>
addUser的代码
<%@ 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="/add" method="post">
用户姓名:<input type="text" name="username"><br><br><br>
用户密码:<input type="text" name="password"><br><br><br>
<input type="submit" value="添加" >
</form>
</div>
allUser的代码
<%@ 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>user列表</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>
<div class="row">
<div class="col-md-4 column">
<a class="btn btn-primary" href="addUser.jsp">新增</a>
</div>
</div>
<div class="row clearfix">
<div class="col-md-12 column">
<table class="table table-hover table-striped">
<thead>
<tr>
<th>id</th>
<th>用户名</th>
<th>密码</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach var="user" items="${userlist}">
<tr>
<td>${user.id}</td>
<td>${user.username}</td>
<td>${user.password}</td>
<td><a href="/delete?id=${user.id}">刪除</a>|<a href="/delete?username=${user.username}?password${user.password}">修改</a></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
</div>
failure的代码
<%--
Created by IntelliJ IDEA.
User: lenovo
Date: 2019/9/25
Time: 10:46
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body >
登入失败
</body>
</html>
index的代码
<%--
Created by IntelliJ IDEA.
User: lenovo
Date: 2019/9/25
Time: 8:58
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>用户登入</title>
</head>
<body>
<form action="/login"method="post">
用户名:<input name="username"type="text">
密码:<input name="password"type="password">
<input type="submit"value="登入">
</form>
</body>
</html>
结果