战争得到了Tomcat7的Err404但是如果它在eclipse上运行一切都还可以

时间:2017-06-11 19:35:30

标签: eclipse tomcat war

当我尝试运行我在Tomcat7中部署的Eclipse动态Web项目时,我收到错误404.

令我困惑的是,如果我在Eclipse中运行项目,它使用相同的Tomcat服务器,它正确执行xhtml页面

我将项目导出为战争并保留了Eclipse创建的web.xml。 我启动了Tomcat服务器,并使用" War文件部署" Tomcat的经理选项。部署结果肯定,但应用程序仍然没有启动,neithet通过单击Tomcat管理器中的相应链接,也不会在新的浏览器页面中复制URL。

我的O.S是Ubuntu 17.04 Tomcat7附带IDE Ecplipse安装 在项目中我也使用了IceFaces。

我确实创建了一个更简单的动态Web项目,其中只包含一个经典的" Hello wordl" xhtml页面;行为是相同的:当在Eclipse上运行时,没有问题,当导出时,通过在管理器页面中单击其链接来部署在Tomcat中运行我得到404错误。

我已经阅读了其他类似的帖子,但我无法找到适合我的任何解决方案。

我的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">
  <display-name>IceTest</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
  </servlet-mapping>
  <context-param>
    <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
  </context-param>
  <context-param>
    <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
    <param-value>resources.application</param-value>
  </context-param>
  <listener>
    <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
  </listener>
</web-app>

请注意我也试图改变

<param-value>client</param-value>

<param-value>server</param-value>

也许你有人暗示这个问题? 我提前谢谢你。

1 个答案:

答案 0 :(得分:0)

与此同时,我发现了问题所在。

我的html页面与我的web.xml中列出的名称不同。 我认为welcome-file-list是一个可选标签。确实,如果html页面已被命名为index.html(Tomcat默认值),但如果它不同,则必须定义welcome-file-list。

我留下这个答案,因为它对我怀疑同样的其他人有用。