Hi!
I am really sorry to ask again - but I have a problem to configure the
extension filters in my web.xml.
I'm using MyFaces 1.1.5, Tomahawk 1.1.7 (SNAPSHOT), Tomahawk-Sandbox
1.1.7 (SNAPSHOT), Apache Pluto 1.1.3 with Apache Portlet Bridge for JSF
in Tomcat 5.5.20.
My web.xml looks as follows:
-----------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Apache Pluto Portal Driver</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/pluto-portal-driver-services-config.xml</param-value>
</context-param>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
<context-param>
<param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>org.apache.myfaces.DETECT_JAVASCRIPT</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>org.apache.myfaces.PRETTY_HTML</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>org.apache.myfaces.AUTO_SCROLL</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>org.apache.myfaces.CHECK_EXTENSIONS_FILTER</param-name>
<param-value>true</param-value>
</context-param>
<!-- ### filter ### -->
<!-- jsf -->
<filter>
<filter-name>extensionsFilter</filter-name>
<filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
<init-param>
<param-name>uploadMaxFileSize</param-name>
<param-value>100m</param-value>
<description>
Set the size limit for uploaded files. Format: 10 - 10 bytes 10k -
10 KB 10m - 10 MB 1g - 1 GB
</description>
</init-param>
<init-param>
<param-name>uploadThresholdSize</param-name>
<param-value>100k</param-value>
<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>
</init-param>
</filter>
<!-- jsf end -->
<!-- pluto -->
<filter>
<filter-name>plutoPortalDriver</filter-name>
<filter-class>org.apache.pluto.driver.PortalDriverFilter</filter-class>
</filter>
<!-- pluto end-->
<!-- ### filter-mapping ### -->
<!-- jsf -->
<filter-mapping>
<filter-name>extensionsFilter</filter-name>
<url-pattern>*.jsf</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>extensionsFilter</filter-name>
<url-pattern>/faces/*</url-pattern>
</filter-mapping>
<!-- jsf end-->
<!-- pluto -->
<filter-mapping>
<filter-name>plutoPortalDriver</filter-name>
<url-pattern>/about.jsp</url-pattern>
</filter-mapping>
<!-- pluto end -->
<!-- ### listener ### -->
<listener>
<listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.apache.pluto.driver.PortalStartupListener</listener-class>
</listener>
<!-- ### servlets ### -->
<!-- jsf -->
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- jsf end -->
<!-- pluto -->
<servlet>
<servlet-name>plutoPortalDriver</servlet-name>
<display-name>Pluto Portal Driver</display-name>
<description>Pluto Portal Driver Controller</description>
<servlet-class>org.apache.pluto.driver.PortalDriverServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>plutoPortalDriverLogout</servlet-name>
<display-name>Pluto Portal Driver</display-name>
<description>Pluto Portal Driver Logout</description>
<servlet-class>org.apache.pluto.driver.PortalDriverLogoutServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>portletApplicationPublisher</servlet-name>
<display-name>Portlet Application Publisher</display-name>
<description>Portlet Application Publisher Service</description>
<servlet-class>org.apache.pluto.driver.PublishServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>tckDriver</servlet-name>
<display-name>Pluto TCK Driver</display-name>
<description>Pluto TCK Driver Controller</description>
<servlet-class>org.apache.pluto.driver.TCKDriverServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>AboutPortlet</servlet-name>
<servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
<init-param>
<param-name>portlet-name</param-name>
<param-value>AboutPortlet</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>AdminPortlet</servlet-name>
<servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
<init-param>
<param-name>portlet-name</param-name>
<param-value>AdminPortlet</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>PlutoPageAdmin</servlet-name>
<servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
<init-param>
<param-name>portlet-name</param-name>
<param-value>PlutoPageAdmin</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>JSPPortlet</servlet-name>
<servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
<init-param>
<param-name>portlet-name</param-name>
<param-value>JSPPortlet</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- pluto end-->
<!-- portlets-->
<servlet>
<servlet-name>WMSPortlet</servlet-name>
<servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
<init-param>
<param-name>portlet-name</param-name>
<param-value>WMSPortlet</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>SquareResultPortlet</servlet-name>
<servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
<init-param>
<param-name>portlet-name</param-name>
<param-value>SquareResultPortlet</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>SquarePortlet</servlet-name>
<servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
<init-param>
<param-name>portlet-name</param-name>
<param-value>SquarePortlet</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>AjaxTestPortlet</servlet-name>
<servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
<init-param>
<param-name>portlet-name</param-name>
<param-value>AjaxTestPortlet</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- portlets end -->
<!-- ### servlet-mapping ### -->
<!-- jsf -->
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<!-- jsf end -->
<!-- pluto -->
<servlet-mapping>
<servlet-name>plutoPortalDriver</servlet-name>
<url-pattern>/portal/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>plutoPortalDriverLogout</servlet-name>
<url-pattern>/Logout</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>portletApplicationPublisher</servlet-name>
<url-pattern>/admin/Publish</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>tckDriver</servlet-name>
<url-pattern>/tck/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AboutPortlet</servlet-name>
<url-pattern>/PlutoInvoker/AboutPortlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AdminPortlet</servlet-name>
<url-pattern>/PlutoInvoker/AdminPortlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>PlutoPageAdmin</servlet-name>
<url-pattern>/PlutoInvoker/PlutoPageAdmin</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>JSPPortlet</servlet-name>
<url-pattern>/PlutoInvoker/JSPPortlet</url-pattern>
</servlet-mapping>
<!-- pluto -->
<!-- portlets -->
<servlet-mapping>
<servlet-name>WMSPortlet</servlet-name>
<url-pattern>/PlutoInvoker/WMSPortlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>SquareResultPortlet</servlet-name>
<url-pattern>/PlutoInvoker/SquareResultPortlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>SquarePortlet</servlet-name>
<url-pattern>/PlutoInvoker/SquarePortlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AjaxTestPortlet</servlet-name>
<url-pattern>/PlutoInvoker/AjaxTestPortlet</url-pattern>
</servlet-mapping>
<!-- portlets end -->
<!-- ### taglib ### -->
<taglib>
<taglib-uri>http://java.sun.com/portlet</taglib-uri>
<taglib-location>/WEB-INF/tld/portlet.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://portals.apache.org/pluto/portlet-el</taglib-uri>
<taglib-location>/WEB-INF/tld/portlet-el.tld</taglib-location>
</taglib>
<!--
<security-constraint>
<web-resource-collection>
<web-resource-name>portal</web-resource-name>
<url-pattern>/portal</url-pattern>
<url-pattern>/portal/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>PUT</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>pluto</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/login.jsp?error=1</form-error-page>
</form-login-config>
</login-config>
<security-role>
<role-name>pluto</role-name>
</security-role>
-->
</web-app>
-------------------------------------------------------------------------
And this is the error messgae in tomcat:
-------------------------------------------------------------------------
2007-08-13 12:03:10,562 [http-8081-Processor4] ERROR
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/pluto].[jsp]
- Servlet.service() for s
ervlet jsp threw exception
java.lang.IllegalStateException: ExtensionsFilter not correctly
configured. JSF mapping missing. JSF pages not covered. Please see:
http://myfaces.apache.o
rg/tomahawk/extensionsFilter.html
at
org.apache.myfaces.renderkit.html.util.AddResourceFactory.throwExtensionsFilterMissing(AddResourceFactory.java:358)
at
org.apache.myfaces.renderkit.html.util.AddResourceFactory.checkEnvironment(AddResourceFactory.java:318)
at
org.apache.myfaces.renderkit.html.util.AddResourceFactory.getInstance(AddResourceFactory.java:273)
at
org.apache.myfaces.custom.ppr.PPRPanelGroupRenderer.encodeJavaScript(PPRPanelGroupRenderer.java:201)
at
org.apache.myfaces.custom.ppr.PPRPanelGroupRenderer.encodeEnd(PPRPanelGroupRenderer.java:149)
at
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:539)
at
org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChild(RendererUtils.java:419)
at
org.apache.myfaces.shared_impl.renderkit.html.HtmlGridRendererBase.renderChildren(HtmlGridRendererBase.java:229)
at
org.apache.myfaces.shared_impl.renderkit.html.HtmlGridRendererBase.encodeEnd(HtmlGridRendererBase.java:101)
at
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:539)
at
javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:498)
-----------------------------------------------------------------------------------------------------------------
Thank you very much!!!
Lyn
--
Lyn Büsching
l a t / l o n GmbH
Aennchenstrasse 19 53177 Bonn, Germany
phone ++49 +228 18496-0 fax ++49 +228 18496-29
http://www.lat-lon.de http://www.deegree.org