JavaWeb之监听器

一、JavaWeb中的监听器

事件源:(三大域)

  • ServletContext
    (1)生死监听:ServletContextListener,它有两个方法,一个在出生时调用,一个在死亡时调用
    在这里插入图片描述

    (2)属性监听:ServletContextAttributeListener,它有三个方法,一个在添加属性时调用,一个在改变属性时调用,一个在移除属性时调用
    在这里插入图片描述

  • HttpSession
    (1)生死监听: HttpSessionListener,它有两个方法,一个在出生时调用,一个在死亡时调用
    (2)属性监听:HttpSessionAttributeListener,它有三个方法,一个在添加属性时调用,一个在改变属性时调用,一个在移除属性时调用

  • ServletRequest
    (1)生死监听:ServletRequestListener,它有两个方法,一个在出生时调用,一个在死亡时调用
    (2)属性监听:ServletRequestAttributeListener,它有三个方法,一个在添加属性时调用,一个在改变属性时调用,一个在移除属性时调用
    JavaWeb中完成编写监听器只需要两步

  • 编写一个监听器类:要求必须实现某个监听器接口

  • 注册:在web.xml中进行配置(或者采用注解的方式来实现)
    事件对象:

  • ServletContextEvent:里面只有一个方法getServletContext

  • HttpSessionEvent:里面只有一个方法getHttpSession

  • ServletRequestEvent:里面有两个方法getServletContext和getServletRequest

二、Java实现一个监听器

就来实现一个ServletContext的属性监听器
(1)新建一个HttpServlet的继承类

@WebServlet(value = "/listener")
public class AServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        ServletContext servletContext = req.getServletContext();
        servletContext.setAttribute("username","zhangsan");
    }
}

当我们访问/listener对应的url时,往ServletContext添加一个名为username的属性
(2)新建一个ServletContextAttributeListener的属性监听器

@WebListener
public class AttributeListener implements ServletContextAttributeListener {
    @Override
    public void attributeAdded(ServletContextAttributeEvent scae) {
        System.out.println("added a attribute named="+scae.getName()+"   value="+scae.getValue());
    }
}

地址栏输入对应的url,查看输出
在这里插入图片描述
这就是一个简单的监听器的实现了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值