tomcat не может начать имя проекта / index.jsp - PullRequest
0 голосов
/ 30 ноября 2011

У меня точно такая же проблема, как и у Запуск JSF-проекта на Apache Tomcat * Решение 1002 *, предоставленное BalusC, почему-то у меня не работает.Проблема началась после того, как я добавил jar для загрузки файла 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и установите фильтр в 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>

1 Ответ

0 голосов
/ 01 декабря 2011

Фильтр расширений не должен отображаться на файлы *.jsp.Он должен отображаться только на запросы JSF.Тем не менее, я предлагаю использовать другое сопоставление таким образом, чтобы вам не приходилось беспокоиться об URL-адресах сервлета, которые вы фактически должны фильтровать.Удалите оба сопоставления фильтра и используйте это вместо:

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

Теперь он будет вызываться всякий раз, когда вызывается FacesServlet.

Если это все еще не работает (также не послевы поместили библиотеки Tomahawk в /WEB-INF/lib), тогда вам нужно будет прочитать журналы запуска сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...