java中监听器的概述

来源:互联网 发布:零基础自学编程 编辑:程序博客网 时间:2024/06/03 22:08

java中监听器的概述 (Listener&Filter)


1、监听器

i.       重点1:Servlet中监听器的作用;

主要是用来监听ServletContext、HttpSession、ServletRequest域对象;

①、监听域对象的创建、销毁过程(三个)

②、监听域对象的存值、移除值、替换值(三个)

③、监听HttpSession域中javabean对象状态的变化(绑定/解绑、活化/钝化)(两个)

ii.      重点2:Servlet中监听器的实现思路(步骤);

①、创建一个类实现对应的接口,重写抽象方法;

②、在web.xml中配置监听器:

<listener>

     <listener-class>com.ithema.listeners.MyHttpSessionListener</listener-class>

</listener>

特殊:监听HttpSession域中javabean对象状态的变化的监听器不需要在web.xml中配置

2、过滤器

i.       重点3:掌握Filter过滤器的实现思路;

①、创建一个类实现Filter接口,重写接口的抽象方法;

②、在web.xml中配置Filter;

<filter>

              <filter-name>/EncondingFilter</filter-name>

              <filter-class>com.itheima.practice3.EncondingFilter</filter-class>

       </filter>

       <filter-mapping>

              <filter-name>/EncondingFilter</filter-name>

              <url-pattern>/*</url-pattern>   这里面的路径额Servlet中配置的url-pattern一致

       </filter-mapping>

ii.      重点4:掌握过滤器路径配置中的<dispatcher>REQUEST</dispatcher>的作用

指定拦截哪一种请求:REQUEST、FORWARD、INCLUDE、ERROR

默认拦截的是REQUEST请求,指的是浏览器向服务器发送的一次普通请求。



 

01-监听器的概述

 什么是监听器?

 理解监听器的相关术语?

1、监听器:本质肯定是一个java类,用来监听另一个类的方法、属性是否发生了变化,一旦发生了变化,监听器这个类的某个方法就会被调用。

2、监听器中的相关术语:(以:脚踹汽车发生报警为例。)

a)      事件源:被监听的对象(汽车)

b)     监听器:用来监听的对象(报警器)

c)      事件和监听器绑定:在汽车上安装报警器

d)     事件:被监听的对象方法或者属性发生了改变(脚踹了车)

试一试:分析警察抓小偷、放哨等情景中的事件源、监听器、事件。




02-监听器的入门

  总结实现监听器监听的思路:

案例代码:

实现思路:

1、创建事件源(被监听对象)

2、绑定事件源和监听器(设置监听),这个时候就知道监听器是什么类型了。

3、创建监听器对象

4、触发监听。(将窗口关闭)




03-Servlet中的监听器

 Servlet中的监听器监听的事件源分别是什么?

  Servlet中监听器可以分为哪几类?

1、Servlet中的监听器主要监听的事件源是域对象:ServletContext、HttpServletRequest、HttpSession

2、Servlet中监听器的分类:

a)      监听三个域对象的创建、销毁的监听器。(有三个域对象就对应有三个监听器)

b)     监听三个域对象的存值、替换值、移除值的监听器。(三个)

c)      监听HttpSession中javabean的状态改变(钝化、活化、绑定、解绑)的监听器。(两个)




04-ServletContextListener监听器的使用

Ø 使用ServletContextListener监听器监听ServletContext的创建和销毁的实现思路是怎样的?

1、创建监听器类实现ServletContextListener接口,重新接口的所有方法。

2、将事件源和监听器进行绑定。(在web.xml中配置监听器就行了)




05-HttpSessionListener监听器的使用

Ø HttpSession对象在什么时候创建和销毁?

Ø 分别访问htmljspServlet是否会创建HttpSession对象?

1、HttpSession对象的创建和销毁:

a)      创建:在服务器端第一次调用getSession()方法是创建

b)     销毁:①、非正常关闭服务器时销毁session(正常关闭服务器,session会被序列化到硬盘);②、session过期;③、手动调用HttpSession的方法销毁session。

2、访问html:不会创建HttpSession对象;访问jsp:会创建HttpSession对象(HttpSession对象时jsp的内置对象,jsp在被翻译成Servlet时调用了getSession()方法);访问Servlet:默认不会创建HttpSession对象。



06-ServletRequestListener监听器的使用

Ø ServletRequest对象在什么时候创建和销毁?

ServletRequestListener作用是:监听ServletRequest对象的创建和销毁;

ServletRequest创建时机:当客户端向服务器发送一次请求时创建

ServletRequest销毁时机:服务器对客户端作出相应之后销毁。


原创粉丝点击