【问题标题】:404 Not Found: Something wrong with access to a servlet deployed on Tomcat404 Not Found:访问部署在 Tomcat 上的 servlet 出现问题
【发布时间】:2017-09-30 07:07:33
【问题描述】:

一开始我遵循了Head First Servlets & JSP中的一个非常简单的例子,但是我遇到了一个问题。当我尝试访问 webapps/ch1/web-inf/ 中名为 Ch1Servlet 的 servlet,映射到 url-pattern:/Serv1 时,tomcat 返回 ERROR 404:

HTTP Status 404 - /ch1/Serv1

我在浏览器的地址栏中输入localhost:8080,它显示了Tomcat的主页,服务器似乎没有问题。 然后我创建了一个名为Ch1Servlet 的servlet。这是它的样子:

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class Ch1Servlet extends HttpServlet{
    public void doGet(HttpServletRequest request,
        HttpServletResponse response) throws IOException{
        PrintWriter out=response.getWriter();
        java.util.Date today=new java.util.Date();
        out.println("<html><body><h1>Today</h1>"+today+"</body></html>");
    }
}

接下来,需要一个 web.xml 配置文件。就是这样:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
    <Servlet>
        <Servlet-name>Ch1Servlet</Servlet-name>
        <Servlet-class>Ch1Servlet</Servlet-class>
    </Servlet>

    <Servlet-mapping>
        <Servlet-name>Ch1Servlet</Servlet-name>
        <url-pattern>/Serv1</url-pattern>
    </Servlet-mapping>
</web-app>

Ch1Servlet.java编译完成后,得到一个class文件,放在WEB-INF/classes中,web.xml放在WEB-INF中。所以层次结构是这样的:webapps/ch1/WEB-INF。

这表明我们将能够访问 servlet 并在屏幕上显示一个 HTML 页面,方法是使用 url:http://localhost:8080/ch1/Serv1。但不幸的是,在那里发现了ERROR 404。

【问题讨论】:

    标签: java spring jsp tomcat servlets


    【解决方案1】:

    web.xml 中的所有 xml 元素都应该以小写字母开头。

    【讨论】:

      【解决方案2】:

      web.xml 中,您没有定义类的完整路径:

      <Servlet>
          <Servlet-name>Ch1Servlet</Servlet-name>
          <Servlet-class>com.test.Ch1Servlet</Servlet-class>
      </Servlet> 
      

      com.test.Ch1Servlet 类的包名。请使用类的完整路径。

      【讨论】:

      • 问题中的任何地方都没有说明包名称。
      猜你喜欢
      • 2014-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-23
      • 2019-01-28
      相关资源
      最近更新 更多