Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HTTP状态404-/DBinsert_Java_Jsp_Servlets_Tomcat8 - Fatal编程技术网

Java HTTP状态404-/DBinsert

Java HTTP状态404-/DBinsert,java,jsp,servlets,tomcat8,Java,Jsp,Servlets,Tomcat8,当我在已执行的jsp文件中填写表单并单击“注册”按钮时,它将显示以下输出页面 我的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

当我在已执行的jsp文件中填写表单并单击“注册”按钮时,它将显示以下输出页面

我的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>

aWebTest
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
数据库插入
数据库插入
dbAccess.DBinsert
数据库插入
/数据库插入
我无法解决此错误。
请帮帮我。

我想您确实会将数据发布到Servlet,但只会覆盖
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();
            }
        }
    }
}

感谢您的回复,但是如何通过将受保护的void doGet(…)更改为受保护的void dopost(…)来覆盖dopost方法