监听器(listener)、过滤器(Filter)、注解(自用)

监听器(listener)

监听器的作用:监听web中的域对象 ServletContext ServletRequest HttpSession。主要目的是给Web应用增加事件处理机制,以便更好地监视和控制Web应用的状态变化 。

监听生命周期和属性改变:listener全部是接口
监听三个对象的创建和销毁
ServletContextListener
ServletRequestListener
HttpSessionListener
监听三个对象属性的变化(创建 、移除、修改)
ServletContextAttributeListener
ServletRequestAttributeListener
HttpSessionAttributeListener
监听session中javabean的状态
HttpSessionActivationListener(钝化和活化)
HttpSessionBindingListener(绑定和解绑,在session中存放对象时使用)
使用步骤:
1.编写一个类 实现接口
2.重写方法
3.编写配置文件(标签)

过滤器(Filter)

过滤器(Filter接口):一个中间组件,用于拦截源数据和目的数据之间的消息。
过滤器默认对请求拦截,不会对请求转发拦截。disPATCHER默认是对请求拦截 设置对请求转发也拦截。
filterConfig:
过滤器的配置对象
作用:
获取全局管理者
获取当前filter的名称
获取当前filter的初始化参数
过滤器的生命周期:
filter单实例多线程
filter在服务器启动的时候 服务器创建filter 调用init方法 实现初始化操作
请求来的时候,创建一个线程 根据路径调用dofilter 执行业务逻辑
当filter被移除的时候或者服务器正常关闭的时候 调用destory方法 执行销毁操作。

过滤器的方法:
intit方法:初始化
doFilter方法:进行过滤的方法,处理业务逻辑,
destroy() :销毁操作

过滤链(FilterChain):
通过chain的dofilter方法,可以将请求放行到下一个过滤器,直到最后一个过滤器放行才可以访问到servlet|jsp

注册映射的方式
xml的方式:执行的顺序是过滤器映射的顺序
注解的方式:执行的顺序类名的先后顺序,
监听器(listener)、过滤器(Filter)、注解(自用)

注解

注解:注解本质就是一个接口,接口中可以有常量和抽象方法,抽象方法在注解中就称之为注解属性。
注解属性类型:基本类型、String、Class、Annotation、Enum:枚举,以上类型对应的一维数组。

元注解:定义在注解上的注解。@Documented、@Inherited、@Retention、@Target
@Retention 规定注解保留到什么阶段 值为RetentionPolicy的三个枚举值
SOURCE:只在代码中保留,在字节码文件中就删除了
CLASS:在代码和字节码文件中保留
RUNTIME:所有阶段都保留
@Target 规定注解作用在什么上面 值为ElementType的枚举值
TYPE:作用在类 接口 等上面,任何地方上都可以用
METHOD:作用方法上面
FIELD:作用属性上面

java中3个注解
@Override:声明该方法是从分类上继承过来的,执行编译期的检查
@SuppressWarnings:抑制警告 值有好多,只需要知道一个 all 抑制所有的警告
@Deprecated:声明 该方法不赞成使用