JavaBean层User.java代码
public class User {
private int id;
private String uname;
private String sex;
private String birthday;
private String pwd;
public User() {
}
public User(int id, String uname, String sex, String birthday, String pwd) {
this.id = id;
this.uname = uname;
this.sex = sex;
this.birthday = birthday;
this.pwd = pwd;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
service层接口UserService.java代码
package com.cn.xszx.service;
import com.cn.xszx.javaBean.pojo.User;
import java.sql.SQLException;
import java.util.List;
public interface UserService {
//查询全部
List<User> userList();
//根据ID查询
User getUserById(int id);
//根据name查询
User getUserByName(String uname);
//修改
void updateUser(User user) throws SQLException;
//删除
void deleteUser(User user);
//添加
void saveUser(User user);
}
service层实现接口UserServiceImp.java代码
package com.cn.xszx.service.imp;
import com.cn.xszx.dao.UserDao;
import com.cn.xszx.javaBean.pojo.User;
import com.cn.xszx.service.UserService;
import java.sql.SQLException;
import java.util.List;
public class UserServiceImp implements UserService {
UserDao dao=new UserDao();
@Override
public List<User> userList() {
return dao.userList();
}
@Override
public User getUserById(int id) {
return dao.getUserById(id);
}
@Override
public User getUserByName(String uname) {
return dao.getUserByName(uname);
}
@Override
public void updateUser(User user) throws SQLException {
dao.updateUser(user);
}
@Override
public void deleteUser(User user) {
dao.deleteUser(user);
}
@Override
public void saveUser(User user) {
dao.saveUser(user);
}
}
servlet层UserServlet.java代码
@WebServlet("/userServlet")
public class UserServlet extends HttpServlet {
private UserService service=new UserServiceImp();
private HttpServletRequest request;
private HttpServletResponse response;
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.request=req;
this.response=resp;
String method = req.getParameter("method");
if(method.equals("userList")){
this.userList();
}
if(method.equals("deleteUser")){
this.deleteUser();
}
if(method.equals("toUpdateUser")){
this.toUpdateUser();
}
if(method.equals("updateUser")){
try {
this.updateUser();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if(method.equals("toSaveUser")){
this.toSaveUser();
}
if(method.equals("addUser")){
this.addUser();
}
if(method.equals("getUserByName")){
this.getUserByName();
}
}
private void getUserByName() throws ServletException, IOException {
String uname = request.getParameter("uname");
User user = service.getUserByName(uname);
request.setAttribute("user",user);
request.getRequestDispatcher("user_jsp/getUserByName.jsp").forward(request,response);
}
private void addUser() throws IOException {
String uname = request.getParameter("uname");
String sex = request.getParameter("sex");
String birthday = request.getParameter("birthday");
String pwd = request.getParameter("pwd");
User user=new User(0,uname,sex,birthday,pwd);
service.saveUser(user);
response.sendRedirect("userServlet?method=userList");
}
private void toSaveUser() throws IOException {
response.sendRedirect("user_jsp/addUser.jsp");
}
private void updateUser() throws IOException, SQLException {
request.setCharacterEncoding("UTF-8");
int id = Integer.parseInt(request.getParameter("id"));
String uname = request.getParameter("uname");
String sex = request.getParameter("sex");
String birthday = request.getParameter("birthday");
String pwd = request.getParameter("pwd");
User user=new User(id,uname,sex,birthday,pwd);
System.out.println(user.getUname());
service.updateUser(user);
response.sendRedirect("userServlet?method=userList");
}
private void toUpdateUser() throws ServletException, IOException {
int id = Integer.parseInt(request.getParameter("id"));
User user = service.getUserById(id);
request.setAttribute("user",user);
request.getRequestDispatcher("user_jsp/updateUser.jsp").forward(request,response);
}
private void deleteUser() throws ServletException, IOException {
int id = Integer.parseInt(request.getParameter("id"));
User user=new User();
user.setId(id);
service.deleteUser(user);
response.sendRedirect("userServlet?method=userList");
}
private void userList() throws ServletException, IOException {
List<User> list = service.userList();
request.setAttribute("list",list);
request.getRequestDispatcher("user_jsp/userList.jsp").forward(request,response);
}
}
工具封装JDBC连接数据库MyJDBC.java
public class MyJDBC {
public static Connection getConnection(){
Connection connection=null;
try {
Context context = new InitialContext();
DataSource dataSource = (DataSource) context.lookup("java:comp/env/jdbc/user_");
connection= dataSource.getConnection();
} catch (NamingException | SQLException e) {
e.printStackTrace();
}
return connection;
}
public static void close(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 throwables) {
throwables.printStackTrace();
}
}
if(connection!=null){
try {
connection.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
public static void close(Statement statement,Connection connection){
close(null,statement,connection);
}
}
web层代码
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>首页</title>
</head>
<body>
<a href="userServlet?method=userList">查询</a>
</body>
</html>
userList.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>Title</title>
</head>
<%
String path = request.getContextPath();
%>
<body>
<table border="1">
<tr>
<td>编号</td>
<td>姓名</td>
<td>性别</td>
<td>生日</td>
<td>密码</td>
<td>操作</td>
</tr>
<c:forEach items="${list}" var="user">
<tr>
<td>${user.id}</td>
<td>${user.uname}</td>
<td>${user.sex}</td>
<td>${user.birthday}</td>
<td>${user.pwd}</td>
<td>
<a href="userServlet?method=deleteUser&id=${user.id}">删除</a>
<a href="userServlet?method=toUpdateUser&id=${user.id}">修改</a>
</td>
</tr>
</c:forEach>
</table>
<button type="button" onclick="window.location.href='userServlet?method=toSaveUser'">添加</button>
<form action="<%=path%>/userServlet" method="get">
<input type="hidden" name="method" value="getUserByName">
<input type="text" name="uname">
<input type="submit" value="根据姓名查找">
</form>
</body>
</html>
addUser.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
String path=request.getContextPath();
%>
<html>
<head>
<title>添加用户</title>
</head>
<body>
<form action="<%=path%>/userServlet" method="get">
<input type="hidden" name="method" value="addUser">
<table>
<tr>
<td>姓名:</td>
<td><input type="text" name="uname" value=""></td>
</tr>
<tr>
<td>性别:</td>
<td><input type="text" name="sex" value=""></td>
</tr>
<tr>
<td>生日:</td>
<td><input type="text" name="birthday" value=""></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="text" name="pwd" value=""></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="提交"></td>
</tr>
</table>
</form>
</body>
</html>
updateUser.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="userServlet" method="get">
<input type="hidden" name="method" value="updateUser">
<table>
<tr>
<td>编号:</td>
<td><input readonly type="text" name="id" value="${user.id}"></td>
</tr>
<tr>
<td>姓名:</td>
<td><input type="text" name="uname" value="${user.uname}"></td>
</tr>
<tr>
<td>性别:</td>
<td><input type="text" name="sex" value="${user.sex}"></td>
</tr>
<tr>
<td>生日:</td>
<td><input type="text" name="birthday" value="${user.birthday}"></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="text" name="pwd" value="${user.pwd}"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="提交"></td>
</tr>
</table>
</form>
</body>
</html>
getUserByName.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>根据姓名查询</title>
</head>
<body>
<table border="1">
<tr>
<td>编号</td>
<td>姓名</td>
<td>性别</td>
<td>生日</td>
<td>密码</td>
</tr>
<tr>
<td>${requestScope.user.id}</td>
<td>${requestScope.user.uname}</td>
<td>${requestScope.user.sex}</td>
<td>${requestScope.user.birthday}</td>
<td>${requestScope.user.pwd}</td>
</tr>
</table>
</body>
</html>