MyBatis+Filter+Servlet+Jsp+Bootstrap框架环境的实现页面操作案例

一、技术组合框架的详情

  这是一个采用 MyBatis 框架、Filter 过滤器、Servlet 容器、Jsp 页面、Bootstrap 前端框架实现增删改查的基础页面。由于采用了注解的方式,所以在 MyBatis 中的 Mapper 映射文件可以省略不写。 而 Filter 过滤器和 Servler 容器也是采用了注解的方式,故 web.xml 文件不做配置。

二、技术组合案例的实现

1、User 实体类
public class User {
	/*与数据库相对应的字段*/
    private Integer id;                     /*用户编号(数据库id自增)*/
    private String userName;                	/*用户名称*/
    private Date birthday;                  /*出生日期*/
    private String sex;                     	/*性别*/
    private String address;                 /*地址*/
    private Integer roleId;						/*用户角色编号*/

	/*提供getter和setter方法*/
    public Integer getId() { return id; }
    public void setId(Integer id) { this.id = id; }
    public String getUserName() { return userName; }
    public void setUserName(String userName) { this.userName = userName; }
    public Date getBirthday() { return birthday; }
    public void setBirthday(Date birthday) { this.birthday = birthday; }
    public String getSex() { return sex; }
    public void setSex(String sex) { this.sex = sex; }
    public String getAddress() { return address; }
    public void setAddress(String address) { this.address = address; }
    public Integer getRoleId() { return roleId; }
    public void setRoleId(Integer roleId) { this.roleId = roleId; }

	/*无参构造方法*/
    public User() { }

	/*有参构造方法*/
    public User(Integer id, String userName, Date birthday, String sex, String address, Integer roleId) {
        this.id = id;
        this.userName = userName;
        this.birthday = birthday;
        this.sex = sex;
        this.address = address;
        this.roleId = roleId;
    }

	/*将对象转换为字符串*/
    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", userName='" + userName + '\'' +
                ", birthday=" + birthday +
                ", sex='" + sex + '\'' +
                ", address='" + address + '\'' +
                ", roleId='" + roleId + '\'' +
        '}';
    }
}
2、Role 实体类
public class Role {
	/*与数据库相对应的字段*/
    private Integer id;                     /*角色编号*/
    private String roleCode;                    /*角色编码*/
    private String roleName;                /*角色名称*/

	/*提供getter和setter方法*/
    public Integer getId() { return id; }
    public void setId(Integer id) { this.id = id; }
    public String getRoleCode() { return roleCode; }
    public void setRoleCode(String roleCode) { this.roleCode = roleCode; }
    public String getRoleName() { return roleName; }
    public void setRoleName(String roleName) { this.roleName = roleName; }

	/*无参构造方法*/
    public Role() { }

	/*有参构造方法*/
    public Role(Integer id, String roleCode, String roleName) {
        this.id = id;
        this.roleCode = roleCode;
        this.roleName = roleName;
    }

	/*将对象转换为字符串*/
    @Override
    public String toString() {
        return "Role{" +
                "id=" + id +
                ", roleCode='" + roleCode + '\'' +
                ", roleName='" + roleName + '\'' +
        '}';
    }
}
3、数据访问层 UserDao 接口(使用注解的方式)
public interface UserDao {
    /*查询用户的信息*/
    @Select("SELECT * FROM `user`")
    List<User> getUserList();

    /*添加用户的信息(用户编号数据库自增)*/
    @Insert("INSERT INTO `user` VALUES (NULL,#{userName},#{birthday},#{sex},#{address}")
    Integer addUserList(User user);

    /*根据用户编号查询用户的信息*/
    @Select("SELECT * FROM `user` WHERE id = #{id}")
    User getUserById(@Param("id") Integer id);

    /*修改用户的信息*/
    @Update("UPDATE `user` SET userName = #{userName},birthday = #{birthday},sex = #{sex},address = #{address}")
    Integer updateUserList(User user);

    /*删除用户的信息*/
    @Delete("DELETE FROM `user` WHERE id = #{id}")
    Integer deleteUserList(@Param("id") Integer id);
}
4、数据访问层 RoleDao 接口(使用注解的方式)
public interface RoleDao {
    /*获取用户角色的信息*/
    @Select("SELECT * FROM `role`")
    List<Role> getRoleList();
}
5、MyBatis 工具类
public class MyBatisTools {
    /*创建SqlSessionFactory对象*/
    private static SqlSessionFactory factory = null;

