JavaWeb_8-过滤器与监听器

一、过滤器(拦截器)

可以过滤请求的信息,拦截一些资源,和servlet个非常类似

servlet是根据请求的方式

比如:在所有的servlet请求,都需要进行编码处理

又或者:登录过滤,个人中心,必须要用户登录后才能显示

1.1

创建类似于servlet

image-20200812152639760

1.2配置web.xml文件

image-20200812153022861

启动的时候就进行了初始化

1.filter配置url路径:

拦截项目下所有请求,包括多个层级

/*

拦截项目下所有.jsp文件的请求

*.jsp

拦截项目下所有.servlet的请求

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8lW8ONsK-1597225384516)(https://db-zhanzhaoxu.oss-cn-chengdu.aliyuncs.com/Picture/20200812154013.png)]

image-20200812154402105

2.注解的方式配置

类似于servlet

image-20200812154529188

image-20200812155616870

1.3 过滤重复的代码

setContext这里不要随便设置,会对所有生效,会过滤掉图片样式等等

image-20200812154951724

所有过滤链执行完之后进入真实的servlet中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FZCXQNOB-1597225384523)(https://db-zhanzhaoxu.oss-cn-chengdu.aliyuncs.com/Picture/20200812155426.png)]

1.3 用过滤器来进行登录过滤(js和ajax)

表单提交的action注释掉了,给最后提交的submmit变为button,添加一个事件

image-20200812155829299

不能直接访问ucenter界面,所以要用过滤器进行过滤

image-20200812161008509

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0enJKYPO-1597225384525)(https://db-zhanzhaoxu.oss-cn-chengdu.aliyuncs.com/Picture/20200812161017.png)]

image-20200812164307359

二、监听器

2.1能干什么

image-20200812170827301

2.能监听request,session,application属性的状态(什么时候添加,删除,修改属性的值)用于日志中

3.还能监听session中对象的绑定

2.2创建

image-20200812171119173

只要程序启动,就会创建servletContext(Application)

只要配置了监听器,就会执行servletContextEvent

结束服务器,就会销毁

image-20200812171342691

session访问就会执行访问

session生命结束后就会销毁

request的创建和销毁

发送一个request就会创建一个

跳转上一个request会销毁,转发不会销毁

内容监听

image-20200812172551269

也分为ServletContextListener,HttpSessionListener和HttpSessionListener

5.监听session中对象的绑定

很多框架利用了监听器的原理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值