SeamFramework.orgCommunity Documentation

Chapter 21. Installation

21.1. Pre-Servlet 3.0 configuration

If you are using Java EE 5 or some other Servlet 2.5 container, then you need to manually register several Servlet components in your application's web.xml to activate the features provided by this module:


<listener>
    <listener-class>org.jboss.solder.servlet.event.ServletEventBridgeListener</listener-class>
</listener>

<servlet>
    <servlet-name>Servlet Event Bridge Servlet</servlet-name>
    <servlet-class>org.jboss.solder.servlet.event.ServletEventBridgeServlet</servlet-class>
    <!-- Make load-on-startup large enough to be initialized last (thus destroyed first) -->
    <load-on-startup>99999</load-on-startup>
</servlet>

<servlet-mapping>
   <servlet-name>Servlet Event Bridge Servlet</servlet-name>
   <url-pattern>/*</url-pattern>
</servlet-mapping>

<filter>
   <filter-name>Exception Filter</filter-name>
   <filter-class>org.jboss.solder.servlet.exception.CatchExceptionFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>Exception Filter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<filter>
    <filter-name>Servlet Event Bridge Filter</filter-name>
    <filter-class>org.jboss.solder.servlet.event.ServletEventBridgeFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>Servlet Event Bridge Filter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

Warning

In order for the Servlet event bridge to properly fire the ServletContext initialized event, the CDI runtime must be started at the time the Servlet listener is invoked. This ordering is guaranteed in a compliant Java EE 6 environment. If you are using a CDI implementation in a Servlet environment (e.g., Weld Servlet), and it relies on a Servlet listener to bootstrap, that listener must be registered before any Servlet listener in web.xml.

You're now ready to dive into the Servlet enhancements provided for you by Solder!