    /*在静态代码块下,factory只会创建一次*/
    static{
        try {
            /*创建输入流对象,读取mybatis-configure.xml配置文件*/
            InputStream stream = Resources.getResourceAsStream("/mybatis-configure.xml");
            factory = new SqlSessionFactoryBuilder().build(stream);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /*创建SqlSession对象和打开SqlSession会话*/
    public static SqlSession createSqlSession(){
        return factory.openSession(true);	/*true为自动提交事务*/
    }

    /*关闭SqlSession会话*/
    public static void closeSqlSession(SqlSession SqlSession){
        if (SqlSession != null) {
            SqlSession.close();
        }
    }
}
6、数据库信息配置文件(database.properties)
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/book
username=root
password=root
7、MyBatis 的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!--引入数据库配置文件-->
    <properties resource="database.properties"/>

    <!--配置别名-->
    <typeAliases>
        <package name="entity"/>
    </typeAliases>

    <!--配置数据库信息-->
    <environments default="goods">
        <environment id="goods">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>

    <!--配置映射文件的路径-->
    <mappers>
    	<!--扫描 UserDao 接口中的方法-->
        <package name="dao"/>
    </mappers>
</configuration>
8、业务逻辑层 UserService 接口
public interface UserService {
    /*查询用户的信息*/
    List<User> findUserList();

    /*添加用户的信息*/
    boolean plusUserList(User user);

    /*根据用户编号查询用户的信息*/
    User findUserById(@Param("id") Integer id);

    /*修改用户的信息*/
    boolean modifyUserList(User user);

    /*删除用户的信息*/
    boolean removeUserList(@Param("id") Integer id);
}
9、业务逻辑层 RoleService 接口
public interface RoleService {
    /*查询用户的信息*/
    List<Role> findRoleList();
}
10、业务逻辑层 UserServiceImpl 实现类
public class UserServiceImpl implements UserService {
    @Override
    public List<User> findUserList() {
        /*获取SqlSession会话对象*/
        SqlSession sqlSession = MyBatisTools.createSqlSession();

        /*获取UserDao代理对象*/
        UserDao dao = sqlSession.getMapper(UserDao.class);

        /*从数据访问层获取数据*/
        List<User> userList = dao.getUserList();

        /*释放资源*/
        MyBatisTools.closeSqlSession(sqlSession);

        /*返回结果对象*/
        return userList;
    }

    @Override
    public boolean plusUserList(User user) {
        /*获取SqlSession会话对象*/
        SqlSession sqlSession = MyBatisTools.createSqlSession();

        /*获取UserDao代理对象*/
        UserDao dao = sqlSession.getMapper(UserDao.class);

        /*获取受影响的行数*/
        Integer count = dao.addUserList(user);

        /*释放资源*/
        MyBatisTools.closeSqlSession(sqlSession);

        /*返回已添加true&未添加false*/
        return count > 0 ? true : false;
    }

    @Override
    public User findUserById(Integer id) {
        /*获取SqlSession会话对象*/
        SqlSession sqlSession = MyBatisTools.createSqlSession();

        /*获取UserDao代理接口*/
        UserDao dao = sqlSession.getMapper(UserDao.class);

        /*从数据访问层获取数据*/
        User user = dao.getUserById(id);

        /*释放资源*/
        MyBatisTools.closeSqlSession(sqlSession);

        /*获取结果对象*/
        return user;
    }

    @Override
    public boolean modifyUserList(User user) {
        /*获取SqlSession会话对象*/
        SqlSession sqlSession = MyBatisTools.createSqlSession();

        /*获取UserDao代理对象*/
        UserDao dao = sqlSession.getMapper(UserDao.class);

        /*获取受影响的行数*/
        Integer count = dao.updateUserList(user);

        /*释放资源*/
        MyBatisTools.closeSqlSession(sqlSession);

        /*返回已修改true&未修改false*/
        return count > 0 ? true : false;
    }

    @Override
    public boolean removeUserList(Integer id) {
        /*获取SqlSession会话对象*/
        SqlSession sqlSession = MyBatisTools.createSqlSession();

        /*获取UserDao代理对象*/
        UserDao dao = sqlSession.getMapper(UserDao.class);

        /*获取受影响的行数*/
        Integer count = dao.deleteUserList(id);

        /*释放资源*/
        MyBatisTools.closeSqlSession(sqlSession);

        /*返回已删除true&未删除false*/
        return count > 0 ? true : false;
    }
}
11、业务逻辑层 RoleServiceImpl 实现类
public class RoleServiceImpl implements RoleService {
    @Override
    public List<Role> findRoleList() {
        /*获取SqlSession会话对象*/
        SqlSession sqlSession = MyBatisTools.createSqlSession();

        /*获取RoleDao代理对象*/
        RoleDao dao = sqlSession.getMapper(RoleDao.class);

        /*从数据访问层获取用户角色数据*/
        List<Role> roleList = dao.getRoleList();

        /*释放资源*/
        MyBatisTools.closeSqlSession(sqlSession);

        /*返回用户角色数据*/
        return roleList;
    }
}
12、Filter 的配置(使用注解的方式),处理请求与响应时的中文乱码
@WebFilter(filterName = "EncodingFilter", urlPatterns = "/*")
public class EncodingFilter implements Filter {
    @Override
    public void init(FilterConfig config) throws ServletException { }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws ServletException, IOException {
        /*1.将servletRequest, servletResponse父接口转换为子接口*/
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;

        /*2.处理post提交中文乱码*/

        /*获取提交数据的方法类型*/
        String method = request.getMethod();

        /*判断提交数据访问为post请求才处理乱码*/
        if("post".equalsIgnoreCase(method)){
            request.setCharacterEncoding("utf-8");
        }

        /*3.处理response输出中文乱码*/
        response.setContentType("text/html;charset=utf-8");

        /*4.放行*/
        filterChain.doFilter(request, response);
    }

    @Override
    public void destroy() { }
}
13、处理 list.jsp 页面查询请求的 GetUserServlet 类
@WebServlet(name = "GetUserServlet", urlPatterns = "/GetUserServlet")
public class GetUserServlet extends HttpServlet {
    /*获取业务层对象*/
    private UserService service = new UserServiceImpl();

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        /*调用业务层获取用户的数据*/
        List<User> userList = service.findUserList();

        /*存入请求域中*/
        request.setAttribute("userList", userList);

        /*跳转到list.jsp页面*/
        request.getRequestDispatcher("/list.jsp").forward(request, response);
    }
}
14、list.jsp 页面实现用户信息展示
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<!DOCTYPE html>
<!-- 网页使用的语言 -->
<html lang="zh-CN">
  <head>
    <!-- 指定字符集 -->
    <meta charset="utf-8">
    <!-- 使用Edge最新的浏览器的渲染方式 -->
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <!-- viewport视口:网页可以根据设置的宽度自动进行适配,在浏览器的内部虚拟一个容器,容器的宽度与设备的宽度相同。
    width: 默认宽度与设备的宽度相同
    initial-scale: 初始的缩放比,为1:1 -->
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
    <title>用户列表</title>

