Given: a Java EE 5 web app that has a web.xml that has a snippet like
<context-param>
<description>c</description>
<param-name>a</param-name>
<param-value>b</param-value>
</context-param>
What would I need to do to move that context-param specification into an annotation based strategy.
You can find all javax.servlet
annotations in the javax.servlet.annotation
package summary:
@HandlesTypes
This annotation is used to declare the class types that aServletContainerInitializer
can handle.@HttpConstraint
This annotation is used within theServletSecurity
annotation to represent the security constraints to be applied to all HTTP protocol methods for which a correspondingHttpMethodConstraint
element does NOT occur within theServletSecurity
annotation.@HttpMethodConstraint
This annotation is used within theServletSecurity
annotation to represent security constraints on specific HTTP protocol messages.@MultipartConfig
Annotation that may be specified on aServlet
class, indicating that instances of theServlet
expect requests that conform to the multipart/form-data MIME type.@ServletSecurity
This annotation is used on aServlet
implementation class to specify security constraints to be enforced by a Servlet container on HTTP protocol messages.@WebFilter
Annotation used to declare a servletFilter
.@WebInitParam
This annotation is used on aServlet
orFilter
implementation class to specify an initialization parameter.@WebListener
This annotation is used to declare a WebListener.@WebServlet
Annotation used to declare a servlet.
You see, there's nothing like a @WebContextParam
. Which makes also less or more sense; on what kind of class would/could you set it?
Some Servlet based frameworks which rely on context parameters, such as JSF, also allows for setting some of them by JNDI. You might want to look into that instead. Or if it concerns homegrown code, then I'd look if @WebInitParam
isn't a more feasible option for you.