SeamFramework.orgCommunity Documentation

Chapter 8. Installation

8.1. Maven dependency configuration
8.2. Pre-Servlet 3.0 configuration

To use the Seam Servlet module, you need to put the API and implementation JARs on the classpath of your web application. Most of the features of Seam Servlet are enabled automatically when it's added to the classpath. Some extra configuration, covered below, is required if you are not using a Servlet 3-compliant container.

If you are using Maven as your build tool, you can add the following single dependency to your pom.xml file to include Seam Servlet:


<dependency>
   <groupId>org.jboss.seam.servlet</groupId>
   <artifactId>seam-servlet</artifactId>
   <version>${seam.servlet.version}</version>
</dependency>

Tip

Substitute the expression ${seam.servlet.version} with the most recent or appropriate version of Seam Servlet. Alternatively, you can create a Maven user-defined property to satisfy this substitution so you can centrally manage the version.

Alternatively, you can use the API at compile time and only include the implementation at runtime. This protects you from inadvertantly depending on an implementation class.


<dependency>
   <groupId>org.jboss.seam.servlet</groupId>
   <artifactId>seam-servlet-api</artifactId>
   <version>${seam.servlet.version}</version>
   <scope>compile</scope>
</dependency>

<dependency>
   <groupId>org.jboss.seam.servlet</groupId>
   <artifactId>seam-servlet-impl</artifactId>
   <version>${seam.servlet.version}</version>
   <scope>runtime</scope>
</dependency>

If you are deploying to a platform other than JBoss AS, you also need to add the JBoss Logging implementation (a portable logging abstraction).


<dependency>
   <groupId>org.jboss.logging</groupId>
   <artifactId>jboss-logging</artifactId>
   <version>3.0.0.Beta4</version>
   <scope>compile</scope>
</dependency>

In a Servlet 3.0 or Java EE 6 environment, your configuration is now complete!

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.seam.servlet.event.ServletEventBridgeListener</listener-class>
</listener>

<servlet>
   <servlet-name>Servlet Event Bridge Servlet</servlet-name>
   <servlet-class>org.jboss.seam.servlet.event.ServletEventBridgeServlet</servlet-class>
</servlet>

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

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

<filter>
   <filter-name>Catch Exception Filter</filter-name>
   <filter-class>org.jboss.seam.servlet.CatchExceptionFilter</filter-class>
</filter>

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

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