为什么要使用ServletContext.setAttribute()?

7
为什么我们要使用setAttribute()方法来设置ServletContext参数呢?因为我们可以通过在web.xml中设置参数并使用getInitParameter()获取它们来实现相同的功能。
1个回答

18

servletContext.setAttribute()方法是动态的,可以在运行时设置和重置。

而在web.xml中指定的init-parameter是静态的,将不会在应用程序的生命周期内更改。

示例:

  • 数据库属性(如数据库名称配置属性)通常将其配置为上下文init-param
  • 如果您想要设置基于运行时更改的属性值,例如“最后登录的用户”或“失败次数”,则应该使用上下文属性。

对于 Servlet 2.5,ServletContext.getInitParameter() 方法返回的属性是否与 ServletContext.setAttribute() 设置的属性相同? - Gaurav

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接