ajax实现jsp表格删除数据库数据
Ajax是一种用于在网页中进行异步数据交互的技术,能够提高用户体验和页面性能。在JavaWeb开发中,我们常常需要实现对数据库中数据的增删改查操作。本文将通过使用Ajax来实现从JSP页面中删除数据库中的数据,来介绍该技术的应用。
假设我们有一个包含学生信息的数据库表,其中包含学生的姓名、年龄和所在班级等信息。现在我们需要在JSP页面中展示这些学生的数据,并提供删除功能,即通过点击删除按钮来从数据库中删除选定的学生记录。
%@ page language="java" contentType="text/html;
charset=UTF-8"pageEncoding="UTF-8"%>
!DOCTYPE html>
html>
head>
meta charset="UTF-8">
title>
学生信息列表/title>
script src="https://code.jquery.com/jquery-3.6.0.min.js">
/script>
/head>
body>
table>
tr>
th>
姓名/th>
th>
年龄/th>
th>
班级/th>
th>
操作/th>
/tr>
%// 获取学生信息列表的代码// ...// 遍历学生信息列表,生成表格行并输出到页面中for (Student student : studentList) {
%>
tr>
td>
%= student.getName() %>
/td>
td>
%= student.getAge() %>
/td>
td>
%= student.getClass() %>
/td>
td>
button class="delete-btn" data-id=%= student.getId() %>
>
删除/button>
/td>
/tr>
%}
%>
/table>
script>
$(function() {
// 绑定删除按钮的点击事件$(".delete-btn").click(function() {
var studentId = $(this).data("id");
// 发送Ajax请求,调用后台删除学生信息的接口$.ajax({
url: "deleteStudent.jsp",type: "POST",data: {
id: studentId}
,success: function(response) {
// 删除成功后,刷新页面或移除该行数据等操作// ...}
,error: function() {
alert("删除失败");
}
}
);
}
);
}
);
/script>
/body>
/html>
在上述代码中,我们首先通过JSP脚本来获取学生信息列表,并使用循环将每个学生的信息输出到表格中。每个学生信息的最后一列是一个删除按钮,它的data-id属性值设置为对应学生的ID,这样在点击按钮时能够通过JavaScript获取到该学生的ID。
然后,通过jQuery选择器绑定了删除按钮的点击事件。当点击删除按钮时,通过jQuery的data()方法获取到该学生的ID,并传递给后台的删除接口。
后台的删除接口在deleteStudent.jsp文件中实现,在这个JSP中,我们可以通过request.getParameter()方法获取到传递过来的学生ID,并根据ID执行删除数据库中对应的学生记录的代码。
%@ page language="java" contentType="text/html;
charset=UTF-8"pageEncoding="UTF-8"%>
%@ page import="java.sql.Connection"%>
%@ page import="java.sql.DriverManager"%>
%@ page import="java.sql.Statement"%>
%@ page import="javax.naming.Context"%>
%@ page import="javax.naming.InitialContext"%>
%@ page import="javax.naming.NamingException"%>
%@ page import="javax.sql.DataSource"%>
%int studentId = Integer.parseInt(request.getParameter("id"));
try {
// 获取数据库连接// 方式一:使用DriverManager获取连接Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "password");
// 方式二:使用DataSource获取连接(推荐使用)// Context ctx = new InitialContext();
// DataSource ds = (DataSource) ctx.lookup("java:/comp/env/jdbc/mydb");
// Connection connection = ds.getConnection();
// 创建Statement对象Statement statement = connection.createStatement();
// 执行删除语句String sql = "DELETE FROM student WHERE id = " + studentId;
statement.executeUpdate(sql);
// 关闭Statement和连接statement.close();
connection.close();
// 返回删除成功的响应,通知前端response.getWriter().write("删除成功");
}
catch (Exception e) {
e.printStackTrace();
// 返回删除失败的响应,通知前端response.getWriter().write("删除失败");
}
%>
在deleteStudent.jsp中,我们首先获取前端传递过来的学生ID,并将其转换为整数型。然后根据获取数据库连接的方式,使用DriverManager或者DataSource获取一个数据库连接对象。
然后,创建一个Statement对象,并执行删除操作的SQL语句,即DELETE语句。执行完毕后,记得关闭Statement对象和数据库连接,释放资源。
最后,通过response.getWriter().write()方法向前端返回删除操作的结果。如果删除成功,返回"删除成功";如果删除失败,返回"删除失败"。
通过上述的代码示例,我们实现了通过Ajax在JSP页面中删除数据库中的数据。这样,用户在页面中点击删除按钮时,不会触发页面的刷新,而是通过Ajax请求来与后台交互并删除数据,从而提高了用户体验和页面性能。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ajax实现jsp表格删除数据库数据
本文地址: https://pptw.com/jishu/536380.html
