Package com.sun.jersey.spi.spring.container.servlet

Provides support for Spring-based Web applications.

See: Description

Package com.sun.jersey.spi.spring.container.servlet Description

Provides support for Spring-based Web applications.

Spring support is enabled by referencing the class SpringServlet in the web.xml. For example:

   <web-app>
     <context-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>classpath:applicationContext.xml</param-value>
     </context-param>
     <listener>
       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
     </listener>
     <servlet>
       <servlet-name>Jersey Spring Web Application</servlet-name>
       <servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
     </servlet>
     <servlet-mapping>
       <servlet-name>Jersey Spring Web Application</servlet-name>
       <url-pattern>/*</url-pattern>
     </servlet-mapping>
   </web-app>
 
Any root resource classes or provider classes declared by Spring (in the XML configuration or by auto-wiring) will be automatically registered. It is possible to intermix Spring and non-Spring registration of classes by additionally using the normal Jersey-based registration mechanisms. For example, in the following web.xml:
   <web-app>
     <context-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>classpath:applicationContext.xml</param-value>
     </context-param>
     <listener>
       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
     </listener>
     <servlet>
       <servlet-name>Jersey Spring Web Application</servlet-name>
       <servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
       <init-param>
           <param-name>com.sun.jersey.config.property.packages</param-name>
           <param-value>managed</param-value>
       </init-param>
     </servlet>
     <servlet-mapping>
       <servlet-name>Jersey Spring Web Application</servlet-name>
       <url-pattern>/*</url-pattern>
     </servlet-mapping>
   </web-app>
 
The above examples apply to Servlet-based configurations but they equally applicable to Filter-based configurations. For example, the following presents the same package-based configuration as above but utilizing a filter:
   <web-app>
     <context-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>classpath:applicationContext.xml</param-value>
     </context-param>
     <listener>
       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
     </listener>
     <filter>
       <filter-name>Jersey Spring Web Application</filter-name>
       <filter-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</filter-class>
     </filter>
     <filter-mapping>
       <filter-name>Jersey Spring Web Application</filter-name>
       <url-pattern>/*</url-pattern>
     </filter-mapping>
   </web-app>
 
Spring-based classes will be registered and any root resource and provider classes in the package managed will also be registered. A class will only be registered at most once so it does not matter if there are Spring managed classes present in the managed package. Components managed by Spring will not be managed by Jersey and the Jersey-based life-cycle annotations on a resource class will be ignored.

Copyright © 2013 Oracle Corporation. All rights reserved.