    <!-- 1. 导入CSS的全局样式 -->
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <!-- 2. jQuery导入,建议使用1.9以上的版本 -->
    <script src="js/jquery-2.1.0.min.js"></script>
    <!-- 3. 导入bootstrap的js文件 -->
    <script src="js/bootstrap.min.js"></script>
    <style type="text/css">
        td, th { text-align: center; }
    </style>
  </head>
  <body>
    <div class="container">
        <table border="1" cellspacing="0" cellpadding="0" align="center" class="table table-bordered table-hover">
            <caption style="background-color: green"><strong>用户信息列表</strong></caption>
            <tr class="success" style="background-color: yellow">
                <th>用户编号</th
                <th>用户名称</th>
                <th>出生日期</th>
                <th>性别</th>
                <th>地址</th>
                <th>用户角色编号</th>
                <th>操作</th>
            </tr>
            <c:forEach items="${userList}" var="user" varStatus="status">
                <tr ${status.count % 2 == 0 ? "style='background-color:orangered'" : "style='background-color:red'"} align="center">
                    <th>${user.id}</th>
                    <th>${user.userName}</th>
                    <th>${user.birthday}</th>
                    <th>${user.sex}</th>
                    <th>${user.address}</th>
                    <th>
                        <c:if test="${user.roleId == 1}">系统管理员</c:if>
                        <c:if test="${user.roleId == 2}">经理</c:if>
                        <c:if test="${user.roleId == 3}">普通员工</c:if>
                    </th>
                    <td>
                        <a class="btn btn-default btn-sm" href="${pageContext.request.contextPath}/DetailUserServlet?id=${user.id}">修改</a>&nbsp;
                        <a class="btn btn-default btn-sm" onclick='deleteUser(${user.id})'>删除</a>
                    </td>
                </tr>
            </c:forEach>
            <tr style="background-color:deeppink">
                <td colspan="10" align="center"><a class="btn btn-primary" href="${pageContext.request.contextPath}/toAddUserPage">添加用户</a></td>
            </tr>
        </table>
    </div>
    <script type="text/javascript">
        /*删除的点击事件*/
        function deleteUser(id) {
            if (confirm("您确认要删除吗?")) {
                /*提交请求*/
                location.href="${pageContext.request.contextPath}/DeleteUserServlet?id=" + id;
            }
        }
    </script>
  </body>
</html>
15、获取用户角色的信息,并跳转到 addUser.jsp 页面
@WebServlet(name = "AddUserPage", urlPatterns = "/toAddUserPage")
public class AddUserPage extends HttpServlet {
    /*获取业务层用户角色对象*/
    private RoleService roleService = new RoleServiceImpl();

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        /*获取用户角色的信息*/
        List<Role> roleList = roleService.findRoleList();

