Why use ServletContext.setAttribute()?
Asked Answered
D

1

7

Why would we set ServletContext parameters using the setAttribute() method, as we can accomplish the same thing by setting parameters in web.xml and fetching them using getInitParameter()?

Dongola answered 15/6, 2012 at 7:55 Comment(0)
B
18

The servletContext.setAttribute() is dynamic which can be set and reset during runtime.

Where as init-parameter specified in web.xml is static which will not change during the lifetime of application.

Example:

  • The database properties like database name configuration propety. It will be mostly configured as context init-param
  • And if you want to set property value which derives based on runtime changes, like "last user logged in" or "number of failures" should be context attributes.
Beware answered 15/6, 2012 at 8:1 Comment(1)
For Servlet 2.5, would the ServletContext.getInitParameter() return the same attribute set by ServletContext.setAttribute() ?Stairs

© 2022 - 2024 — McMap. All rights reserved.