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