javaweb -- 7、Servlet系列之监听器+案例

目录

 

10.3.2 监听:

1、

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接口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值