目录
2、 ServletRequestListener:监听request对象的创建和销毁
3、添加:ServletRequestAttributeListener:监听request作用域属性的添加,删除和更改
4、添加:ServletContextListener监听servletcontext对象的属性的添加和删除和更改
5、添加:ServletContextAttributeListener监听servletcontext对象的属性的添加和删除和更改
6、添加:HttpSessionListener监听session对象的创建和销毁
7、添加:HttpSessionAttributeListener监听session对象的创建和销毁
10.3.2 监听:
Servlet监听器用于监听一些重要事件的发生,监听器对象可以在事情发生前、发生后可以设置一些事件
Servlet2.3提供了对ServletContext和HttpSession对象的状态变化的监听器,Servlet2.4则增加了对ServletRequest对象状态变化的监听器
①、ServletContext对象----监听ServletContext对象,可以使web应用得知web组件的加载和卸载等运行情况
②、HttpSession对象----监听HttpSession对象,可以使web应用了解会话期间的状态并做出反应
③、ServletRequest对象----监听ServletRequest对象,可以使web应用控制web请求的生命周期
1、
web.xml文件:
<servlet>
<servlet-name>ListenseServlet</servlet-name>
<servlet-class>com.mashibing.servlet.ListenseServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ListenseServlet</servlet-name>
<url-pattern>/listense</url-pattern>
</servlet-mapping>
<listener>
<listener-class>com.mashibing.listense.MyListense</listener-class>
</listener>
<listener>
<listener-class>com.mashibing.listense.MyListense2</listener-class>
</listener>
java文件:ListenseServlet(监听程序)
public class ListenseServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request,response);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
System.out.println("listenseservlet逻辑处理");
request.setAttribute("listense","listense");
request.removeAttribute("listense"); //被删除的数据(不显示)
========================== 下面对应的5 ===========================
//向servletcontext中添加属值
ServletContext sc = this.getServletContext();
sc.setAttribute("servletContext","servletContext--value");
========================= 对应下面的6、7 =========================
//向session作用域中添加属性
HttpSession session = request.getSession();
session.setAttribute("session","session--value");
session.invalidate();
=====================================================================
response.getWriter().write("listense study");
}
}
分为:(通过绿色填充标记)
1、request接口
2、servletcontext接口
3、Session接口