
filter
mChenys
这个作者很懒,什么都没留下…
展开
-
Filter过滤器
简介Filter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。 Servlet API中提供了一个Filter接口,开发web应用时...原创 2018-07-25 21:29:05 · 294 阅读 · 0 评论 -
案例一:禁止浏览器缓存动态页面
禁止浏览器缓存所有动态页面的过滤器:有 3 个 HTTP 响应头字段都可以禁止浏览器缓存当前页面,它们在 Servlet 中的示例代码如下:response.setDateHeader("Expires",-1); response.setHeader("Cache-Control","no-cache"); response.setHeader("Pragma","no-ca...原创 2018-07-26 09:34:41 · 2090 阅读 · 0 评论 -
案例二:控制浏览器缓存静态资源的时间
控制浏览器缓存页面中的静态资源的过滤器:场景:有些动态页面中引用了一些图片或css文件以修饰页面效果,这些图片和css文件经常是不变化的,所以为减轻服务器的压力,可以使用filter控制浏览器缓存这些文件,以提升服务器的性能。如何控制缓存的时间?cache-control: max-age=3600 缓存 1个 小时 expires: 当前的时间 + 1个小时代码如下:p...原创 2018-07-26 09:51:25 · 1513 阅读 · 0 评论 -
案例三:实现用户的自动登录
实现用户自动登录的过滤器当用户登录的时候勾选了自动登录选项,那么首次登录会把用户的账户密码保存到Cookie,当用户关闭页面 重新打开,符合条件的将会先被filter拦截实现自动登录的功能,即使用户关闭浏览器了,只要Cookie没有过期,再次打开页面如果符合条件也是可以完成自动登录的.需要注意的是,如果用户点击了退出登录后返回的页面(一般都是通过重定向返回的),如果返回的页面仍然被自动登录...原创 2018-07-26 10:29:35 · 2421 阅读 · 1 评论 -
案例四:解决全网站的post和get方式乱码
首先,我们来回顾下,当我们打开浏览器访问服务器的时候如果传送过去一些数据,如果发过去的数据有中文,我们不可避免的都要解决乱码(不管其是get请求还是post请求。)类似的我们总要调用如下的代码:Get请求时:String username = request.getParameter(“username”);new String(username.getBytes(“ISO8859...原创 2018-07-26 11:15:35 · 264 阅读 · 0 评论 -
案例五:统一压缩响应
应用HttpServletResponseWrapper对象,压缩响应正文内容。思路:通过filter向目标页面传递一个自定义的response对象。在自定义的response对象中,重写getOutputStream方法和getWriter方法,使目标资源调用此方法输出页面内容时,获得的是我们自定义的ServletOutputStream对象。在我们自定义的ServletOuputS...原创 2018-07-26 12:29:11 · 241 阅读 · 0 评论 -
案例六:通过动态代理解决全网站的post和get方式乱码
关于动态代理的介绍可以看这篇文章详情下面直接贴出Filter的代码:package blog.youkuaiyun.com.web;import java.io.IOException;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Pro...原创 2018-07-31 16:06:19 · 319 阅读 · 0 评论