DAO层
package com.ming.book.dao;
import com.ming.book.bean.Notice;
import com.ming.book.bean.User;
import com.ming.book.util.DBHelper;
import org.apache.commons.dbutils.QueryRunner;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/**
* @author 19529
*/
public class ManageUserDao {
/**工具类*/
QueryRunner runner = new QueryRunner();
public User findById(int id) {
User user = null;
Connection conn = null;
try {
conn = DBHelper.getConnection();
String sql = "select id, name,pwd, usertype from user where id = ?";
user = runner.query(conn, sql, resultSet -> {
resultSet.next();
return new User(resultSet.getLong("id"), resultSet.getString("name"), resultSet.getString("pwd"), resultSet.getString("usertype"));
}, id);
} catch (SQLException t) {
t.printStackTrace();
} finally {
DBHelper.close(conn);
}
return user;
}
/**查询全部公告*/
public List<User> findAll() {
List<User> user = null;
Connection conn = null;
try {
conn = DBHelper.getConnection();
String sql = "select id,name,pwd,usertype from user";
user = runner.query(conn, sql, resultSet -> {
List<User> users = new ArrayList<>();
while (resultSet.next())
users.add(new User(resultSet.getLong("id"), resultSet.getString("name"), resultSet.getString("pwd"), resultSet.getString("usertype")));
return users;
});
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBHelper.close(conn);
}
return user;
}
/**根据ID 更新公告*/
public int updateById(User user) {
Connection connection = null;
int ans = 0;
try {
connection = DBHelper.getConnection();
String sql = "update user set name = ?, pwd = ?, usertype = ?";
ans = runner.update(connection, sql, user.getName(), user.getPwd(), user.getUsertype(), user.getId());
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBHelper.close(connection);
}
return ans;
}
/**根据ID 删除公告*/
public int deleteById(int id) {
Connection connection = null;
int ans = 0;
try {
connection = DBHelper.getConnection();
String sql = "delete from user where id = ?";
ans = runner.update(connection, sql, id);
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBHelper.close(connection);
}
return ans;
}
}
Biz层
package com.ming.book.biz;
import com.ming.book.bean.Notice;
import com.ming.book.bean.User;
import com.ming.book.dao.ManageUserDao;
import com.ming.book.dao.NoticeDao;
import java.util.Date;
import java.util.List;
/**
* @author 19529
*/
public class ManageUserBiz {
private ManageUserDao manageUserDao= new ManageUserDao();
/**查询全部公告*/
public List<User> findAll() {
return manageUserDao.findAll();
}
/**根据ID 查询公告*/
public User findById(int id) {
return manageUserDao.findById(id);
}
/**根据ID 更新公告*/
public int updateById(int id, String name, String pwd, String usertype) {
User user = new User(id, name, pwd, usertype);
return manageUserDao.updateById(user);
}
/**根据ID 删除公告*/
public int deleteById(int id) {
return manageUserDao.deleteById(id);
}
}
Bean
package com.ming.book.bean;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Date;
/**
* 保存用户的信息
* 1.Serializable
* 2.私有的属性
* 3.getter/setter
* 4.默认的构造
*
* @author 19529
*/
public class User implements Serializable {
public User(String name, String pwd, String usertype) {
this.name= name;
this.pwd= pwd;
this.usertype = usertype;
}
public User(long id, String name, String pwd, String usertype) {
this.id = id;
this.name = name;
this.pwd= pwd;
this.usertype = usertype;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", pwd='" + pwd + '\'' +
", state=" + state +
", usertype='" + usertype + '\'' +
'}';
}
private long id;
private String name;
private String pwd;
private long state;
private String usertype ;
public User() {
}
public User(String name) {
this.name = name;
}
public User(String name, String usertype) {
this.name = name;
this.usertype = usertype;
}
public User(long id, String name, String usertype) {
this.id = id;
this.name = name;
this.usertype = usertype;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public long getState() {
return state;
}
public void setState(long state) {
this.state = state;
}
public String getUsertype() {
return usertype;
}
public void setUsertype(String usertype) {
this.usertype = usertype;
}
}
Servlet层
package com.ming.book.action;
import com.ming.book.bean.User;
import com.ming.book.biz.ManageUserBiz;
import com.ming.book.biz.NoticeBiz;
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.io.PrintWriter;
/**
* @author 19529
*/
@WebServlet("/manageUser")
public class ManageUserServlet extends HttpServlet {
private ManageUserBiz manageUserBiz = new ManageUserBiz();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 字符编码
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
// 权限效验
PrintWriter out = resp.getWriter();
HttpSession session = req.getSession();
User user = (User) session.getAttribute("user");
if (user == null) {
out.println("<script>alert('请登录');parent.window.location.href='login.html';</script>");
return;
}
// 请求类型
String type = req.getParameter("type");
switch (type) {
case "manage":
// 存request
req.setAttribute("users", manageUserBiz.findAll());
// 转发
req.getRequestDispatcher("user_list.jsp").forward(req, resp);
break;
case "del":
int del = manageUserBiz.deleteById(Integer.parseInt(req.getParameter("id")));
if(del == 1) {
// 存request
req.setAttribute("users", manageUserBiz.findAll());
// 转发
req.getRequestDispatcher("user_list.jsp").forward(req, resp);
} else {
out.println("<script>alert('删除公告失败 请联系管理员解决!!!');</script>");
}
break;
case "edit":
// 存request
req.setAttribute("user",manageUserBiz.findById(Integer.parseInt(req.getParameter("id"))));
// 转发
req.getRequestDispatcher("useredit.jsp").forward(req, resp);
break;
case "show":
// 存request
req.setAttribute("user",manageUserBiz.findById(Integer.parseInt(req.getParameter("id"))));
// 转发
req.getRequestDispatcher("user_show.jsp").forward(req, resp);
break;
case "update":
int update = manageUserBiz.updateById(Integer.parseInt(req.getParameter("id")), req.getParameter("name"), user.getName(), req.getParameter("pwd"));
if(update == 1) {
// 存request
req.setAttribute("users", manageUserBiz.findAll());
// 转发
req.getRequestDispatcher("user_list.jsp").forward(req, resp);
} else {
out.println("<script>alert('修改公告失败 请联系管理员解决!!!');</script>");
}
break;
}
}
}
jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html >
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="keywords" content = "图书 java jsp"/>
<meta http-equiv="author" content="phenix"/>
<link rel="stylesheet" type="text/css" href="./Style/skin.css" />
</head>
<body>
<table width="100%" border="0" cellpadding="0" cellspacing="0" style="height: 600px;">
<!-- 头部开始 -->
<tr>
<td width="17" valign="top" background="./Images/mail_left_bg.gif">
<img src="./Images/left_top_right.gif" width="17" height="29" />
</td>
<td valign="top" background="./Images/content_bg.gif">
</td>
<td width="16" valign="top" background="./Images/mail_right_bg.gif"><img src="./Images/nav_right_bg.gif" width="16" height="29" /></td>
</tr>
<!-- 中间部分开始 -->
<tr>
<!--第一行左边框-->
<td valign="middle" background="./Images/mail_left_bg.gif"> </td>
<!--第一行中间内容-->
<td valign="top" bgcolor="#F7F8F9">
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<!-- 空白行-->
<tr><td colspan="2" valign="top"> </td><td> </td><td valign="top"> </td></tr>
<tr>
<td colspan="4">
<table>
<tr>
<td width="100" align="center"><img src="./Images/mime.gif" /></td>
<td valign="bottom"><h3 style="letter-spacing:1px;">账号中心 > 账号管理 </h3></td>
</tr>
</table>
</td>
</tr>
<!-- 一条线 -->
<tr>
<td height="40" colspan="4">
<table width="100%" height="1" border="0" cellpadding="0" cellspacing="0" bgcolor="#CCCCCC">
<tr><td></td></tr>
</table>
</td>
</tr>
<!-- 产品列表开始 -->
<tr>
<td width="2%"> </td>
<td width="96%">
<table width="100%" valign="top">
<tr>
<td colspan="2">
<table width="100%" class="cont tr_color">
<tr>
<th>编号</th>
<th>账号</th>
<th>密码</th>
<th>角色</th>
<th>操作</th>
${sessionScope.user.usertype == 1 || sessionScope.user.usertype == 2 ? '<th><a href="register.jsp" style="color: red">增加</a></th>' : ''}
</tr>
<c:forEach items="${users}" var="b">
<tr align="center" class="d">
<td>${b.id}</td>
<td>${b.name}</td>
<td>${b.pwd}</td>
<td>${b.usertype}</td>
<td>
<a href="manageUser?type=edit&id=${b.id}">修改</a>
<a onclick="return confirm('确认删除');" href="manageUser?type=del&id=${b.id}">删除</a>
<
<a href="manageUser?type=show&id=${b.id}">查看</a>
</td>
</tr>
</c:forEach>
</table>
</td>
</tr>
</table>
</td>
<td width="2%"> </td>
</tr>
<!-- 产品列表结束 -->
<tr>
<td height="40" colspan="4">
<table width="100%" height="1" border="0" cellpadding="0" cellspacing="0" bgcolor="#CCCCCC">
<tr><td></td></tr>
</table>
</td>
</tr>
<tr>
<td width="2%"> </td>
<td width="51%" class="left_txt">
<img src="./Images/icon_mail.gif" width="16" height="11"> 客户服务邮箱:2087924818@qq.com<br />
</td>
<td> </td><td> </td>
</tr>
</table>
</td>
<td background="./Images/mail_right_bg.gif"> </td>
</tr>
<!-- 底部部分 -->
<tr>
<td valign="bottom" background="./Images/mail_left_bg.gif">
<img src="./Images/buttom_left.gif" width="17" height="17" />
</td>
<td background="./Images/buttom_bgs.gif">
<img src="./Images/buttom_bgs.gif" width="17" height="17">
</td>
<td valign="bottom" background="./Images/mail_right_bg.gif">
<img src="./Images/buttom_right.gif" width="16" height="17" />
</td>
</tr>
</table>
</body>
</html>
页面截图
无法显示user表
数据库 user表截图
我错在哪里了啊?