Class JerseyServletContainerInitializer
- java.lang.Object
-
- org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer
-
- All Implemented Interfaces:
javax.servlet.ServletContainerInitializer
public final class JerseyServletContainerInitializer extends java.lang.Object implements javax.servlet.ServletContainerInitializerServletContainerInitializerimplementation used for Servlet 3.x deployment.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.logging.LoggerLOGGER
-
Constructor Summary
Constructors Constructor Description JerseyServletContainerInitializer()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static voidaddServletWithApplication(javax.servlet.ServletContext context, java.lang.Class<? extends javax.ws.rs.core.Application> clazz, java.util.Set<java.lang.Class<?>> defaultClasses)Add new servlet according toApplicationsubclass withApplicationPathannotation or existingservlet-mapping.private static voidaddServletWithDefaultConfiguration(javax.servlet.ServletContext context, java.util.Set<java.lang.Class<?>> classes)Enhance default servlet (namedApplication) configuration.private static voidaddServletWithExistingRegistration(javax.servlet.ServletContext context, javax.servlet.ServletRegistration registration, java.lang.Class<? extends javax.ws.rs.core.Application> clazz, java.util.Set<java.lang.Class<?>> classes)Enhance existing servlet configuration.private static voidcollectJaxRsRegistrations(java.util.Map<java.lang.String,? extends javax.servlet.Registration> registrations, java.util.List<javax.servlet.Registration> collected, java.lang.Class<? extends javax.ws.rs.core.Application> a)private static java.lang.StringcreateMappingPath(javax.ws.rs.ApplicationPath ap)private static java.util.Set<java.lang.String>findJerseyServletNames(javax.servlet.ServletContext servletContext)Returns names of all registered Jersey servlets.private static java.util.Set<java.lang.Class<? extends javax.ws.rs.core.Application>>getApplicationClasses(java.util.Set<java.lang.Class<?>> classes)private static java.util.List<javax.servlet.Registration>getInitParamDeclaredRegistrations(javax.servlet.ServletContext context, java.lang.Class<? extends javax.ws.rs.core.Application> clazz)private static java.util.Map<java.lang.String,java.lang.Object>getInitParams(javax.servlet.ServletRegistration sr)private static java.util.Set<java.lang.Class<?>>getRootResourceAndProviderClasses(java.util.Set<java.lang.Class<?>> classes)private static booleanisJerseyServlet(java.lang.String className)Check if theclassNameis an implementation of a Jersey Servlet container.private static booleanmappingExists(javax.servlet.ServletContext sc, java.lang.String mapping)voidonStartup(java.util.Set<java.lang.Class<?>> classes, javax.servlet.ServletContext servletContext)private voidonStartupImpl(java.util.Set<java.lang.Class<?>> classes, javax.servlet.ServletContext servletContext)
-
-
-
Method Detail
-
onStartup
public void onStartup(java.util.Set<java.lang.Class<?>> classes, javax.servlet.ServletContext servletContext) throws javax.servlet.ServletException- Specified by:
onStartupin interfacejavax.servlet.ServletContainerInitializer- Throws:
javax.servlet.ServletException
-
onStartupImpl
private void onStartupImpl(java.util.Set<java.lang.Class<?>> classes, javax.servlet.ServletContext servletContext) throws javax.servlet.ServletException- Throws:
javax.servlet.ServletException
-
findJerseyServletNames
private static java.util.Set<java.lang.String> findJerseyServletNames(javax.servlet.ServletContext servletContext)
Returns names of all registered Jersey servlets. Servlets are configured inweb.xmlor managed via Servlet API.- Parameters:
servletContext- theServletContextof the web application that is being started- Returns:
- list of Jersey servlet names or empty array, never returns
null
-
isJerseyServlet
private static boolean isJerseyServlet(java.lang.String className)
Check if theclassNameis an implementation of a Jersey Servlet container.- Returns:
trueif the class is a Jersey servlet container class,falseotherwise.
-
getInitParamDeclaredRegistrations
private static java.util.List<javax.servlet.Registration> getInitParamDeclaredRegistrations(javax.servlet.ServletContext context, java.lang.Class<? extends javax.ws.rs.core.Application> clazz)
-
collectJaxRsRegistrations
private static void collectJaxRsRegistrations(java.util.Map<java.lang.String,? extends javax.servlet.Registration> registrations, java.util.List<javax.servlet.Registration> collected, java.lang.Class<? extends javax.ws.rs.core.Application> a)
-
addServletWithDefaultConfiguration
private static void addServletWithDefaultConfiguration(javax.servlet.ServletContext context, java.util.Set<java.lang.Class<?>> classes) throws javax.servlet.ServletExceptionEnhance default servlet (namedApplication) configuration.- Throws:
javax.servlet.ServletException
-
addServletWithApplication
private static void addServletWithApplication(javax.servlet.ServletContext context, java.lang.Class<? extends javax.ws.rs.core.Application> clazz, java.util.Set<java.lang.Class<?>> defaultClasses) throws javax.servlet.ServletExceptionAdd new servlet according toApplicationsubclass withApplicationPathannotation or existingservlet-mapping.- Throws:
javax.servlet.ServletException
-
addServletWithExistingRegistration
private static void addServletWithExistingRegistration(javax.servlet.ServletContext context, javax.servlet.ServletRegistration registration, java.lang.Class<? extends javax.ws.rs.core.Application> clazz, java.util.Set<java.lang.Class<?>> classes) throws javax.servlet.ServletExceptionEnhance existing servlet configuration.- Throws:
javax.servlet.ServletException
-
getInitParams
private static java.util.Map<java.lang.String,java.lang.Object> getInitParams(javax.servlet.ServletRegistration sr)
-
mappingExists
private static boolean mappingExists(javax.servlet.ServletContext sc, java.lang.String mapping)
-
createMappingPath
private static java.lang.String createMappingPath(javax.ws.rs.ApplicationPath ap)
-
getApplicationClasses
private static java.util.Set<java.lang.Class<? extends javax.ws.rs.core.Application>> getApplicationClasses(java.util.Set<java.lang.Class<?>> classes)
-
getRootResourceAndProviderClasses
private static java.util.Set<java.lang.Class<?>> getRootResourceAndProviderClasses(java.util.Set<java.lang.Class<?>> classes)
-
-