jsp:

<div class="result-wrap">
<form action="${pageContext.request.contextPath }/DeleteServlet"
method="post">
<div class="result-title">
<div class="result-list">
<!-- <a id="batchDel" href="javascript:void(0)"><input name="uid[]"
type="checkbox">批量删除</a> -->

<input type="checkbox" id="checkall"
name="checkall" onclick="checkAll(checkall)" /> <input
type="submit" value="批量删除" onclick="return confirm('确定删除选择项?')"
align="left">

</div>
</div>
<div class="result-content">
<table class="result-tab" width="100%">
<tr>
<th class="tc" width="5%"></th>
<th>行号</th>
<th>用户编号</th>
<!-- 此处用户编号相当于学生学号,固定不变 -->
<th>用户名</th>
<th>注册人</th>
<th>年龄</th>
<th>性别</th>
<th>编辑</th>
</tr>
<c:forEach items="${list }" var="user" varStatus="stat">
<%-- <c:forEach items="${list }" var="user" > --%>
<!-- varStatus="stat" 用于始终按行号排列 -->
<tr>
<td align="center" class="tc"><input id="${user.uid }"
name="info" value="${user.uid }" type="checkbox"></td>
<td>${stat.count }</td>
<td>${user.uid }</td>
<td>${user.uname }</td>
<td>${user.urealname }</td>
<td>${user.uage }</td>
<td>${user.usex==1?"男":"女" }</td>
<td><a href="edituser?do=editbefore&uid=${user.uid }">修改</a>&nbsp;&nbsp;<a
href="deleteUser?uid=${user.uid }">删除</a></td>
</tr>
</c:forEach>
</table>
<div class="list-page">2 条 1/1 页</div>
</div>
</form>
</div>

js代码:

function checkAll(checkall) {
arr = document.getElementsByName("info");
if (checkall.checked == true) {
for (var i = 0; i < arr.length; i++) {

arr[i].checked = true;
}

} else {
for (var i = 0; i < arr.length; i++) {
if ((arr[i]).checked == false) {
arr[i].checked = true;
} else {
arr[i].checked = false;
}
}
}
}

servlet部分:收集数据,跳转连接

/**
*
*/
package com.qingmang.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.qingmang.dao.UserDao;
import com.qingmang.service.UserService;

/**
* @author administrator
*
*/
public class DeleteServlet extends HttpServlet {

UserDao dao = new UserDao();
UserService service = new UserService();

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
String[] str = request.getParameterValues("info");

/* 如何加非空判断? */
if (str == null) {
request.getRequestDispatcher("user").forward(request, response);
} else {
String ids = "";
for (int i = 0; i < str.length; i++) {
if (i != str.length - 1) {
ids += str[i] + ",";
} else {
ids += str[i];
}
}

service.remove(ids);
out.print("<script>alert('删除成功!');window.location.href='user';</script>");

out.flush();
out.close();

}
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

doGet(request, response);
}

}

dao层:对数据库的处理

