Typically access to features are provided automatically via custom manifest headers or other configuration mechanisms. There may be situations, however, for which programmatic access to such features is desirable or necessary. This section describes how to programmatically access features from application code in a bundle.
The Virgo Web Server automatically creates a WebApplicationContext
for Web application bundles and WAR files. When used in conjunction with an
an auto-configured Spring MVC DispatcherServlet
,
there is generally no need to access the WebApplicationContext
programmatically, since all components of the web application are configured
within the scope of the WebApplicationContext
itself. However, if you wish to access the WebApplicationContext
you can do so via the web application’s ServletContext
.
The Web subsystem stores the bundle’s
WebApplicationContext
in the ServletContext under
the attribute name "BSN-ApplicationContext
", where
BSN
is the Bundle-SymbolicName
of your WAR or Web application bundle.
Alternatively, since the Web subsystem also stores the
WebApplicationContext
under the attribute name
with the value of the WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE
constant, you may choose to use Spring MVC’s WebApplicationContextUtils’
getWebApplicationContext(servletContext)
or
getRequiredWebApplicationContext(servletContext)
methods to access the WebApplicationContext
without providing
an explicit attribute name.