有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我如何在下面的代码中解决这个>错误HTTP Status 404

所以我试图用Servlet在网上显示信息,我被卡住了,我尝试过搜索和研究,但徒劳,我没有找到任何帮助。我想知道这可能是服务器的问题吗?当我试图用Java中的dopost方法运行html时,它总是给我这个错误。否则,当我在服务器上运行Java类时,它会显示为没有任何问题,当我在web上运行html时,它也会显示为没有任何问题,但CANNOT获取方法。如果您有任何帮助,我们将不胜感激。我的代码如下/我的.JSP文件也出现了同样的错误。这只是我决定使用的示例,以解决我的主代码问题

我的Java代码

package helloServelets;

import java.io.IOException;
import java.io.PrintWriter;

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 LearningServelets
 */
@WebServlet("/LearningServelets")
public class LearningServelets extends HttpServlet {


    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String yourname = request.getParameter("YourName");
    String enter = request.getParameter("Enter");
    String school = request.getParameter("SchoolName");
    String work = request.getParameter("Work");
    String Home = request.getParameter("home");


        response.setContentType("text/html");

        PrintWriter output = response.getWriter();

        output.println("<html><body><h3>Hello " + yourname);

        output.println("</h3><br />" + enter + " + " + school+work);
        output.println(Home + "<br /> "  + "</body></html>");

    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request,response);
    }

}

我的HTML代码如下

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form method="post" action="LearningServelets">

What is your YourName?
<input name = "Yourname"> 
<p>
What is your Gender

<input name ="Enter">
</p>
<p>
Where did you go to school?
<input name = "SchoolName">
</p>

<p>
Where do you Work?
<input name = "Work">
</p>

<p>
Where do you live?
<input name = "home">
</p>
<input type ="submit">
</form>

</body>
</html>

我的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" id="WebApp_ID" version="3.1">
  <display-name>ServeletsLearning</display-name>
      <servlet> 
     <servlet-name>LearningServelets</servlet-name>
     <servlet-class>helloServelets.LearningServelets</servlet-class>
     </servlet>

</web-app>

共 (1) 个答案

  1. # 1 楼答案

    试试这个:

    索引。html文件

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>Insert title here</title>
        </head>
        <body>
        <form method="post" action="LearningServlet">
    
            What is your age?<input name = "age"><br> 
            What is your Gender?<input name ="gender"><br>
            Where did you go to school?<input name = "schoolname"><br>          
            Where do you Work?<input name = "work"><br>
            Where do you live?<input name = "home"><br>
            <input type ="submit">
        </form> 
    </body>
    

    学习servlet。java文件 包装helloservlet

    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    @WebServlet("/LearningServlet")
    public class LearningServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    public LearningServlet() {
        super();
    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String age=request.getParameter("age");
        String gender=request.getParameter("gender");
        String schoolname=request.getParameter("schoolName");
        String work=request.getParameter("work");
        String home=request.getParameter("home");
    
        response.setContentType(getServletContext().getMimeType("text/html"));
        PrintWriter pw=response.getWriter();
        pw.write("<html><body>");
        pw.write("Age           :"+age+"<br>");
        pw.write("Gender        :"+gender+"<br>");
        pw.write("School Name   :"+schoolname+"<br>");
        pw.write("Work          :"+work+"<br>");
        pw.write("Home          :"+home+"<br>");
        pw.write("</body></html>");
       }
    }
    

    网络。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>helloservlet</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
      </welcome-file-list>
    </web-app>
    

    现在在服务器上部署项目并在浏览器中打开: http://localhost:8080/helloservlet/index.html

    注意:假设您的应用程序/项目名为helloservlet