/**
* 根据用户id删除用户
* */
public void remove(String uid){
try {
conn = JdbcUtil.getConnection();
String sql="delete from users where uid in (" + uid + ")";
pstmt = conn.prepareStatement(sql);
pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
} finally{
try {
JdbcUtil.close(conn, pstmt);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
}

jsp+servlet+mysql-----------批量删除的更多相关文章

  1. jsp+servlet+mysql 实现简单的银行登录转账功能

    jsp+servlet+mysql 实现简单的银行登录转账功能 [前期的准备] html(登录界面),servlet(处理业务逻辑),jsp(主要实现界面),mysql(实现与数据库的简单的交互)先从 ...

  2. mysql批量删除指定前缀或后缀表

    今天突然发现我们数据库中多出很多表,后缀名为"copy",预计是navicat直接拷贝导致的,然后要对这些有同样后缀名的表进行删除,假设一个一个选择会非常麻烦,表计较多,在网上找了 ...

  3. mysql进阶(十五) mysql批量删除大量数据

    mysql批量删除大量数据 假设有一个表(syslogs)有1000万条记录,需要在业务不停止的情况下删除其中statusid=1的所有记录,差不多有600万条, 直接执行 DELETE FROM s ...

  4. MySQL 批量删除相同前缀的表

    sql 命令批量生成drop命令 需要批量删除表,而MySQL又没有提供相关的功能:一般我们建表也都会使用相同前缀,那么,在不使用工具的情况下可以选择使用sql生成批量删除命令: 如删除以 " ...

  5. mysql 批量删除数据

    批量删除2000w数据 使用delete from table太慢 //DELIMITER DROP PROCEDURE if EXISTS deleteManyTable; create PROCE ...

  6. (详细)Eclips+jsp+servlet+mysql+登录实例+源代码

    欢迎任何形式的转载,但请务必注明出处. 该教程较全,从软件的安装以及相关的环境配置我都放置了相关教程的链接,读者可直接点击进入.自己写电商网站作业时查找了很多资料,但都不是很全,所以趁着寒假写了这份教 ...

  7. SSM + MySQL批量删除操作

    最近项目中有个购物车功能需要能够选中商品,然后批量删除的操作,也可以单个删除,其实代码很简单就能实现. 这里需要注意的就是你前端是怎么传值的,我这里采用的数组的形式,用 ‘,’隔开. 然后控制层代码如 ...

  8. Mysql批量删除和修改某个前缀的表

    1.批量删除某个前缀的表名,首先选出这些个表. select concat( 'drop table ', table_name, ';' ) from information_schema.tabl ...

  9. jsp/servlet/mysql/linux基本概念和操作

    一.什么是OOP编程? 面向对象,以结果为导向,并封装整个过程,并尽可能地增加代码的复用性和可扩展性...... 二.Junit? JUnit是一个java语言的单元测试框架.Junit测试时程序员测 ...

  10. Jsp+servlet+mysql搭建套路

    1.建立数据库根据需求建立相应的数据库确立数据库的字段.属性.主键等2.建立javaweb项目,搭建开发环境在开发环境的/WebRoot/WEB-INF下建立lib文件夹,存放需要使用的jar包常用的 ...

随机推荐

  1. C++ 中 Concept-Model 概念模型

    此文档参考自:https://gracicot.github.io/conceptmodel/2017/09/13/concept-model-part1.html ,觉得很有趣,就翻译过来了 一.C ...

  2. 推荐一个好用的.net开发框架

    企业应用开发平台(Enterprise Develop Platform),以下简称EDP.EDP是一套集完整组织架构,全面权限体系,以及各类基础功能于一体的基于.net的企业应用开发平台.其最大的特 ...

  3. 4G EPS 中建立 UE 与 eNB 之间的 RRC 连接

    目录 文章目录 目录 前文列表 RRC 连接 Radio Bearer SRB UE 与 eNB 建立 RRC 连接的流程 前文列表 <4G EPS 中的小区搜索> <4G EPS ...

  4. ASP.NET Core的全局拦截器(在页面回发时,如果判断当前请求不合法,不执行OnPost处理器)

    ASP.NET Core RazorPages中,我们可以在页面模型基类中重载OnPageHandlerExecuting方法. 下面的例子中,BaseModel继承自 PageModel,是所有页面 ...

  5. 🔥 Java Solon v2.7.6 发布

    Java Solon 是什么框架? Java "新的"应用开发框架.开放原子开源基金会,孵化项目.从零开始构建(非 java-ee 架构),有灵活的接口规范与开放生态. 追求: 更 ...

  6. 使用 Spacesniffer 找回 48G 系统存储空间的总结

    前言 Spacesniffer 是一个免费的文件扫描工具,通过使用树状图可视化布局,可以立即了解大文件夹的位置,帮助用户处理找到这些文件夹 当前系统C盘空间 清理后系统C盘空间 下载 Spacesni ...

  7. linux基础之awk命令详解

    一 awk主要是用来对指定对文本或者命令的输出逐行处理和分析的,下面来简单的看一下awk用法,方便以后需要使用的时候在回头看 1.1   基础的用法 [root@wxm ~]# cat test 1 ...

  8. linux下RPM工具的使用:RPM安装/查询/查看/卸载/升级软件包

    目录 一.关于软件包 二.RPM软件包 三.RPM包通用的命名规则 四.RPM工具的使用 4.1 rpm安装软件的功能 4.2 rpm查询的功能 4.3 rpm查看软件包内容是否被修改 4.4 rpm ...

  9. C# Bitmap 在winform里编辑了,再次重新编辑,报gdi+错误解决办法

    经过排查,var bitmap=new Bitmap()这个局部对象,没有Dispose所致.虽然是局部的对象,但还是需要Dispose:

  10. Vue3.0极速入门(一) - 环境安装&新建项目

    Vue介绍 Vue.js 是什么 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只 ...