一 、 通过Servlet初始化参数
Servlet初始化参数只会被读取一次 , 因为在容器初始化 servlet时,ServletConfig获得参数后,只能通过重新部署web应用再次读取初始化参数。
Servlet初始化参数需要在DD文件中配置,
如下在Servlet4 内部中使用<init-param>
去初始化管理员的邮箱
1 | <servlet> |
在Servlet class 文件中通过java.util.Enumeration获取参数集e,e.nextElement() 获取参数名,getServletConfig().getInitParameter(param)获取参数值。
1 | public void doGet(HttpServletRequest request, HttpServletResponse response) |
但是Servlet初始化参数只能在对应的Servlet里面获取,如何使得初始化参数在整个web应用都能获取?
二 、context初始化参数
context初始化参数时 ,Web应用中所有servlet和JSP都能自动访问到它。
例如下面为整个web配置一个mainEmail,在<context-param>
中设置初始化参数名和值。
1 | <context-param> |
在servlet中获取ServletContext()的param名和param值
1 | public void doGet(HttpServletRequest request, HttpServletResponse response) |
总结
context初始化参数,Web应用中所有servlet和JSP都能自动访问到它。Servlet初始化参数只能被一个servlet访问。
Web容器监听器
首先要编写监听器类。
1 | public class BookAddedListener implements HttpSessionAttributeListener { |
在dd文件中配置监听器
1 | <listener> |