See: Description
Class | Description |
---|---|
SpringServlet |
A servlet or filter for deploying root resource classes with Spring
integration.
|
Spring support is enabled by referencing the class
SpringServlet
in the
web.xml. For example:
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> </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> <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>
Spring-based classes will be registered and any root resource and provider classes in the package<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>
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.