        /*将用户角色的信息存入请求域中*/
        request.setAttribute("roleList", roleList);

        /*跳转到add.jsp页面*/
        request.getRequestDispatcher("/addUser.jsp").forward(request, response);
    }
}
16、添加用户信息的 addUser.jsp 页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<!-- 网页使用的语言 -->
<html lang="zh-CN">
  <head>
     <base href="<%=basePath%>"/>
     <!-- 指定字符集 -->
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1">
     <title>添加用户</title>
     <link href="css/bootstrap.min.css" rel="stylesheet">
     <script src="js/jquery-2.1.0.min.js"></script>
     <script src="js/bootstrap.min.js"></script>
  </head>

  <body>
    <div class="container" style="width: 400px; text-align: center;">
        <h3 style="text-align: center;">添加用户的信息</h3>
        <form action="${pageContext.request.contextPath}/AddUserServlet" method="post">
            <div class="form-group">
                <label for="userName">用户名称:</label>
                <input type="text" class="form-control" name="userName" placeholder="请输入用户名称"/>
            </div>
            <div class="form-group">
                <label for="birthday">出生日期:</label>
                <input type="text" class="form-control" id="birthday" name="birthday" placeholder="请输入出生日期"/>
            </div>
            <div class="form-group">
                <label for="sex">性别:</label>
                <input type="radio" name="sex" value="男" checked="checked"/><input type="radio" name="sex" value="女"/></div>
            <div class="form-group">
                <label for="address">地址:</label>
                <input type="text" class="form-control" id="address" name="address" placeholder="请输入家庭地址"/>
            </div>
            <div class="form-group">
                <label for="roleId">用户角色:</label>
                <select id="roleId" name="roleId" class="form-control">
                    <option>--请选择用户角色--</option>
                    <c:forEach items="${roleList}" var="role">
                        <option value="${role.id}">${role.roleName}</option>
                    </c:forEach>
                </select>
            </div>
            <div class="form-group" style="text-align: center">
                <input class="btn btn-primary" type="submit" value="提交"/>
                <input class="btn btn-default" type="reset" value="重置"/>
            </div>
        </form>
    </div>
  </body>
</html>
17、实现 addUser.jsp 页面添加用户信息的 AddUserServlet 类
@WebServlet(name = "AddUserServlet", urlPatterns = "/AddUserServlet")
public class AddUserServlet extends HttpServlet {
    /*获取业务层用户对象*/
    private UserService userService = new UserServiceImpl();

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        /*创建用户对象*/
        User user = new User();

        try {
            /*获取表单数据封装到User对象中*/
            BeanUtils.populate(user, request.getParameterMap());

            /*添加用户的信息*/
            boolean flag = userService.plusUserList(user);

            /*返回用户是否添加的信息*/
            if (flag) {
                /*添加用户的信息成功,提示成功再跳转到用户列表GetUserServlet*/
                response.getWriter().write("<script>alert('添加成功');location.href='" + request.getContextPath() + "/GetUserServlet';</script>");
            } else {
                /*添加用户的信息失败,返回用户列表页面*/
                response.getWriter().write("<script>alert('添加失败');history.back();</script>");
            }
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();

            /*添加用户的信息失败,返回用户列表页面*/
            response.getWriter().write("<script>alert('添加失败');history.back();</script>");
        }
    }
}
18、获取被修改用户的信息,并跳转到 updateUser.jsp 页面
@WebServlet(name = "DetailUserServlet", urlPatterns = "/DetailUserServlet")
public class DetailUserServlet extends HttpServlet {
    /*获取业务层用户对象*/
    private UserService userService = new UserServiceImpl();

    /*获取业务层用户角色对象*/
    private RoleService roleService = new RoleServiceImpl();

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        /*获取修改用户的用户编号*/
        Integer id = Integer.valueOf(request.getParameter("id"));

        /*获取修改用户的用户信息*/
        User user = userService.findUserById(id);

        /*获取用户角色的信息*/
        List<Role> roleList = roleService.findRoleList();

        /*将获取的用户对象及用户角色对象存入请求域中*/
        request.setAttribute("user", user);
        request.setAttribute("roleList", roleList);

