2021-01-12

一、JAVA Web中的Filte与Listener

1、过滤器
在一组资源(jsp、servlet、html)获取前执行,决定能否得到相应的资源;
实现:
a.写一个实现Filter接口的类,并且重写doFilter()方法:
doFilter(ServletRequest,ServletResponse,FilterChain):每次过滤时执行;
b.配置web.xml中的与
多个过滤器执行顺序
FilteChian的doFilter()方法是放行本次过滤器去执行下一个过滤器;
过滤器执行的顺序是在web.xml中配置的filter的顺序;
先执行范围广的,后执行针对性强的;
4种拦截方法
REQUEST:拦截直接请求,可由别的servlet转发避开;默认
FORWORD:拦截转发;
INCLUDE:拦截包含
ERROR:拦截错误
可以在标签的中的中设置
应用场景
a.执行目标资源之前所做的预处理工作,如设置编码等,这类拦截最终会放行;
b.通过条件判断是够放行,如IP是否被禁用;
c.在目标资源执行之后做的一些特殊处理;
2、监听器
一个接口,内容由我们实现,需要注册,其中的方法会在特殊事件发生时调用;
事件源+事件+监听器;
通过在web.xml中的标签来进行注册;
事件源(三大域):
servlerContext(服务器的生命周期):
servletContextListener:生活死;
servletContextAttributeListener:对于添加、替换、移除操作的监听;
HttpSession(某一会话期间):
servletRequest(某一次请求):
3、Session与cookie
session是存储在服务器端的以KV键值对保存客户端信息的一种形式;cookie是保存在浏览器的;
序列化:服务器关闭后,session中内容被sessions.ser文件并保存在硬盘中,服务器开启后内容被重新加载至服务器;
钝化:将长久不用的session保存至硬盘中;在context.xml文件中进行配置;
request.getParameter(“参数名”):servlet中获取表单数据的方式;
response.addcookie():向浏览器发送cookie;
request.getCookies():返回本次请求的cookie数组;
cookie的maxage:设置最大保存时长
>0:保存在硬盘上并持续设置的时长;
<0:只保存在内存中,浏览器关闭则消失;
cookie路径:访问服务器哪些路径时需要归还这个cookie;
request.getSession():获取session;
在web.xml中配置标签下的来设置session的最大不活动时间;
session之URL重写——解决cookie不能用时发送sessionId的方法;

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值