dao包
创建MessageDao.java文件
public class MessageDao {
static final String DRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";
static final String URL="jdbc:sqlserver://127.0.0.1:1433;database=MessageMS";
//静态代码块,
static {
try {
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public List<MessageBean> getMessages() throws SQLException{
List<MessageBean >list=new ArrayList<MessageBean>();
String sql="\r\n select mid,mcontent,publish from MessageInfo ";
try(Connection conn=DriverManager.getConnection(URL,"sa","123456");
PreparedStatement pstmt=conn.prepareStatement(sql)){
try(ResultSet rs=pstmt.executeQuery()){
while(rs.next()) {
MessageBean mi=new MessageBean();
mi.setMcontent(rs.getString("mcontent"));
mi.setMid(rs.getInt("mid"));
mi.setPublich(rs.getString("publish"));
list.add(mi);
}
}
}
return list;
}
public int del(int mid) throws SQLException {
int n=0;
String sql="delete MessageInfo where mid=?";
try(Connection conn=DriverManager.getConnection(URL,"sa","123456");
PreparedStatement pstmt=conn.prepareStatement(sql);){
pstmt.setInt(1, mid);
n=pstmt.executeUpdate();
}
return n;
}
}
在entity 包
创建MessageBean.java 实体类文件
public class MessageBean {
private int mid ;
private String mcontent;
private String publish;
public int getMid() {
return mid;
}
public void setMid(int mid) {
this.mid = mid;
}
public String getMcontent() {
return mcontent;
}
public void setMcontent(String mcontent) {
this.mcontent = mcontent;
}
public String getPublish() {
return publish;
}
public void setPublich(String publish) {
this.publish = publish;
}
}
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
/**
* Servlet Filter implementation class EcodingFilter
*/
@WebFilter("/*")
public class EcodingFilter implements Filter {
/**
* Default constructor.
*/
public EcodingFilter() {
// TODO Auto-generated constructor stub
}
/**
* @see Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}
/**
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
final static String encoding="utf-8";
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
// place your code here
// pass the request along the filter chain
request.setCharacterEncoding(encoding);
response.setCharacterEncoding(encoding);
chain.doFilter(request, response);
}
/**
* @see Filter#init(FilterConfig)
*/
public void init(FilterConfig fConfig) throws ServletException {
// TODO Auto-generated method stub
}
}
创建service包
创建MessageService文件
package com.nf.service;
import java.util.ArrayList;
import java.util.List;
import com.nf.dao.MessageDao;
import com.nf.entity.MessageBean;
public class MessageService {
public List<MessageBean> getall(){
MessageDao md=new MessageDao();
List<MessageBean> list=null;
try {
list=md.getMessages();
} catch (Exception e) {
// TODO: handle exception
}
return list;
}
public int del(String []mids) {
MessageDao md=new MessageDao();
int n=0;
for (String e : mids) {
try {
n+=md.del(Integer.parseInt(e));
} catch (Exception e1) {
e1.printStackTrace();
}
}
return n;
}
}
web包创建MessageManageServlet 的selvet文件
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.nf.entity.MessageBean;
import com.nf.service.MessageService;
/**
* Servlet implementation class MessageManagerServlet
*/
@WebServlet("/MessageManagerServlet")
public class MessageManagerServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public MessageManagerServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
MessageService ms=new MessageService();
List<MessageBean> list=ms.getall();
request.setAttribute("Messagelist", list);
request.getRequestDispatcher("index.jsp").forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
和DeleteMessageServle的selvet文件
package com.nf.web;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.nf.service.MessageService;
/**
* Servlet implementation class DeleteMessageServlet
*/
@WebServlet("/DeleteMessageServlet")
public class DeleteMessageServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public DeleteMessageServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String [] mids=request.getParameterValues("mid");
MessageService ms=new MessageService();
int n=ms.del(mids);
request.getSession().setAttribute("msg","成功删除"+n+"行数据");
response.sendRedirect("MessageManagerServlet");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
最后在WebContent文件
创建index.jsp文件
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>删除管理</title>
<style type="text/css">
#main{
width:666px;
margin:0 auto;
}
#header{
background-color:#0000FF;
color:#FFFFFF;
height:2.5rem;
font-size: 1.25rem;
}
#main #p{
text-align:right;
}
</style>
</head>
<body>
<div id="main">
<form id="frm" name="frm" action="DeleteMessageServlet" method="post">
<table cellspacing="0" >
<tr id="header">
<th>选择</th>
<th>编号</th>
<th>内容</th>
<th>时间</th>
</tr>
<c:forEach items="${Messagelist }" var="m">
<tr>
<!--实现多行删除-->
<td><input type="checkbox" name="mid" value="${m.mid}"></td>
<td>${m.mid }</td>
<td>${m.mcontent }</td>
<td>${m.publish }</td>
</tr>
</c:forEach>
</table>
<hr>
<p id="p">
<input type="submit" value="删除所选行">
</form>
<c:if test="${!(empty msg)}">
<script>
alert("${msg}");
</script>
<c:remove var="msg"/>
</c:if>
<script type="text/javascript">
document.getElementById("frm").onsubmit = function(){
bl = false;
//获取表单所有 的复选框,判断是否有选中的选项
let cks=document.getElementsByName("mid");
for(let i=0;i<cks.length;i++){
if(cks[i].checked){
bl=true;
break;
}
}
if(!bl){
alert("您没有选中要删除的行");
return false;
}else{
if(confirm("是否真的删除?"))
return true;
else
return false;
}
}
</script>
</div>
</body>
</html>