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()?
Asked
Active
Viewed 1.2k times
7
1 Answers
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.
BalusC
- 1,082,665
- 372
- 3,610
- 3,555
Ramesh PVK
- 15,200
- 2
- 46
- 50
-
For Servlet 2.5, would the ServletContext.getInitParameter() return the same attribute set by ServletContext.setAttribute() ? – Gaurav Aug 22 '19 at 09:28