Servlet实现对数据库数据的增删改查完整代码

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>

 

 

Guess you like

Origin blog.csdn.net/qq_45299673/article/details/118059795