See: Description
Interface | Description |
---|---|
WebConfig |
The Web configuration for accessing initialization parameters of a Web
component and the
ServletContext . |
Class | Description |
---|---|
ServletContainer |
A
Servlet or Filter for deploying root resource classes. |
ServletContainer.ContextInjectableProvider<T> |
A helper class for creating an injectable provider that supports
Context with a type and constant value. |
WebComponent |
An abstract Web component that may be extended a Servlet and/or
Filter implementation, or encapsulated by a Servlet or Filter implementation.
|
WebComponent.ContextInjectableProvider<T> |
A helper class for creating an injectable provider that supports
Context with a type and constant value. |
WebFilterConfig |
A filter based web config.
|
WebServletConfig |
A servlet based web config.
|
Enum | Description |
---|---|
WebConfig.ConfigType |
The web configuration type.
|
Annotation Type | Description |
---|---|
PerSession |
Used to annotate resource classes that require a new instance
for each HTTP servlet session.
|
Web application support is enabled by referencing the servlet
ServletContainer
in the
web.xml.
For example, the following will deploy Jersey and automatically register any root resource or provider classes present in the directory "/WEB-INF/classes" or jar files present in the directory "/WEB-INF/lib":
<web-app> <servlet> <servlet-name>Jersey Web Application</servlet-name> <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> </servlet> <servlet-mapping> <servlet-name>Jersey Web Application</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app>
A deployment approach, that is more portable with respect to maven and application servers, is to declare the package names where root resource and provider classes reside. For example, the following will deploy Jersey and automatically register any root resource or provider classes present in the package "managed", or any sub-packages.
The deployment approach that is portable accross JAX-RS implementations is to register an implementation of<web-app> <servlet> <servlet-name>Jersey Web Application</servlet-name> <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</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 Web Application</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app>
Application
. For
example given an implementation as follows:
then that implementation can be registered as follows:package com.foo; import ... public class MyApplicaton extends Application { public Set<Class<?>> getClasses() { Set<Class<?>> s = new HashSet<Class<?>>(); s.add(HelloWorldResource.class); return s; } }
It is possible to combine package-based registration and<web-app> <servlet> <servlet-name>Jersey Web Application</servlet-name> <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> <init-param> <param-name>javax.ws.rs.Application</param-name> <param-value>com.foo.MyApplication</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>Jersey Web Application</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app>
Application
registered by extending PackagesResourceConfig
and registering the extended class, for example:
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:public class MyApplication extends PackagesResourceConfig { public MyApplication() { super("org.foo.rest;org.bar.rest"); } }
<web-app> <filter> <filter-name>Jersey Web Application</filter-name> <filter-class>com.sun.jersey.spi.container.servlet.ServletContainer</filter-class> <init-param> <param-name>com.sun.jersey.config.property.packages</param-name> <param-value>managed</param-value> </init-param> </filter> <filter-mapping> <filter-name>Jersey Web Application</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
Copyright © 2016 Oracle Corporation. All Rights Reserved.