文章目录
- 前言
- 一、实现效果图展示
- 二、代码
- 1.项目结构
- 2.具体代码
- 总结
前言
本内容主要运用了servlet,ajax 来实现前端对后台数据的传输,以及过滤 filter来实现没有登录成功之前,不能访问我们要增删改查的信息。必须注册用户登录成功之后,才能正常访问我们的数据页面。适合刚学习servlet的小伙伴。
一、效果图展示
二、代码 1.项目结构
2.代码
代码如下(示例):
login.jsp中
<%--
Created by IntelliJ IDEA.
User: 22743
Date: 2022/7/26
Time: 0:16
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
登录
<%--登录界面--%>
<%-- --%>
<%--注册界面--%>
<%-- --%>
<%-- --%>
user_self.jsp代码块
<%--
Created by IntelliJ IDEA.
User: 22743
Date: 2022/7/25
Time: 11:24
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
用户列表
<%-- --%>
| 序号 | --%>用户名 | 年龄 | 性别 | 电话 | 操作 | ||
|---|---|---|---|---|---|---|---|
|
|
|||||||
查询用户--%> <%-- --%> <%-- --%> <%--
--%> <%-- --%> <%-- --%> <%-- --%> <%-- --%> <%-- --%> <%-- --%> <%-- --%> <%-- --%>用户修改
添加用户
controller 层代码块
package com.hqyj.psl.controller;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.hqyj.psl.entity.Administrator;
import com.hqyj.psl.entity.User;
import com.hqyj.psl.service.UserService;
import com.hqyj.psl.service.impl.UserServiceImpl;
import com.hqyj.psl.utils.PageUtil;
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;
import java.io.UnsupportedEncodingException;
import java.sql.SQLException;
import java.util.List;
@WebServlet("/user")
public class UserController extends HttpServlet {
private UserService us = new UserServiceImpl();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
String method = req.getParameter("method");
try {
if (method.equals("queryUserAll")){
queryUserAll(req,resp);
}else if (method.equals("deleteUser")){
deleteUser(req,resp);
}else if (method.equals("findUserById")){
findUserById(req,resp);
}else if (method.equals("updateUserById")){
updateUser(req,resp);
}else if (method.equals("insertUser")){
insertUser(req,resp);
}else if (method.equals("selectUserByName")){
selectUserByName(req,resp);
}else if (method.equals("queryUser")){
queryUserPage(req,resp);
}else if (method.equals("searchUser")){
searchUser(req,resp);
}
} catch (SQLException | IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
public void searchUser(HttpServletRequest req, HttpServletResponse resp) throws IOException {
String userName = req.getParameter("userName");
String userTel = req.getParameter("userTel");
User user = new User();
user.setUserName(userName);
user.setUserTel(userTel);
System.out.println(user);
List users = us.searchUser(user);
ObjectMapper mapper = new ObjectMapper();
String s = mapper.writeValueAsString(users);
resp.getWriter().write(s);
}
public void queryUserPage(HttpServletRequest req, HttpServletResponse resp) throws IOException {
String pageNum = req.getParameter("pageNum");
int i = Integer.parseInt(pageNum);
if (i==-1){
i=1;
}
String pageSize = req.getParameter("pageSize");
int i1 = Integer.parseInt(pageSize);
PageUtil userPageUtil = us.queryUserPage(i, i1);
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(userPageUtil);
resp.getWriter().write(json);
}
public void selectUserByName(HttpServletRequest req, HttpServletResponse resp) throws IOException {
req.setCharacterEncoding("UTF-8");
String userName = req.getParameter("userName");
List users = us.selectUserById(userName);
// System.out.println(users);
resp.setContentType("text/html;charset=UTF-8");
ObjectMapper mapper = new ObjectMapper();
String s = mapper.writeValueAsString(users);
resp.getWriter().write(s);
}
public void findUserById(HttpServletRequest req, HttpServletResponse resp) throws Exception{
String id = req.getParameter("id");
resp.setContentType("text/html;charset=UTF-8");
int i = Integer.parseInt(id);
User userById = us.findUserById(i);
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(userById);
resp.getWriter().write(json);
}
public void deleteUser(HttpServletRequest req, HttpServletResponse resp) throws Exception {
String id = req.getParameter("id");
int num = Integer.parseInt(id);
String s = us.removeUserById(num);
// System.out.println(s);
resp.setContentType("text/html;charset=UTF-8");
resp.getWriter().write(s);
}
public void updateUser(HttpServletRequest req, HttpServletResponse resp) throws Exception{
resp.setContentType("text/html;charset=UTF-8");
User user = new User();
String id = req.getParameter("id");
int i = Integer.parseInt(id);
user.setId(i);
user.setUserName(req.getParameter("userName"));
user.setUserAge(req.getParameter("userAge"));
user.setUserSex(req.getParameter("userSex"));
user.setUserTel(req.getParameter("userTel"));
// System.out.println(user);
String s = us.updateUserById(user);
resp.getWriter().write(s);
}
public void queryUserAll(HttpServletRequest req, HttpServletResponse resp) throws IOException, SQLException {
List users = us.findUserAll();
resp.setContentType("text/html;charset=UTF-8");
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(users);
resp.getWriter().write(json);
}
public void insertUser(HttpServletRequest req, HttpServletResponse resp) throws Exception{
// req.setCharacterEncoding("UTF-8");
User user = new User();
user.setUserName(req.getParameter("userName"));
user.setUserAge(req.getParameter("userAge"));
user.setUserSex(req.getParameter("userSex"));
user.setUserTel(req.getParameter("userTel"));
// System.out.println(user);
String s = us.insertUser(user);
resp.setContentType("text/html;charset=UTF-8");
resp.getWriter().write(s);
}
}
service层代码块
package com.hqyj.psl.service.impl;
import com.hqyj.psl.dao.UserDao;
import com.hqyj.psl.dao.impl.UserDaoImpl;
import com.hqyj.psl.entity.Administrator;
import com.hqyj.psl.entity.User;
import com.hqyj.psl.service.UserService;
import com.hqyj.psl.utils.PageUtil;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class UserServiceImpl implements UserService {
private UserDao userDao = new UserDaoImpl();
@Override
public List findUserAll() throws SQLException {
return userDao.queryUserAll();
}
@Override
public String removeUserById( int id) throws Exception {
int i = userDao.deleteUserById(id);
if (i>0){
return "success";
}else
return "fail";
}
@Override
public User findUserById(int id) {
return userDao.findUserById(id);
}
@Override
public String updateUserById(User user) {
int i = userDao.updateUserById(user);
if (i>0){
return "success";
}else {
return "fail";
}
}
@Override
public String insertUser(User user) {
int i = userDao.insertUser(user);
if (i>0){
return "success";
}else {
return "fail";
}
}
@Override
public List selectUserById(String userName) {
return userDao.selectUserById(userName);
}
@Override
public String enrollUser(Administrator administrator) {
int i = userDao.enrollUser(administrator);
if (i>0){
return "success";
}else {
return "fail";
}
}
@Override
public String selectEnrollUser(Administrator administrator) {
if (userDao.selectEnrollUser(administrator)!=null){
return "success";
}else {
return "fail";
}
}
@Override
public PageUtil queryUserPage(int pageNum, int pageSize) {
PageUtil pageUtil = new PageUtil<>();
pageUtil.setPageNum(pageNum);
pageUtil.setPassSize(pageSize);
pageUtil.setTotalCount(userDao.countUserAll());
pageUtil.setPageInfo(userDao.queryUserPage(pageNum,pageSize));
return pageUtil;
}
@Override
public List searchUser(User user) {
List users = userDao.searchUser(user);
if (users==null){
List objects = new ArrayList<>();
return objects;
}
return users;
}
}
dao 层代码块
package com.hqyj.psl.dao.impl;
import com.hqyj.psl.dao.UserDao;
import com.hqyj.psl.entity.Administrator;
import com.hqyj.psl.entity.User;
import com.hqyj.psl.utils.DBUtils;
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 UserDao {
private Connection conn=null;
private PreparedStatement ps = null;
private ResultSet rs = null;
@Override
public List queryUserAll() throws SQLException {
try {
conn = DBUtils.getConn();
String sql="select * from user";
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
ArrayList users = new ArrayList<>();
while (rs.next()){
User user = new User();
user.setId(rs.getInt("id"));
user.setUserName(rs.getString("user_Name"));
user.setUserSex(rs.getString("user_sex"));
user.setUserAge(rs.getString("user_age"));
user.setUserTel(rs.getString("user_tel"));
users.add(user);
}
return users;
} catch (SQLException e) {
e.printStackTrace();
return null;
} finally {
DBUtils.close(rs,ps,conn);
}
}
@Override
public int deleteUserById(int id) {
try {
conn = DBUtils.getConn();
String sql="delete from user where id = ?";
ps = conn.prepareStatement(sql);
ps.setInt(1,id);
int i = ps.executeUpdate();
return i;
} catch (Exception e) {
return 0;
} finally {
DBUtils.close(rs,ps,conn);
}
}
@Override
public User findUserById(int id) {
try {
conn = DBUtils.getConn();
String sql = "select * from user where id = ?";
ps = conn.prepareStatement(sql);
ps.setInt(1, id);
rs = ps.executeQuery();
if (rs.next()) {
User user = new User();
user.setId(rs.getInt("id"));
user.setUserName(rs.getString("user_Name"));
user.setUserSex(rs.getString("user_sex"));
user.setUserAge(rs.getString("user_age"));
user.setUserTel(rs.getString("user_tel"));
return user;
}
return null;
} catch (SQLException e) {
e.printStackTrace();
return null;
} finally {
DBUtils.close(rs, ps, conn);
}
}
@Override
public int updateUserById(User user) {
try {
conn = DBUtils.getConn();
String sql = "update user set user_name=?,user_age=?,user_sex=?,user_tel=? where id=?";
ps = conn.prepareStatement(sql);
ps.setString(1, user.getUserName());
ps.setString(2,user.getUserAge());
ps.setString(3,user.getUserSex());
ps.setString(4,user.getUserTel());
ps.setInt(5,user.getId());
int i = ps.executeUpdate();
return i;
} catch (SQLException e) {
e.printStackTrace();
return 0;
} finally {
DBUtils.close(rs, ps, conn);
}
}
@Override
public int insertUser(User user) {
try {
conn = DBUtils.getConn();
String sql = "insert into user VALUES(null,?,?,?,?)";
ps = conn.prepareStatement(sql);
ps.setString(1, user.getUserName());
ps.setString(2,user.getUserAge());
ps.setString(3,user.getUserSex());
ps.setString(4,user.getUserTel());
int i = ps.executeUpdate();
return i;
} catch (SQLException e) {
e.printStackTrace();
return 0;
} finally {
DBUtils.close(rs, ps, conn);
}
}
@Override
public List selectUserById(String userName) {
try {
conn = DBUtils.getConn();
String sql = "select * from user where user_name=?";
ps = conn.prepareStatement(sql);
ps.setString(1, userName);
rs = ps.executeQuery();
ArrayList users = new ArrayList<>();
while(rs.next()) {
User user = new User();
user.setId(rs.getInt("id"));
user.setUserName(rs.getString("user_name"));
user.setUserAge(rs.getString("user_age"));
user.setUserSex(rs.getString("user_sex"));
user.setUserTel(rs.getString("user_tel"));
users.add(user);
}
return users;
} catch (SQLException e) {
e.printStackTrace();
return null;
} finally {
DBUtils.close(rs, ps, conn);
}
}
@Override
public int enrollUser(Administrator administrator) {
try {
conn = DBUtils.getConn();
String sql = "insert into administrator VALUES(null,?,?)";
ps = conn.prepareStatement(sql);
ps.setString(1, administrator.getUserName());
ps.setString(2,administrator.getUserPwd());
int i = ps.executeUpdate();
return i;
} catch (SQLException e) {
e.printStackTrace();
return 0;
} finally {
DBUtils.close(rs, ps, conn);
}
}
@Override
public Administrator selectEnrollUser(Administrator administrator) {
try {
conn = DBUtils.getConn();
String sql = "select * from administrator where user_name = ? and user_Pwd = ?";
ps = conn.prepareStatement(sql);
ps.setString(1,administrator.getUserName());
ps.setString(2,administrator.getUserPwd());
rs = ps.executeQuery();
if (rs.next()){
Administrator administrator1 = new Administrator();
administrator1.setUserName(rs.getString("user_name"));
administrator1.setUserPwd(rs.getString("user_pwd"));
return administrator1;
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
DBUtils.close(rs,ps,conn);
}
return null;
}
@Override
public int countUserAll() {
try {
conn =DBUtils.getConn();
String sql="select count(*) as countAll from user";
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
if(rs.next()){
int count = rs.getInt("countAll");
return count;
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtils.close(rs, ps, conn);
}
return 0;
}
@Override
public List queryUserPage(int pageNum, int pageSize) {
try {
conn = DBUtils.getConn();
String sql = "select * from user limit ?,?";
ps = conn.prepareStatement(sql);
ps.setInt(1,(pageNum-1)*pageSize);
ps.setInt(2,pageSize);
rs = ps.executeQuery();
List users = new ArrayList<>();
while (rs.next()){
User user = new User();
user.setId(rs.getInt("id"));
user.setUserName(rs.getString("user_name"));
user.setUserSex(rs.getString("user_sex"));
user.setUserAge(rs.getString("user_age"));
user.setUserTel(rs.getString("user_tel"));
users.add(user);
}
return users;
} catch (SQLException e) {
e.printStackTrace();
return null;
} finally {
DBUtils.close(rs,ps,conn);
}
}
@Override
public List searchUser(User user) {
try {
conn = DBUtils.getConn();
String sql = "select * from user where 1=1 ";
List
utils 层
package com.hqyj.psl.utils;
import java.sql.*;
public class DBUtils {
static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConn() throws SQLException {
return DriverManager.getConnection("jdbc:mysql:///javaweb?characterEncoding=utf-8","root","root");
}
public static void close(ResultSet rs,PreparedStatement ps,Connection conn){
if (rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (ps!=null){
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
package com.hqyj.psl.utils; import java.util.List; public class PageUtil{ private int pageNum; private int passSize; private int totalCount; private List pageInfo; public int getPageNum() { return pageNum; } public void setPageNum(int pageNum) { this.pageNum = pageNum; } public int getPassSize() { return passSize; } public void setPassSize(int passSize) { this.passSize = passSize; } public int getTotalCount() { return totalCount; } public void setTotalCount(int totalCount) { this.totalCount = totalCount; } public List getPageInfo() { return pageInfo; } public void setPageInfo(List pageInfo) { this.pageInfo = pageInfo; } }
entity层
package com.hqyj.psl.entity;
public class Administrator {
private int id;
private String userName;
private String userPwd;
public Administrator(int id, String userName, String userPwd) {
this.id = id;
this.userName = userName;
this.userPwd = userPwd;
}
public Administrator() {
}
@Override
public String toString() {
return "administrotar{" +
"id=" + id +
", userName='" + userName + ''' +
", userPwd='" + userPwd + ''' +
'}';
}
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 getUserPwd() {
return userPwd;
}
public void setUserPwd(String userPwd) {
this.userPwd = userPwd;
}
}
package com.hqyj.psl.entity;
public class User {
private int id;
private String userName;
private String userAge;
private String userSex;
private String userTel;
public User() {
}
public User(int id, String userName, String userAge, String userSex, String userTel) {
this.id = id;
this.userName = userName;
this.userAge = userAge;
this.userSex = userSex;
this.userTel = userTel;
}
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 getUserAge() {
return userAge;
}
public void setUserAge(String userAge) {
this.userAge = userAge;
}
public String getUserSex() {
return userSex;
}
public void setUserSex(String userSex) {
this.userSex = userSex;
}
public String getUserTel() {
return userTel;
}
public void setUserTel(String userTel) {
this.userTel = userTel;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", userName='" + userName + ''' +
", userAge='" + userAge + ''' +
", userSex='" + userSex + ''' +
", userTel='" + userTel + ''' +
'}';
}
}
filter 层
package com.hqyj.psl.Filter;
import javax.servlet.*;
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 CodeFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest)servletRequest;
HttpServletResponse resp = (HttpServletResponse)servletResponse;
req.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=utf-8");
filterChain.doFilter(req,resp);
}
@Override
public void destroy() {
}
}
package com.hqyj.psl.Filter;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
public class LoginFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest)servletRequest;
HttpServletResponse resp = (HttpServletResponse)servletResponse;
String requestURI = req.getRequestURI();
if (requestURI.endsWith("login1.jsp")||requestURI.endsWith("login")||requestURI.endsWith("login.jsp")||requestURI.contains("jpg")){
// System.out.println(requestURI+" sssss");
filterChain.doFilter(req,resp);
}else {
HttpSession session = req.getSession();
String name =(String) session.getAttribute("name");
System.out.println(name);
if (name!=null){
// System.out.println(name);
filterChain.doFilter(req,resp);
}else {
// System.out.println("........");
req.getRequestDispatcher("./login.jsp").forward(req,resp);
}
}
}
@Override
public void destroy() {
}
}
web.xml中的配置 编码过滤以及登录过滤
CodeFilter com.hqyj.psl.Filter.CodeFilter CodeFilter /* LoginFilter com.hqyj.psl.Filter.LoginFilter LoginFilter /*
总结
该文章上传了核心代码,部分类的的定义以及接口没有上传,可以从实现类中看出
小编也是小白,如有错误,请提出意见,互相进步。
有问题请评论哦!



