java - 服务程序 : HTTP Status 404 - Not Found

标签 java servlets netbeans

我的 Servlet 根本不工作。我收到 HTTPS 状态 404 - 未找到。下面是完整的代码:-

index.jsp

<!DOCTYPE html>
      <html>
          <head>
              <title>Page title</title>
              <meta charset="UTF-8" />
         <meta name="viewport" content="width=device-width, initial-scale=1.0" />
         <link href="CSS/cssSheet.css" rel="stylesheet"  type="text/css" />
     </head>
     <body>

         <nav>
             <a href="ControlleurSimple?action=apropos" target="_self">A propos</a>
         </nav>

         <main>
             <h1>Welcome</h1>
             Text here

         </main>
    </body>
 </html>

web.xml

<servlet>
        <servlet-name>ControllerSimple</servlet-name>
        <servlet-class>WebApplication1.ControllerSimple</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>ControllerSimple</servlet-name>
        <url-pattern>/ControllerSimple</url-pattern>
    </servlet-mapping>

ControllerSimple.java

package WebApplication1;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class ControllerSimple extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {
            /* TODO output your page here. You may use following sample code. */
            out.println("<!DOCTYPE html>");
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet ControllerSimple</title>");            
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Servlet ControllerSimple at " + request.getContextPath() + "</h1>");
            out.println("</body>");
            out.println("</html>");
        }
    }


    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String action = request.getParameter("action");
String jspPage = "/index.html";
if ((action == null) || (action.length() < 1)) {
 action = "default";
}
if ("apropos".equals(action)) {
 jspPage = "/apropos.jsp";
}
RequestDispatcher rd = request.getRequestDispatcher(jspPage);
rd.forward(request, response);

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}

apropos.jsp

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <title>Title</title>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <link href="CSS/cssSheet.css" rel="stylesheet"  type="text/css" />

    </head>
    <body>

        <main>
            Text

        </main>
    </body>
</html>

我是 servlet 新手,所以也许我会错过一些东西。当我单击该链接时,出现“HTTP 状态 404 - 未找到”错误。我真的不明白我做错了什么。

我使用的是 NetBeans IDE 8.2 和 GlassFish 4.1.1

最佳答案

只需检查代码片段,您有一个拼写错误。在那里,您必须将 ControlleurSimple 更改为 ControllerSimple

关于java - 服务程序 : HTTP Status 404 - Not Found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53348243/

相关文章:

java - Android Socket 连接(权限被拒绝)

java - 使用 mvvm 时如何在 zk 中更新进度表

javascript - 如何获取ajax响应的属性

java - 如何在 Jetty 的 Java Servlet 中使用 JavaDB 数据库?

java - E1700001 协商认证失败 : 'No valid credentials provided'

java - java源代码/二进制格式是什么意思?

netbeans - 如何在终端窗口上获取 Netbeans 输出?

java - 域类中的 ForeignCollection 初始化

java - 在服务器上的 RESTful Web 服务上运行时出现 Liberty Server 错误

spring - Spring MVC 应用程序下的共享 HashMap