问题
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()
?
回答1:
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.
来源:https://stackoverflow.com/questions/11046717/why-use-servletcontext-setattribute