请了解如何使用将值插入到MySQL数据库中。以下是我的代码:
如何向数据库输入值?
Index.jsp:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form name=”registration” action="SaveUser" method="post">
First Name: <input type="text" name="user_name">
<br />
Password: <input type="password" name="pass_word" />
<input type="submit" value="Submit" />
</form>
</body>
</html>这是我的服务- SaveUser.java:
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SaveUser extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("user_name");
String password = request.getParameter("pass_word");
System.out.println("The username is" + username);
System.out.println("\nand the password is" + password);
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/userdb", "root", "root");
String sql = "insert into usertable values (?,?)";
PreparedStatement prep = con.prepareStatement(sql);
prep.setString(1, username);
prep.setString(2, password);
prep.executeUpdate();
prep.close();
} catch (Exception E) {
System.out.println("The error is an error");
}
}
}我创造了我的桌子,我增加了图书馆。它仍然给了我一个错误:
HTTP状态404 -未找到 类型状态报告 messageNot发现 descriptionThe请求的资源不可用。 GlassFish服务器开放源码版4.0
我在和netbeans合作。这是一个服务器问题,我真的不明白错误,我会感激对这个问题的每一个响应。
发布于 2014-05-04 14:46:24
试试这个:
添加一个doPost方法来检索表单+发送的数据,您需要添加一个servlet UrlPattern,这样您就可以从浏览器访问servlet,并且可以在web.xml文件或注释中这样做,如下面的示例所示。
@WebServlet(description = "SaveUser", urlPatterns = {"/SaveUser"})
public class SaveUser extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("Hello From deGet|SaveUser");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("user_name");
String password = request.getParameter("pass_word");
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/userdb", "root", "root");
String sql = "insert into usertable values (?,?)";
PreparedStatement prep = con.prepareStatement(sql);
prep.setString(1, username);
prep.setString(2, password);
prep.executeUpdate();
prep.close();
System.out.println("Debug: data inserted!");
} catch (Exception E) {
System.out.println("The error is an error");
}
}
}发布于 2014-05-06 05:47:49
将Servlet更改为
public class ExampleServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
RequestDispatcher rd = request.getRequestDispatcher("NewFile.jsp");
rd.forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("user_name");
String password = request.getParameter("pass_word");
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/newdb", "root", "root");
String sql = "insert into employee(ename,password) values (?,?)";
PreparedStatement prep = con.prepareStatement(sql);
prep.setString(1, username);
prep.setString(2, password);
prep.executeUpdate();
prep.close();
System.out.println("Debug: data inserted!");
} catch (Exception E) {
System.out.println("The error is an error " +E.getMessage()+ " "+E.getStackTrace());
}
}
}将此添加到您的web.xml中
<servlet>
<servlet-name>Submission</servlet-name>
<servlet-class>com.example.test.ExampleServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Submission</servlet-name>
<url-pattern>/SaveUser</url-pattern>
</servlet-mapping>运行Servlet,因为它应该决定应该加载哪个JSP页面。
此外,我建议您使用DAO进行数据库访问。
https://stackoverflow.com/questions/23457428
复制相似问题