gpt4 book ai didi

java - 使用 servlet 向 mysql 添加数据不起作用

转载 作者:行者123 更新时间:2023-11-29 12:15:31 25 4
gpt4 key购买 nike

这是我的数据库

CREATE TABLE `Animal` ( `name` varchar(128) NOT NULL, `breed` varchar(128) NOT NULL, `age` varchar(128) NOT NULL )    

register.html填写数据

<html>
<body>
<form action="servlet/Register" method="post">

name <input type="text" name="name"/><br/><br/>
breed <input type="password" name="breed"/><br/><br/>
age <input type="password" name="age"/><br/><br/>
<br/><br/>
<input type="submit" value="register"/>
</form>
</body>
</html>

我的servlet

package animals;


import java.io.*;
import java.sql.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;

public class Register extends HttpServlet {

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
PrintWriter out = response.getWriter();

String name = request.getParameter("name");
String breed = request.getParameter("breed");
String age = request.getParameter("age");


try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "");
PreparedStatement ps = con.prepareStatement(
"INSERT INTO Animal (name,breed,age) VALUES(?,?,?)");

ps.setString(1, name);
ps.setString(2, breed);
ps.setString(3, age);


int i = ps.executeUpdate();
if (i > 0) {
out.print("Data successfully registered...");
}

} catch (Exception e2) {
System.out.println(e2);
}

out.close();
}

}

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>Register</servlet-name>
<servlet-class>animals.Register</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Register</servlet-name>
<url-pattern>/servlet/Register</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>register.html</welcome-file>
</welcome-file-list>
</web-app>

当我填写表单并提交时,它会将我发送到/register,但它是空白的,并且不会在我的数据库中添加数据。

我 100% 确定与 java 数据库的连接正常工作,因为我有另一个项目,其登录名与数据库的连接相同,并且该连接正在工作。

欢迎任何提示/评论

最佳答案

您可以检查的几件事:
1. 调试代码并检查 servlet 是否捕获了值。
2. 在executeUpdate()之后使用commit()。也许由于某些原因您的配置被设置为自动提交关闭。
3. 这个字符串是否被打印出来? “数据注册成功...”
4.最后,有什么异常(exception)吗?

关于java - 使用 servlet 向 mysql 添加数据不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29868629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com