eclipse - tomcat无法启动projectname/index.jsp

标签 eclipse jsp jsf tomcat

我遇到的问题与 Run JSF project on Apache Tomcat 完全相同BalusC 提供的解决方案不知何故对我不起作用。在我为文件上传 tomahawk-1.1.10.jar、commons-fileupload-1.2.2.jar、commons-io-1.4.jar、commons-logging-1.1.1.jar、commons-el.jar 添加 jar 后问题开始了并在 web.xml 中设置过滤器。试图删除 jar 并使项目恢复到添加之前的状态,但仍然不起作用。有什么想法吗?

我正在使用 JSF 1.2 并且 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" 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"
id="WebApp_ID" version="2.5">
<display-name>iProJournal</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>
    <filter>
    <filter-name>extensionsFilter</filter-name>
    <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
    <init-param>
        <description>Set the size limit for uploaded files.
        Format: 10 - 10 bytes
        10k - 10 KB
        10m - 10 MB
        1g - 1 GB
    </description>
        <param-name>uploadMaxFileSize</param-name>
        <param-value>100m</param-value>
    </init-param>
    <init-param>
        <description>Set the threshold size - files below this 
         limit are stored in memory, files above this limit 
         are stored on disk.
                     Format: 10 - 10 bytes
                     10k - 10 KB
                     10m - 10 MB
                     1g - 1 GB
     </description>
        <param-name>uploadThresholdSize</param-name>
        <param-value>100k</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>extensionsFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>extensionsFilter</filter-name>
    <url-pattern>/faces/*</url-pattern>
</filter-mapping>
</web-app>

我设法让我的项目恢复到添加这些文件之前的状态并且它开始工作,但我不支持导致问题的原因。这是我现在使用的 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" 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"
id="WebApp_ID" version="2.5">
<display-name>iProJournal</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>
</web-app>

最佳答案

扩展过滤器不应映射到 *.jsp 文件。它应该只映射到 JSF 请求上。不过,我建议使用不同的映射,这样您就不必担心实际要过滤的 servlet 的 URL。删除两个过滤器映射并改用这个:

<filter-mapping>
    <filter-name>extensionsFilter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
</filter-mapping>

现在只要 FacesServlet 被调用,它就会被调用。

如果仍然不起作用(在将 Tomahawk 库放入 /WEB-INF/lib 之后也不起作用),那么您需要阅读服务器启动日志。

关于eclipse - tomcat无法启动projectname/index.jsp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8326411/

相关文章:

Eclipse:如何通过快捷方式转到有错误的文件?

Java Struts2(未找到操作类)

java - 如何使用 springmvc 作为 Controller 渲染对 jsf 页面的 ajax 响应

java - 应用程序在 Eclipse 中运行,导出的 jar 崩溃

java - GPS 位置更改时如何将 Android 应用程序返回前台

java - 可执行 LibGDX Jar 文件不加载资源

java - struts2迭代器: avoiding code duplication

jsp - 登录时获取用户IP

java - 从 JSF 传递枚举值作为参数(重新访问)

java - 似乎无法从 ViewScoped 构造函数重定向