谈起软件开发,我们首先想到的就是Java。因为Java作为一门面向对象的语言来讲,已经发展的非常熟悉了。那么今天我给大家分享的是Javaweb开发里面的过滤器的使用。 一、过滤器案例
3.实现用户自动登陆功能示例 1)在用户登陆成功后,发送一个名称为user的cookie给客户端,cookie的值为用户名和md5加密后的密码 2)编写过滤器检查用户是否带名为user的cookie来,如果有,检查用户名和密码做自动登陆 核心思路: 1.用户登陆后找LoginServlet,LoginServlet中做登陆,如果登陆成功,获得用户选择的自动登陆时间 2.创建一个新的cookie将用户名和密码用“_”连接作为value,autoLogin作为name 3.设置cookie的有效路径request.getContextPath()作用于整个web应用 4.设置cookie的有效时间为autologintime 5.发送cookie,写一个过滤器,对全站的资源进行拦截,检查用户发送的cookie有没有一个名为autologin的,如果有取出用户名和密码再次做登陆处理如果登陆成功,将user存入session,放行出于安全性考虑,cookie中的密码应该进行md5加密. 4.统一全站字符编码功能示例 response和request的post的方式好办,只需要做以下操作即可。 response.setContentType("text/html;charset=utf-8"); request.setCharacterEncoding("utf-8"); 对于request的get方式需要手工转换,此时就需要用到包装设计模式decorator包装getParameter方法
5.怎样发送压缩后的响应数据,思路示例 给IE浏览器会送的数据需要进行gzip压缩访问速度快省点浏览,在最后将数据打给浏览器的时候,将response中的数据全部压缩,在过滤器放行的时候传入一个假的response提供缓冲区,这样后面的资源都会写入我的缓冲区,缓冲区满了或者请求快结束的时候将缓冲区的数据压缩后写入真的response。 备注:j2se提供了一个流GZIPOutputStream用于gzip压缩,j2se提供了一个流ZIPOutputStream用于zip压缩。
另外还有一点可以通过自身的学习来获取一大进步。 究竟有哪些干货呢?请关注微信公众号“西安华美校区”,或者微信搜索“xahmxq",免费领取资料 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|