给定:一个JavaEE5Web应用程序,它有一个web.xml,其中包含如下代码片段
<context-param>
<description>c</description>
<param-name>a</param-name>
<param-value>b</param-value>
</context-param>我需要做什么才能将上下文参数规范转换为基于注释的策略。
发布于 2011-11-02 02:06:32
您可以在javax.servlet.annotation包摘要中找到所有javax.servlet注释:
@HandlesTypes该注释用于声明ServletContainerInitializer可以使用的类类型。该注释在ServletSecurity注释内使用,以表示将被应用于在@HandlesTypes annotation.@HttpMethodConstraint内没有出现相应的ServletSecurity元素的所有ServletContainerInitializer协议方法的安全约束。该注释在ServletSecurity注释内使用,以表示对可以在HttpMethodConstraint类上指定的特定ServletSecurity协议ServletSecurity注释的安全约束,指示符合多部分/格式数据MIME type.@ServletSecurity的Servlet的实例期望请求。此注释用于Servlet实现类,以指定由Servlet容器在HTTP协议上强制实施的安全约束。用于声明servlet parameter.@WebListener的Servlet注释。此注释用于Servlet或Filter实现类,以指定初始化the。此注释用于声明WebListener用于声明servlet的.@WebServlet批注。你看,没有什么比@WebContextParam更好的了。这也或多或少有意义;您将/可以在哪种类型的类上设置它?
一些依赖于上下文参数的基于Servlet的框架,例如JSF,也允许通过JNDI设置其中的一些参数。您可能想要研究一下这一点。或者,如果它涉及到本地代码,那么我会考虑@WebInitParam是否对您来说不是一个更可行的选择。
发布于 2012-10-20 05:49:08
如果你使用的是Tomcat,你可以使用context.xml中的参数标签,它的工作原理与web.xml中的上下文参数是一样的。因此,您可以使用@WebInitParam来捕获上下文变量。
http://tomcat.apache.org/tomcat-5.5-doc/config/context.html#Context_Parameters
发布于 2016-02-17 21:35:02
可以使用@WebServletContextListener指定servlet内容侦听器met数据。例如,
@WebServletContextListener
public class TestServletContextListener implements javax.servlet.ServletContextListener {
public void contextInitialized(ServletContextEvent sce) {
}
public void contextDestroyed(ServletContextEvent sce) {
....
}
}https://stackoverflow.com/questions/7970051
复制相似问题