filter的用法总结

filter的用法总结

ID:15401844

大小:31.00 KB

页数:7页

时间:2018-08-03

filter的用法总结_第1页
filter的用法总结_第2页
filter的用法总结_第3页
filter的用法总结_第4页
filter的用法总结_第5页
资源描述:

《filter的用法总结》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Filter的用法总结Filter的用法总结Filter是Web编程里一把利器,它本质上就是一个拦截器,但实际应用中很灵活,用途也很广,下面是本人在开发中对filter应用的一个小结:1)转换字符编码中文网页编码常用的就是gb2312或是UTF-8,但TOMCAT会默认用编码iso-8859-1,所以需要把所有经过TOMCAT的中文字符进行转换,如果手动在request里改很麻烦,可以用一个filter对所有的request进行拦截,进行编码转换,一劳永逸2)管理Hibernate的session在Web里用Hibernate常常是把session绑定到线程

2、,但往往要求一个session在一个请求的活动中都有效,这样可以保证同一活动中能共享lazybean。用filter能到达这个目的,在doFilter之前绑定session到线程,在doFilter后关闭session,这样既可以保证session不会泄漏,也能让lazybean在同一请求周期里共享3)做权限审查在web层里需要对很多资源进行逻辑类似的安全保障,通过filter可以在调用这些资源前加上一个屏障,这样既可以把安全代码和逻辑代码相分离,也可以很好的reuse这些安全模块4)做cache在web层常常需要对一些请求返回进行缓存,这样可以有效的减轻服

3、务器的压力,filter可以对请求进行拦截,查询缓存,若有效则直接返回缓存内容,若无效则进行实际的服务器请求,返回给用户,并对缓存进行更新,以备下次请求5)做拦截器的代理有的时候需要把一些拦截器用到web层,filter可以很好地充当代理的角色,比如可以在Spring里做好拦截器的Bean,再通过filter把这些Bean和相应的web请求桥接起来。6)过滤特殊字符有时需要过滤特殊字符,比如防止sql注入,Filter可以很好达到这个目的doFilter(ServletRequestrequest,ServletResponseresponse,Filter

4、Chainnext)throwsIOException,ServletException{HttpServletRequestreq=(HttpServletRequest)request;HttpServletResponseresp=(HttpServletResponse)response;HttpSessionsession=req.getSession();Stringrequesturi=req.getRequestURI();if(requesturi.endsWith("css")

5、

6、requesturi.endsWith("js")

7、

8、re

9、questuri.endsWith("login.jsp")

10、

11、requesturi.endsWith("login.action")

12、

13、requesturi.endsWith("Logout.action")

14、

15、session.getAttribute(Constants.USER_KEY)!=null){next.doFilter(request,response);}elseif(session.getAttribute(Constants.USER_KEY)==null){resp.sendRedirect("/PowerGrid/login.jsp

16、");}众所周知,如果没有对页面进行权限控制,用户只要输入URL就能进入任何页面。下面就演示一下最基本的使用Fiter来控制页面的权限。1.写一个FILTER,用来判断用户是否有权限进入指定页面。java代码1importjava.io.IOException;23importjavax.servlet.Filter;4importjavax.servlet.FilterChain;5importjavax.servlet.FilterConfig;6importjavax.servlet.ServletException;7importjavax.serv

17、let.ServletRequest;8importjavax.servlet.ServletResponse;9importjavax.servlet.http.HttpServlet;10importjavax.servlet.http.HttpServletRequest;11importjavax.servlet.http.HttpServletResponse;12importjavax.servlet.http.HttpSession;1314importorg.apache.log4j.Logger;1516importcom.kiral.ac

18、tion.UserAction;17importco

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。