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

Jay*_*esh 5 servlets setattribute

为什么我们要使用该setAttribute()方法设置ServletContext参数,因为我们可以通过设置参数web.xml并使用它来获取它们来完成同样的事情getInitParameter()

Ram*_*PVK 15

servletContext.setAttribute()是动态的,其可以被设置和运行时期间复位.

其中init-parameter指定的web.xml是静态的,在使用寿命期间不会改变.

例:

  • 数据库属性,如数据库名称配置propety.它将主要配置为上下文init-param
  • 如果要设置基于运行时更改派生的属性值,例如"上次登录用户"或"失败次数"应该是上下文属性.