        /*跳转到update.jsp页面*/
        request.getRequestDispatcher("/updateUser.jsp").forward(request, response);
    }
}
19、修改用户信息的 updateUser.jsp 页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<!-- 网页使用的语言 -->
<html lang="zh-CN">
    <head>
    	<base href="<%=basePath%>"/>
        <!-- 指定字符集 -->
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>修改用户</title>
        <link href="css/bootstrap.min.css" rel="stylesheet">
        <script src="js/jquery-2.1.0.min.js"></script>
        <script src="js/bootstrap.min.js"></script>
    </head>

    <body>
        <div class="container" style="width: 400px; text-align: center;">
            <h3 style="text-align: center;">修改用户的信息</h3>
            <form action="${pageContext.request.contextPath}/UpdateUserServlet" method="post">
                <%--使用隐藏域设置表单项id的值,提交给服务器端使用--%>
                <input type="hidden" name="id" value="${user.id}">
                <div class="form-group">
                    <label for="userName">用户名称:</label>
                    <input type="text" class="form-control" name="userName" value="${user.userName}" placeholder="请输入用户名称"/>
                </div>
                <div class="form-group">
                     <label for="birthday">出生日期:</label>
                     <input type="text" class="form-control" id="birthday" name="birthday" value="${user.birthday}" placeholder="请输入出生日期"/>
                </div>
                <div class="form-group">
                     <label for="sex">性别:</label>
                     <input type="radio" name="sex" value="男" ${user.sex=='男'?'checked="checked"':''}/><input type="radio" name="sex" value="女" ${user.sex=='女'?'checked="checked"':''}/></div>
                <div class="form-group">
                    <label for="address">地址:</label>
                    <input type="text" class="form-control" id="address" name="address" value="${user.address}" placeholder="请输入家庭地址"/>
                </div>
                <div class="form-group">
                    <label for="roleId">用户角色:</label>
                    <select id="roleId" name="roleId" class="form-control">
                        <c:forEach items="${roleList}" var="role">
                            <option value="${role.id}" ${user.roleId == role.id ? 'selected="selected"':''}>${role.roleName}</option>
                        </c:forEach>
                    </select>
                </div>
                <div class="form-group" style="text-align: center">
                    <input class="btn btn-primary" type="submit" value="提交" />
                    <input class="btn btn-default" type="reset" value="重置" />
                </div>
            </form>
        </div>
    </body>
</html>
20、实现 updateUser.jsp 页面修改用户信息的 UpdateUserServlet 类
@WebServlet(name = "UpdateUserServlet", urlPatterns = "/UpdateUserServlet")
public class UpdateUserServlet extends HttpServlet {

    /*获取业务层用户对象*/
    private UserService service = new UserServiceImpl();

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        /*创建User对象*/
        User user = new User();

        try {
            /*获取表单数据封装到User对象中*/
            BeanUtils.populate(user, request.getParameterMap());

            /*修改用户的信息*/
            boolean flag = service.modifyUserList(user);

            /*返回用户是否修改的信息*/
            if (flag) {
                /*修改用户的信息成功,提示成功再跳转到用户详情列表DateilUserServlet*/
                response.getWriter().write("<script>alert('修改成功');location.href='" + request.getContextPath() + "/GetUserServlet';</script>");
            } else {
                /*修改用户的信息失败,返回修改页面*/
                response.getWriter().write("<script>alert('修改失败');history.back();</script>");
            }
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();

            /*修改用户的信息失败,返回修改页面*/
            response.getWriter().write("<script>alert('修改失败');history.back();</script>");
        }
    }
}
21、实现删除用户信息的 DeleteUserServlet 类
@WebServlet(name = "DeleteUserServlet", urlPatterns = "/DeleteUserServlet")
public class DeleteUserServlet extends HttpServlet {
    /**获取业务层用户对象*/
    private UserService service = new UserServiceImpl();

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        /*创建用户对象*/
        User user = new User();

        /*获取删除用户的用户编号*/
        Integer id = Integer.valueOf(request.getParameter("id"));

        /*删除用户的信息*/
        boolean flag = service.removeUserList(id);

        /*获取用户的信息是否删除成功*/
        if (flag) {
            /*删除用户的信息成功,提示成功再跳转到用户详情列表DateilUserServlet*/
            response.getWriter().write("<script>alert('删除成功');location.href='" + request.getContextPath() + "/GetUserServlet';</script>");
        } else {
            /*删除用户的信息失败,返回用户列表页面*/
            response.getWriter().write("<script>alert('删除失败');history.back();</script>");
        }
    }
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值