ajax - jsp-如何将值发送到数据库表进行处理?
问题描述
我是 AJAX 新手,我有一个如下所示的 JSP 页面:
新的用户名列允许我输入任何文本字符串,当我点击更新用户按钮时,它应该更新我数据库中的表。
我在数据库结构中的表有一个唯一的列AUSERNAME
,它存储用户名,如屏幕截图所示。单击更新按钮后,它将传递新的用户名值并更新表中的该字段。这就是我想要达到的目标。
我知道我必须在我的 JSP 页面中进行 AJAX 调用,如下所示:
<script >
function update(param) {
var currentbal = document.getElementsByName('NewUserName' + param)[0].value;
console.log(currentbal);
$.ajax({
type: "POST",
url: "update.jsp",
data: { name: currentbal},
success:function( msg ) {
alert( "Data Updated: " + msg );
},error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
}
</script>
至于我的update.jsp
页面,我不太确定如何处理它并对表格进行更改。我相信我需要在其中创建一个函数,但不确定如何将值传递给它并使用 sql 语句来更新它。
解决方案
在您的 jsp 页面中,您可以执行以下操作:
<%@page import= "java.sql.*" %>
<%@page import= "java.io.*" %>
<%
//getting data send from ajax request
String id= request.getParameter("id");
String user = request.getParameter("name"); //name for example
//data base code
try{
Class.forName("com.mysql.jdbc.Driver");
}
catch (ClassNotFoundException e) {
e.printStackTrace();
}
Connection con = null;
ResultSet resultSet = null;
Statement stmt = null;
int row=0;
try {
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/abc","root","swati");
String sql = "UPDATE `tablename` SET `user`=? WHERE `id`=?"; //updating table
PreparedStatement statement = con.prepareStatement(sql);
statement.setString(1, name);
statement.setString(2, id);
row = statement.executeUpdate();
if (row > 0) {
String txt="updated";
// forwards to the message page
}
}
else {
String txt="not updated";
}
}
catch (Exception ex) {
ex.printStackTrace();
}
}
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(txt);
%>
希望这对你有帮助!
推荐阅读
- python - 使用正则表达式python从文本中提取日期
- java - 如何根据运行次数使程序输出不同?
- c# - 无法使用我创建的 BLL
- android - Android:我应该对这两个操作使用 AsyncTask 吗?
- sql - 我需要 ODBC SQL 驱动程序 17.2.01 MSI
- listview - 如何在“CustomScrollView”中折叠“SliverAppBar”时禁用模糊效果
- asp.net-mvc - 为什么扩展 Microsoft.AspNetCore.Mvc.RazorPages.Page 类不适用于布局和局部视图?
- puppet - Tidy 不能使用带有递归 0、false 或 undef 的匹配项
- html - 我无法在 HTML 页面中显示来自服务器的输出 JSON 文件
- python-3.x - 如何将数据框列与另一个数据框进行比较并创建列