Java 在JSP页面中编辑编辑数据库的表

Java 在JSP页面中编辑编辑数据库的表,java,mysql,sql,jsp,Java,Mysql,Sql,Jsp,我的问题很简单,我制作了一个JSP页面,其中有一个表,显示数据库的内容,现在我尝试的是编辑表中的细节,同时编辑数据库中的值。 我已经写了代码,一切看起来都很好,但是,它没有编辑数据库,怎么办?? 我们非常需要帮助,非常感谢。 提前谢谢 <%@page import="java.sql.DriverManager"%> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEnco

我的问题很简单,我制作了一个JSP页面,其中有一个表,显示数据库的内容,现在我尝试的是编辑表中的细节,同时编辑数据库中的值。 我已经写了代码,一切看起来都很好,但是,它没有编辑数据库,怎么办?? 我们非常需要帮助,非常感谢。 提前谢谢

<%@page import="java.sql.DriverManager"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@page import="java.sql.*" %>    

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

</body>
<form method="post">

<table border="7">
<tr>
<td>ID</td>
<td>NAME</td>
<td>SKILL</td>
<td colspan="2" align="center">ACTION</td>
</tr>


<%
try
{
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost/test";
String username="root";
String password="root";
String query="select * from jsp1";

Connection conn=DriverManager.getConnection(url,username,password);
Statement stmt=conn.createStatement();


ResultSet rs=stmt.executeQuery(query);
while(rs.next())
{

%>
    <tr>
    <td><%=rs.getInt("ID") %></td>
    <td><input type="text" value="<%=rs.getString("NAME") %>"></td>
    <td><input type="text" value="<%=rs.getString("SKILL") %>"></td>
    <td><input type="button" name="UPDATE" value="UPDATE" onclick="
    <% 
    String qmod="update jsp1 set NAME=?,SKILL=? where ID=? ";
    PreparedStatement pstmt=conn.prepareStatement(qmod);
    String one=request.getParameter("NAME");
    String two=request.getParameter("SKILL");
    String three=request.getParameter("ID");
    pstmt.setString(1,one);
    pstmt.setString(2,two);
    pstmt.setString(3,three);
    pstmt.executeUpdate(); 
    %>"></td>
    <td> <input type="button" name="DELETE" value="DELETE"></td>
    </tr>
        <%

}
%>
    </table>
    <%
    rs.close();
    stmt.close();
    conn.close();
    }
    catch(Exception e)
    {
        e.printStackTrace();
        }






%>

</form>
</html>

在此处插入标题
身份证件
名称
技巧
行动

解决这个问题的一个好方法是

  • 在后端有一个servlet,可以与数据库交互
  • 每当用户单击表并修改它时,您都会向这个servlet发送一个ajax请求
  • servlet与数据库交互并调用适当的更新表方法

  • 如果您想让事情在运行中完成,您应该先看看AJAX,然后再开始使用。

    onClick是一种JavaScript。它不会提交表单,因此request.getParameter将不起作用

    我认为您所做的不是一种基于表的编辑来修改内容的正确方法。服务器端应该有一些东西。这将修改数据库中的数据。如果您不想在保存时重新加载页面,则可以使用一些ajax调用。您的“onclick”调用中的代码实际上正在服务器上运行,但它会在生成页面后立即发生。如果要添加Submit按钮并单击它,则表单将提交,并且这些SQL语句将运行。如果希望在不刷新页面的情况下进行这些更新,那么使用AJAX并将数据库更新代码移出视图层。