java(关键代码)
entity
entity_User
package org.example.api.entity;
/**
* @Author: Re
* @Date: 2021/4/17 23:35
*/
public class User {
private Integer userId;
private String userName;
private String userPassword;
private String userSex;
public User(Integer userId, String userName, String userPassword, String userSex) {
this.userId = userId;
this.userName = userName;
this.userPassword = userPassword;
this.userSex = userSex;
}
public User(String userName, String userPassword) {
this.userName = userName;
this.userPassword = userPassword;
}
public User(String userName, String userPassword, String userSex) {
this.userName = userName;
this.userPassword = userPassword;
this.userSex = userSex;
}
public User() {
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
public String getUserSex() {
return userSex;
}
public void setUserSex(String userSex) {
this.userSex = userSex;
}
}
dao
dao_UserDaoImpl
package org.example.dao.impl;
import org.example.api.entity.User;
import org.example.api.utils.DruidConnectionUtils;
import org.example.dao.IUserDao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/**
* @Author: Re
* @Date: 2021/4/17 23:17
*/
public class UserDaoImpl implements IUserDao{
DruidConnectionUtils druidConnectionUtils=new DruidConnectionUtils();
@Override
public boolean addUser(Connection connection, User user) {
PreparedStatement preparedStatement = null;
String sql = "insert into usertest(userName,userPassword,userSex) values (?,?,?);";
try {
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1,user.getUserName());
preparedStatement.setString(2,user.getUserPassword());
preparedStatement.setString(3,user.getUserSex());
if (preparedStatement.executeUpdate() == 1){
return true;
}
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
druidConnectionUtils.closeConnection(connection,preparedStatement,null);
}
return false;
}
@Override
public User checkUser(Connection connection, User user) {
User user1 = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
String sql = "select * from usertest where userName = ?;";
try {
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, user.getUserName());
resultSet = preparedStatement.executeQuery();
if (resultSet.next()){
user1 = new User(resultSet.getInt("userId"), resultSet.getString("userName"),resultSet.getString("userPassword"),resultSet.getString("userSex") );
}
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
druidConnectionUtils.closeConnection(connection,preparedStatement,resultSet);
}
return user1;
}
@Override
public boolean deleteUser(Connection connection, User user) {
PreparedStatement preparedStatement = null;
String sql = "delete from usertest where userId = ?;";
try {
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1,user.getUserId());
if (preparedStatement.executeUpdate() == 1){
return true;
}
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
druidConnectionUtils.closeConnection(connection,preparedStatement,null);
}
return false;
}
@Override
public boolean updateUser(Connection connection,User user) {
PreparedStatement preparedStatement = null;
String sql = "update usertest set userPassword = ? where userId = ?;";
try {
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, user.getUserPassword());
preparedStatement.setInt(2,user.getUserId());
if (preparedStatement.executeUpdate() == 1){
return true;
}
} catch (SQLException throwables) {
throwables.printStackTrace();
}finally {
druidConnectionUtils.closeConnection(connection,preparedStatement,null);
}
return false;
}
@Override
public List<User> checkAllUser(Connection connection) {
List<User> users = new ArrayList<>();
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
String sql = "select * from usertest;";
try {
preparedStatement = connection.prepareStatement(sql);
resultSet = preparedStatement.executeQuery();
while (resultSet.next()){
users.add(new User(resultSet.getInt("userId"),resultSet.getString("userName"),resultSet.getString("userPassword"),resultSet.getString("userSex")));
}
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
druidConnectionUtils.closeConnection(connection,preparedStatement,resultSet);
}
return users;
}
}
dao_IUserDao (接口)
package org.example.dao;
import org.example.api.entity.User;
import java.sql.Connection;
import java.util.List;
/**
* @Author: Re
* @Date: 2021/4/17 23:17
*/
public interface IUserDao {
boolean addUser(Connection connection, User user);
User checkUser(Connection connection, User user);
boolean deleteUser(Connection connection, User user);
boolean updateUser(Connection connection, User user);
List<User> checkAllUser(Connection connection);
}
service
service_UserServiceImpl
package org.example.service;
import org.example.api.IUserService;
import org.example.api.entity.User;
import org.example.api.utils.DruidConnectionUtils;
import org.example.dao.IUserDao;
import org.example.dao.impl.UserDaoImpl;
import java.util.List;
/**
* @Author: Re
* @Date: 2021/4/17 23:18
*/
public class UserServiceImpl implements IUserService {
DruidConnectionUtils druidConnectionUtils = new DruidConnectionUtils();
IUserDao iUserDao = new UserDaoImpl();
@Override
public boolean addUser(User user) {
return iUserDao.addUser(druidConnectionUtils.getConnection(),user);
}
@Override
public User checkUser(User user) {
return iUserDao.checkUser(druidConnectionUtils.getConnection(),user);
}
@Override
public boolean deleteUser(User user) {
return iUserDao.deleteUser(druidConnectionUtils.getConnection(), user);
}
@Override
public boolean updateUser(User user) {
return iUserDao.updateUser(druidConnectionUtils.getConnection(), user);
}
@Override
public List<User> checkAllUser() {
return iUserDao.checkAllUser(druidConnectionUtils.getConnection());
}
}
controller
controller_AddUserServlet
package org.butterfly.controller;
import org.example.api.IUserService;
import org.example.api.entity.User;
import org.example.service.UserServiceImpl;
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 java.io.IOException;
/**
* @Author: Re
* @Date: 2021/4/17 23:45
*/
@WebServlet("/addUser")
public class AddUserServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 防止乱码
resp.setContentType("text/html;utf-8");
req.setCharacterEncoding("UTF-8");
// 从表单里取值
String userName = req.getParameter("userName");
String userPassword = req.getParameter("userPassword");
String sex = req.getParameter("sex");
if (userName==null || "".equals(userName)) {
req.setAttribute("msg","用户名不能为空");
req.getRequestDispatcher("signIn.jsp").forward(req,resp);
return;
}
if (userPassword==null || "".equals(userPassword)) {
req.setAttribute("msg","密码不能为空");
req.getRequestDispatcher("signIn.jsp").forward(req,resp);
return;
}
if (sex ==null || "".equals(sex)) {
req.setAttribute("msg","请选择性别");
req.getRequestDispatcher("signIn.jsp").forward(req,resp);
return;
}
User user = new User(userName,userPassword,sex);
IUserService iUserService = new UserServiceImpl();
if (iUserService.checkUser(user) != null){
req.setAttribute("msg","用户名已存在");
req.getRequestDispatcher("signIn.jsp").forward(req,resp);
return;
}
if (iUserService.addUser(user)){
req.setAttribute("msg","注册成功");
req.getRequestDispatcher("signIn.jsp").forward(req,resp);
} else {
req.setAttribute("msg","注册失败");
req.getRequestDispatcher("signIn.jsp").forward(req,resp);
}
}
}
controller_CheckAllUserServlet
package org.butterfly.controller;
import org.example.api.IUserService;
import org.example.api.entity.User;
import org.example.service.UserServiceImpl;
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 java.io.IOException;
import java.util.List;
/**
* @Author: Re
* @Date: 2021/4/18 15:31
*/
@WebServlet("/check")
public class CheckAllUserServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;utf-8");
req.setCharacterEncoding("UTF-8");
IUserService iUserService = new UserServiceImpl();
List<User> users = null;
users = iUserService.checkAllUser();
HttpSession session = req.getSession();
session.setAttribute("users",users);
req.getRequestDispatcher("success.jsp").forward(req,resp);
}
}
controller_DeleteUserServlet
package org.butterfly.controller;
import org.example.api.IUserService;
import org.example.api.entity.User;
import org.example.service.UserServiceImpl;
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 java.io.IOException;
/**
* @Author: Re
* @Date: 2021/4/18 14:44
*/
@WebServlet("/delete")
public class DeleteUserServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;utf-8");
req.setCharacterEncoding("UTF-8");
HttpSession session = req.getSession();
IUserService iUserService = new UserServiceImpl();
User user = (User) session.getAttribute("user");
if (iUserService.deleteUser(user)){
req.setAttribute("msg","用户删除成功");
req.getRequestDispatcher("signIn.jsp").forward(req,resp);
}else {
req.setAttribute("msg","用户删除失败");
req.getRequestDispatcher("success.jsp").forward(req,resp);
}
}
}
controller_UpdateUserServlet
package org.butterfly.controller;
import org.example.api.IUserService;
import org.example.api.entity.User;
import org.example.service.UserServiceImpl;
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 java.io.IOException;
/**
* @Author: Re
* @Date: 2021/4/18 15:04
*/
@WebServlet("/update")
public class UpdateUserServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;utf-8");
req.setCharacterEncoding("UTF-8");
HttpSession session = req.getSession();
IUserService iUserService = new UserServiceImpl();
User user = (User) session.getAttribute("user");
System.out.println(user.getUserId());
String userPassword = req.getParameter("userPassword");
user.setUserPassword(userPassword);
if (iUserService.updateUser(user)){
req.setAttribute("msg","更改密码成功");
} else {
req.setAttribute("msg","更改密码失败");
}
req.getRequestDispatcher("success.jsp").forward(req,resp);
}
}
controller_UserLoginServlet
package org.butterfly.controller;
import org.example.api.IUserService;
import org.example.api.entity.User;
import org.example.service.UserServiceImpl;
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 java.io.IOException;
/**
* @Author: Re
* @Date: 2021/4/18 13:57
*/
@WebServlet("/login")
public class UserLoginServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;utf-8");
req.setCharacterEncoding("UTF-8");
String userName = req.getParameter("userName");
String userPassword = req.getParameter("userPassword");
if (userName==null || "".equals(userName)) {
req.setAttribute("msg","用户名不能为空");
req.getRequestDispatcher("signIn.jsp").forward(req,resp);
return;
}
if (userPassword==null || "".equals(userPassword)) {
req.setAttribute("msg","密码不能为空");
req.getRequestDispatcher("signIn.jsp").forward(req,resp);
return;
}
IUserService iUserService = new UserServiceImpl();
User user = new User(userName,userPassword);
User user1 = iUserService.checkUser(user);
if (user1 == null){
req.setAttribute("msg","用户不存在");
req.getRequestDispatcher("login.jsp").forward(req,resp);
return;
}
System.out.println(user.getUserId());
if (userName.equals(user1.getUserName())&&userPassword.equals(user1.getUserPassword())){
HttpSession session = req.getSession();
session.setAttribute("user",user1);
req.getRequestDispatcher("success.jsp").forward(req,resp);
}else {
req.setAttribute("msg","登录失败");
req.getRequestDispatcher("login.jsp").forward(req,resp);
}
}
}
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>butterfly</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>api</module>
<module>dao</module>
<module>service</module>
<module>controller</module>
</modules>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
</project>