首页 存档 技术 查看内容

不懂这个,你别告诉我你懂Java软件!   一、过滤器案例

2018-3-30 13:00 |来自: 互联网 357 0

摘要:   谈起软件开发,我们首先想到的就是Java。因为Java作为一门面向对象的语言来讲,已经发展的非常熟悉了。那么今天我给大家分享的是Javaweb开发里面的过滤器的使用。   一、过滤器案例   缓存:禁止浏览器缓 ...

  谈起软件开发,我们首先想到的就是Java。因为Java作为一门面向对象的语言来讲,已经发展的非常熟悉了。那么今天我给大家分享的是Javaweb开发里面的过滤器的使用。

  一、过滤器案例

  1.   缓存:禁止浏览器缓存所有动态页面


  2.   a.response.setDateHeader("Expires",-1);


  3.   b.response.setHeader("Cache-Control","no-cache");


  4.   c.response.setHeader("Pragma","no-cache");


  5.   强制浏览器缓存所有的静态页面

      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",免费领取资料



    声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

    路过

    雷人

    握手

    鲜花

    鸡蛋

    相关分类

    返回顶部