0

我有一个在 Eclipse 中运行良好的 Java EE 项目。但是当我将它部署到具有普通 Tomcat-7 的服务器时,它会在每个 servlet 页面上显示 404 错误(而 .jsp 工作)。

我试图在那里部署一个 .war 文件并试图复制整个项目文件夹,包括 WEB-INF 目录。结果是一样的。

web.xml 文件包含以下内容:

<?xml version="1.0" encoding="ASCII"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xmlns="http://java.sun.com/xml/ns/javaee" 
         xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
         version="2.5">
  <display-name>acs</display-name>
  <servlet>
    <display-name>jsp</display-name>
    <servlet-name>jsp</servlet-name>
    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.jsp</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.html</url-pattern>
    <url-pattern>*.png</url-pattern>
    <url-pattern>*.gif</url-pattern>
    <url-pattern>*.jpg</url-pattern>
    <url-pattern>*.css</url-pattern>
    <url-pattern>*.js</url-pattern>
    <url-pattern>*.svg</url-pattern>
    <url-pattern>*.kml</url-pattern>
  </servlet-mapping>
</web-app>

每个 servlet 类都包含这样的注释

@WebServlet("/full") 

那么为什么会这样呢?有没有办法知道 Tomcat 在哪里尝试搜索这些 servlet?或者其他的东西。所以现在我就像站在墙前,它向我显示 404,我不知道出了什么问题......

4

1 回答 1

0

对于每个 servlet,我们添加 2 个主要标签 < servlet > 和 < servlet-mapping > 像

   <servlet>
    <display-name>jsp</display-name>
    <servlet-name>jsp</servlet-name>
    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.jsp</url-pattern>
  </servlet-mapping>

而对于“默认”servlet,我还没有找到带有servlet-class映射的 < servlet > 标记

于 2013-08-29T13:21:11.003 回答