Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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 JSP/JDBC:HTTP状态404-未找到_Java_Jsp_Jdbc_Netbeans_Glassfish - Fatal编程技术网

Java JSP/JDBC:HTTP状态404-未找到

Java JSP/JDBC:HTTP状态404-未找到,java,jsp,jdbc,netbeans,glassfish,Java,Jsp,Jdbc,Netbeans,Glassfish,我的HTTP状态为404-未找到 我使用Netbeans IDE、Glassfish服务器和MySql作为数据库。 我无法理解为什么我会有这个错误。 这是我的代码。我是初学者 谢谢 这是我的JSP文件: <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type"

我的HTTP状态为404-未找到

我使用Netbeans IDE、Glassfish服务器和MySql作为数据库。 我无法理解为什么我会有这个错误。 这是我的代码。我是初学者

谢谢

这是我的JSP文件:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>User Application Registration</title>
</head>
<body>
    <h1>Registration Page</h1>
    <form action="ServletRegister" method="post">
        Name: <input type="text" name="name"><br/>
        Password: <input type="password" name="password"><br/>
        Email: <input type="text" name="email"><br/>
        Language: <select name="language">
            <option>Hindi</option>
            <option>English</option>
            <option>Bengali</option>
        </select><br/>
        <input type="submit" value="Submit"/>
    </form>
</body>
package RegisterPackage;
import java.io.IOException;
import java.io.PrintWriter;
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 ServletRegister extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {



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

    String n = request.getParameter("name");
    String p = request.getParameter("password");
    String e  = request.getParameter("email");
    String l = request.getParameter("language");

    try {
        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/demo", "root", "root");
        PreparedStatement ps = con.prepareStatement("insert into userdetails values(?,?,?,?)");

        ps.setString(1, n);
        ps.setString(2, p);
        ps.setString(3, e);
        ps.setString(4, l);

        int i = ps.executeUpdate();
        if (i > 0)
            out.print("You are successfully registered!");
    } 
    catch (Exception e2) {
        System.out.println(e2);
    }
    out.close();  
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <servlet>
        <servlet-name>ServletRegister</servlet-name>
        <servlet-class>RegisterPackage.ServletRegister</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>ServletRegister</servlet-name>
        <url-pattern>/ServletRegister</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
</web-app>
}

这是web.xml:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>User Application Registration</title>
</head>
<body>
    <h1>Registration Page</h1>
    <form action="ServletRegister" method="post">
        Name: <input type="text" name="name"><br/>
        Password: <input type="password" name="password"><br/>
        Email: <input type="text" name="email"><br/>
        Language: <select name="language">
            <option>Hindi</option>
            <option>English</option>
            <option>Bengali</option>
        </select><br/>
        <input type="submit" value="Submit"/>
    </form>
</body>
package RegisterPackage;
import java.io.IOException;
import java.io.PrintWriter;
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 ServletRegister extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {



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

    String n = request.getParameter("name");
    String p = request.getParameter("password");
    String e  = request.getParameter("email");
    String l = request.getParameter("language");

    try {
        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/demo", "root", "root");
        PreparedStatement ps = con.prepareStatement("insert into userdetails values(?,?,?,?)");

        ps.setString(1, n);
        ps.setString(2, p);
        ps.setString(3, e);
        ps.setString(4, l);

        int i = ps.executeUpdate();
        if (i > 0)
            out.print("You are successfully registered!");
    } 
    catch (Exception e2) {
        System.out.println(e2);
    }
    out.close();  
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <servlet>
        <servlet-name>ServletRegister</servlet-name>
        <servlet-class>RegisterPackage.ServletRegister</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>ServletRegister</servlet-name>
        <url-pattern>/ServletRegister</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
</web-app>

服务寄存器
RegisterPackage.ServletRegister
服务寄存器
/服务寄存器
30
NetBeans中的目录结构:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>User Application Registration</title>
</head>
<body>
    <h1>Registration Page</h1>
    <form action="ServletRegister" method="post">
        Name: <input type="text" name="name"><br/>
        Password: <input type="password" name="password"><br/>
        Email: <input type="text" name="email"><br/>
        Language: <select name="language">
            <option>Hindi</option>
            <option>English</option>
            <option>Bengali</option>
        </select><br/>
        <input type="submit" value="Submit"/>
    </form>
</body>
package RegisterPackage;
import java.io.IOException;
import java.io.PrintWriter;
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 ServletRegister extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {



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

    String n = request.getParameter("name");
    String p = request.getParameter("password");
    String e  = request.getParameter("email");
    String l = request.getParameter("language");

    try {
        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/demo", "root", "root");
        PreparedStatement ps = con.prepareStatement("insert into userdetails values(?,?,?,?)");

        ps.setString(1, n);
        ps.setString(2, p);
        ps.setString(3, e);
        ps.setString(4, l);

        int i = ps.executeUpdate();
        if (i > 0)
            out.print("You are successfully registered!");
    } 
    catch (Exception e2) {
        System.out.println(e2);
    }
    out.close();  
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <servlet>
        <servlet-name>ServletRegister</servlet-name>
        <servlet-class>RegisterPackage.ServletRegister</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>ServletRegister</servlet-name>
        <url-pattern>/ServletRegister</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
</web-app>

我的输出:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>User Application Registration</title>
</head>
<body>
    <h1>Registration Page</h1>
    <form action="ServletRegister" method="post">
        Name: <input type="text" name="name"><br/>
        Password: <input type="password" name="password"><br/>
        Email: <input type="text" name="email"><br/>
        Language: <select name="language">
            <option>Hindi</option>
            <option>English</option>
            <option>Bengali</option>
        </select><br/>
        <input type="submit" value="Submit"/>
    </form>
</body>
package RegisterPackage;
import java.io.IOException;
import java.io.PrintWriter;
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 ServletRegister extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {



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

    String n = request.getParameter("name");
    String p = request.getParameter("password");
    String e  = request.getParameter("email");
    String l = request.getParameter("language");

    try {
        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/demo", "root", "root");
        PreparedStatement ps = con.prepareStatement("insert into userdetails values(?,?,?,?)");

        ps.setString(1, n);
        ps.setString(2, p);
        ps.setString(3, e);
        ps.setString(4, l);

        int i = ps.executeUpdate();
        if (i > 0)
            out.print("You are successfully registered!");
    } 
    catch (Exception e2) {
        System.out.println(e2);
    }
    out.close();  
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <servlet>
        <servlet-name>ServletRegister</servlet-name>
        <servlet-class>RegisterPackage.ServletRegister</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>ServletRegister</servlet-name>
        <url-pattern>/ServletRegister</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
</web-app>

您的web应用程序中没有任何内容可以处理对上下文根目录的请求
http://localhost:8080/UserApplication
因此,servlet容器返回一个
404notfound
错误:

  • 您的servlet只侦听
    http://localhost:8080/UserApplication/ServletRegister
  • 您的JSP页面不可见,因为您已将其放入
    WEB-INF

您可以将JSP页面移动到目录
网页
,更正名称(
register.JSP
)然后调用
http://localhost:8080/UserApplication/register.jsp

您的web应用程序中没有任何内容可以处理对上下文根目录的请求
http://localhost:8080/UserApplication
因此,servlet容器返回一个
404notfound
错误:

  • 您的servlet只侦听
    http://localhost:8080/UserApplication/ServletRegister
  • 您的JSP页面不可见,因为您已将其放入
    WEB-INF
您可以将JSP页面移动到目录
Web页面
,更正名称(
register.JSP
),然后调用
http://localhost:8080/UserApplication/register.jsp