我正在尝试将表单数据添加到Java中的数据库中-使用jQuery模型表单对话框创建表单-但我看不到数据库中的任何数据。
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class newUserServlet
*/
@WebServlet("/newUserServ")
public class newUserServlet extends HttpServlet {
Connection connection;
@Override
public void init() throws ServletException {
try{
Class.forName("org.gjt.mm.mysql.Driver");
//my database connection url
connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","kavuri654");
}catch(Exception e){
e.printStackTrace();
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username =request.getParameter("name");
String email =request.getParameter("email");
String password =request.getParameter("password");
PrintWriter out =response.getWriter();
out.println("<h3>added<h3>");
try{
String selectQuery="insert into test.newuser(name,email,password)"+"values(?,?,?)";
PreparedStatement preparedstatement=connection.prepareStatement(selectQuery);
preparedstatement.setString(1, username);
preparedstatement.setString(2, email);
preparedstatement.setString(3, password);
int i =preparedstatement.executeUpdate();
if(i>0){
System.out.println("one row is added");
}
connection.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
我创建了一个Servlet来处理从Web客户端发送的请求。在此servlet中,我添加了数据库连接详细信息,并使用请求对象读取了表单数据,并使用了setter方法将值存储在数据库中。我可以将详细信息添加到表单,但是表单数据未存储在数据库中。我应该怎么做才能将表单数据存储到数据库中。
最佳答案
会有一些原因。
首先,检查您的数据是否“到达”此Servlet。
如果1正常,则应提交以下语句:connection.commit()