HTTP 状态 404 - /DBinsert
HTTP Status 404 - /DBinsert
It is a executed jsp file.
当我在执行的 jsp 文件中填写表格并单击注册按钮时,它显示了以下输出页面。
After clicking the signup button, the output page
我的 servlet 文件代码是
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.swing.JOptionPane;
import com.mysql.jdbc.Statement;
/**
* Servlet implementation class for Servlet: DBinsert
*
*/
public class DBinsert extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
static final long serialVersionUID = 1L;
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#HttpServlet()
*/
public DBinsert() {
super();
}
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String fname=request.getParameter("fname");
String sname=request.getParameter("sname");
String user=request.getParameter("uname");
String pwd=request.getParameter("pwd");
String email=request.getParameter("email");
String phone=request.getParameter("phone");
/*int ph=Integer.parseInt(phone);
if (phone.length()!=10)
{
JOptionPane.showMessageDialog(null,"errormsg" );
String e="Check phone number ";
request.setAttribute("errormsg", e);
request.getRequestDispatcher("SignNIIT.jsp").forward(request, response);
}
else
*/{
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con= DriverManager.getConnection("jdbc:mysql://localhost:3306", "root", "");
String code="insert into prct.db (lastname,username,password) values (?,?,?)";
PreparedStatement ps=con.prepareStatement(code);
//ps.setString(1, fname);
ps.setString(1, sname);
ps.setString(2, user);
ps.setString(3, pwd);
//ps.setString(5, email);
//ps.setString(6, phone);
ps.executeUpdate();
//JOptionPane.showMessageDialog(null, "Sucessfull");
String msg="!!! Registered Sucessfully !!! ";
request.setAttribute("data", msg);
request.getRequestDispatcher("SignU.jsp").forward(request, response);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
我的 web.xml 文件是
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
<display-name>aWebTest</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<description></description>
<display-name>DBinsert</display-name>
<servlet-name>DBinsert</servlet-name>
<servlet-class>dbAccess.DBinsert</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DBinsert</servlet-name>
<url-pattern>/DBinsert</url-pattern>
</servlet-mapping>
</web-app>
我无法解决这个错误。
请帮助我。
我猜你对你的 Servlet 做了 POST 数据,但只覆盖了 doGet
-方法。
尝试覆盖 doPost
方法
相反 web.xml
您可以使用注释(自 servlets 3.0 起)。试试这个代码。
import java.io.IOException;
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;
import javax.swing.JOptionPane;
import com.mysql.jdbc.Statement;
/**
* Servlet implementation class for Servlet: DBinsert
*
*/
@WebServlet(name = "DBinsert", urlPatterns = { "/DBinsert" })
public class DBinsert extends HttpServlet {
static final long serialVersionUID = 1L;
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#HttpServlet()
*/
public DBinsert() {
super();
}
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String fname=request.getParameter("fname");
String sname=request.getParameter("sname");
String user=request.getParameter("uname");
String pwd=request.getParameter("pwd");
String email=request.getParameter("email");
String phone=request.getParameter("phone");
/*int ph=Integer.parseInt(phone);
if (phone.length()!=10)
{
JOptionPane.showMessageDialog(null,"errormsg" );
String e="Check phone number ";
request.setAttribute("errormsg", e);
request.getRequestDispatcher("SignNIIT.jsp").forward(request, response);
}
else
*/{
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con= DriverManager.getConnection("jdbc:mysql://localhost:3306", "root", "");
String code="insert into prct.db (lastname,username,password) values (?,?,?)";
PreparedStatement ps=con.prepareStatement(code);
//ps.setString(1, fname);
ps.setString(1, sname);
ps.setString(2, user);
ps.setString(3, pwd);
//ps.setString(5, email);
//ps.setString(6, phone);
ps.executeUpdate();
//JOptionPane.showMessageDialog(null, "Sucessfull");
String msg="!!! Registered Sucessfully !!! ";
request.setAttribute("data", msg);
request.getRequestDispatcher("SignU.jsp").forward(request, response);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
}
It is a executed jsp file.
当我在执行的 jsp 文件中填写表格并单击注册按钮时,它显示了以下输出页面。
After clicking the signup button, the output page
我的 servlet 文件代码是
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.swing.JOptionPane;
import com.mysql.jdbc.Statement;
/**
* Servlet implementation class for Servlet: DBinsert
*
*/
public class DBinsert extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
static final long serialVersionUID = 1L;
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#HttpServlet()
*/
public DBinsert() {
super();
}
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String fname=request.getParameter("fname");
String sname=request.getParameter("sname");
String user=request.getParameter("uname");
String pwd=request.getParameter("pwd");
String email=request.getParameter("email");
String phone=request.getParameter("phone");
/*int ph=Integer.parseInt(phone);
if (phone.length()!=10)
{
JOptionPane.showMessageDialog(null,"errormsg" );
String e="Check phone number ";
request.setAttribute("errormsg", e);
request.getRequestDispatcher("SignNIIT.jsp").forward(request, response);
}
else
*/{
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con= DriverManager.getConnection("jdbc:mysql://localhost:3306", "root", "");
String code="insert into prct.db (lastname,username,password) values (?,?,?)";
PreparedStatement ps=con.prepareStatement(code);
//ps.setString(1, fname);
ps.setString(1, sname);
ps.setString(2, user);
ps.setString(3, pwd);
//ps.setString(5, email);
//ps.setString(6, phone);
ps.executeUpdate();
//JOptionPane.showMessageDialog(null, "Sucessfull");
String msg="!!! Registered Sucessfully !!! ";
request.setAttribute("data", msg);
request.getRequestDispatcher("SignU.jsp").forward(request, response);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
我的 web.xml 文件是
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
<display-name>aWebTest</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<description></description>
<display-name>DBinsert</display-name>
<servlet-name>DBinsert</servlet-name>
<servlet-class>dbAccess.DBinsert</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DBinsert</servlet-name>
<url-pattern>/DBinsert</url-pattern>
</servlet-mapping>
</web-app>
我无法解决这个错误。 请帮助我。
我猜你对你的 Servlet 做了 POST 数据,但只覆盖了 doGet
-方法。
尝试覆盖 doPost
方法
相反 web.xml
您可以使用注释(自 servlets 3.0 起)。试试这个代码。
import java.io.IOException;
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;
import javax.swing.JOptionPane;
import com.mysql.jdbc.Statement;
/**
* Servlet implementation class for Servlet: DBinsert
*
*/
@WebServlet(name = "DBinsert", urlPatterns = { "/DBinsert" })
public class DBinsert extends HttpServlet {
static final long serialVersionUID = 1L;
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#HttpServlet()
*/
public DBinsert() {
super();
}
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String fname=request.getParameter("fname");
String sname=request.getParameter("sname");
String user=request.getParameter("uname");
String pwd=request.getParameter("pwd");
String email=request.getParameter("email");
String phone=request.getParameter("phone");
/*int ph=Integer.parseInt(phone);
if (phone.length()!=10)
{
JOptionPane.showMessageDialog(null,"errormsg" );
String e="Check phone number ";
request.setAttribute("errormsg", e);
request.getRequestDispatcher("SignNIIT.jsp").forward(request, response);
}
else
*/{
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con= DriverManager.getConnection("jdbc:mysql://localhost:3306", "root", "");
String code="insert into prct.db (lastname,username,password) values (?,?,?)";
PreparedStatement ps=con.prepareStatement(code);
//ps.setString(1, fname);
ps.setString(1, sname);
ps.setString(2, user);
ps.setString(3, pwd);
//ps.setString(5, email);
//ps.setString(6, phone);
ps.executeUpdate();
//JOptionPane.showMessageDialog(null, "Sucessfull");
String msg="!!! Registered Sucessfully !!! ";
request.setAttribute("data", msg);
request.getRequestDispatcher("SignU.jsp").forward(request, response);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
}