zoukankan      html  css  js  c++  java
  • jsp+servlet+Tomcat+mysql实现用户注册、登录、查看、修改实例之——用户删除

    学习javaWeb,首先要学习基础的jsp,servlet,弄通了机制然后就得心应手了。我们来实现一个简单的实例来学习。


    我们的任务有:1.数据库及表创建

           2.实现用户注册

           3.实现用户登录

           4.实现用户列表显示

           5.实现用户删除

           6.实现用户信息查看

           7.实现用户信息修改


     上节实现的是用户列表显示,本节来实现用户删除

    五、实现用户删除

    用户删除操作在用户列表界面进行,可以分为:

          1.单条数据删除

          2.批量删除

    1.单条用户删除

      单条用户删除是通过超链接方式,用get方式向servlet提交一个id,依照这个id对数据库中的记录进行删除操作。

      在生成每条数据的时候,添加上如下代码:

    1 <td><a href="servlet/ServletUserDelete?userId=<%=user.getUserId() %>">删除</a></td>

      (注:页面详细代码,请参见:用户列表显示页面代码

      这样后台就会得到userId=<%=user.getUserId() %>,然后就可以调用数据库中的方法,ServletDeleteUser.javadoGet()如下:

     1 public void doGet(HttpServletRequest request, HttpServletResponse response)
     2             throws ServletException, IOException {
     3 
     4         int userId = Integer.parseInt(request.getParameter("userId"));
     5         UserDao userDao = new UserDao();
     6         userDao.deleteOneUser(userId);
     7         ArrayList<UserVo> list = userDao.selectNotDeleteList();
     8         request.setAttribute("list", list);
     9         request.getRequestDispatcher("/userlist.jsp").forward(request, response);
    10     }

      而在UserDao.java中的deleteOneUser(String userId)方法如下:

     1 public void deleteOneUser(int userId) {
     2         // 删除单条记录方法
     3         Dbmanage dbmanage = new Dbmanage();
     4         Connection conn = null;
     5         Statement sta = null;
     6 
     7         try {
     8             conn = dbmanage.initDB();
     9             sta = conn.createStatement();
    10             String sql = "UPDATE userTable SET user_display = 0 WHERE user_id ="
    11                     + userId;
    12             sta.executeUpdate(sql);
    13         } catch (SQLException e) {
    14 
    15             e.printStackTrace();
    16         } finally {
    17             // 执行完关闭数据库
    18             dbmanage.closeDB(sta, conn);
    19         }
    20 
    21     }

      这样,单条数据删除就实现了,删除完(实际是设置显示状态为0,检索的时候不检索,并非真的删除数据

      之后重新查询并导向了userlist.jsp页面。

    2.批量删除

      批量删除则是通过form表单用post方式向后台提交了要删除的数据id,然后servlet在得到数组之后,调用UserDao中方法进行批量删除。

      前台用户选中要删除数据前面的checkbox框,然后点击批量删除,多选,反选checkbox框操作不再一一赘述。

      (注:页面详细代码,请参见:用户列表显示页面代码

      在ServletDeleteUser.javadoPost()方法中即可得到checkbox框的数组,代码如下:

     1 public void doPost(HttpServletRequest request, HttpServletResponse response)
     2             throws ServletException, IOException {
     3 
     4         String UserId[] = request.getParameterValues("num");
     5         UserDao userDao = new UserDao();
     6         userDao.deleteUserList(UserId);
     7         
     8         ArrayList<UserVo> list=userDao.selectNotDeleteList();
     9         request.setAttribute("list", list);
    10         request.getRequestDispatcher("/userlist.jsp").forward(request, response);
    11     }

      而在UserDao.java中的deleteOneUserList(String [] userId)方法如下:

     1 public void deleteUserList(String[] userId) {
     2         // 批量刪除记录方法
     3         Dbmanage dbmanage = new Dbmanage();
     4         Connection conn = null;
     5         Statement sta = null;
     6 
     7         try {
     8             conn = dbmanage.initDB();
     9             sta = conn.createStatement();
    10             int Id = 0;
    11             for (int i = 0; i < userId.length; i++) {
    12 
    13                 // 循环遍历集合中的元素,然后逐个删除
    14                 Id = Integer.parseInt(userId[i]);
    15                 String sql = "UPDATE userTable SET user_display = 0 WHERE user_id ="
    16                         + Id;
    17                 sta.executeUpdate(sql);
    18             }
    19 
    20         } catch (SQLException e) {
    21 
    22             e.printStackTrace();
    23         } finally {
    24             // 执行完关闭数据库
    25             dbmanage.closeDB(sta, conn);
    26         }
    27 
    28     }

      到这里,批量删除就实现了,需要注意的是,如果不选中任何数据项,直接点击‘批量删除’,会报空指针异常,

    因此需要做的还有未选中处理,这里不再说明。


     链接导航   1.数据库及表创建

           2.实现用户注册

           3.实现用户登录

           4.实现用户列表显示

           5.实现用户删除

           6.实现用户信息查看

           7.实现用户信息修改


  • 相关阅读:
    【转】Maven 手动添加 JAR 包到本地仓库
    上海畅采电子商务面试题总结
    及善网络科技面试总结
    解析P2P金融的业务安全
    html中返回上一页的各种写法【转】
    Myeclipse 修改Jboss5.x 端口号 8080 改为80
    JavaScript isNaN() 函数的用法
    oracle用户创建及权限设置[转]
    广州亿讯公司(国企)部分题目
    # Java 面试题总结
  • 原文地址:https://www.cnblogs.com/tzhz/p/3085807.html
Copyright © 2011-2022 走看看