在线上“逆战”学习第十五天
努力到无能为力,拼搏到感动自己!!!
今天在课堂上学习到了JavaEE里的session,过滤器和监听器的使用。
状态管理-Session:
Session用于跟踪客户的状态。Session指的是在一段时间内,单个客户与Web服务器的一连串相关的交互过程。
Session工作原理:
当浏览器第一发送请求给服务器时,那么服务器会在内存中开辟一个对象(session),通过hash算法得到这个对象的内存地址(eac123456),此时服务器会new cookie对象(new Cookie(“JsessionId”,“eac123456”)),将cookie添加到response中响应给浏览器进行存储。
如何使用Session绑定对象:
使用HttpSession的setAttribute(属性名,Object)方法。
如何删除Session:
使用HttpSession的invalidate方法。
如何理解session的作用范围是一次会话:
1.session有着自己的生命周期,可以自己设定时长。
2.是因为存放原来JsessionId的那个cookie的maxAge=-1;浏览器关闭了,这个cookie还能使用吗?
3.由于存放JsessionId的cookie被销毁类,所以你找不到原来的session对象类,但是那个对象还会在内存中存在。
如何修改Session的缺省时间限制:
1.使用HttpSession的session.setMaxInactiveInterval(20*60);设置,单位秒
2.在web.xml中配置 ,单位分钟
20
Session的典型应用:验证登录
过滤器:
如何编写过滤器:
1、编写java类实现Filter接口。
2、重写doFilter方法。
3、设置拦截的url。
过滤器的配置:
注解式配置:在自定义的Filter类上使用注解@WebFilter(“/*”)。
xml配置:在web.xml中进行过滤器的配置。
过滤器链:在资源放行前,过滤请求,在资源放行后,过滤响应,多个过滤器之间过滤成链。
过滤器的初始化参数:在过滤器的创建的时候,可以传递初始化参数。
过滤器的优点:可以实现 Web 应用程序中的预处理和后期处理逻辑。
过滤器的典型应用(过滤器的作用来看):
1.过滤所有的请求,因为他是在servlet.jsp.html等资源执行之前执行,可以类似封装的作用,比如处理乱码。
2.可以在资源放行之前,对request进行处理,过滤敏感词。
3.我们可以在资源放行之后,对资源响应给浏览器的response进行相关处理:压缩响应内容。
案例:禁用浏览器缓存,自动登录,过滤脏词,过滤器解决编码,对响应文本内容进行压缩。
监听器的使用:
什么是监听器:监听器用于监听web应用中某些对象、信息的创建、销毁、增加,修改,删除等动作的发生,然后作出相应的响应处理。当范围对象的状态发生变化的时候,服务器自动调用监听器对象中的方法。常用于统计访问人数和在线用户,系统加载时进行信息初始化,统计网站的访问量等等。
监听器类型:
生命周期监听器:ServletContext上下文监听器,Session监听器,request监听器。
属性变化监听器:ServletContext属性变化监听器,session属性变化监听器,request属性变化监听器。
充实忙碌的一天,梦想激励我加油!
中国加油!武汉加油!