欢迎来到天天文库
浏览记录
ID:20400806
大小:33.50 KB
页数:10页
时间:2018-10-13
《四个非常有用过滤器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、四个非常有用的过滤器一、使浏览器不缓存页面的过滤器importjavax.servlet.*;importjavax.servlet.http.HttpServletResponse;importjava.io.IOException;/***用于的使Browser不缓存页面的过滤器*/publicclassForceNoCacheFilterimplementsFilter{publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainfilterChain)throwsIOException
2、,ServletException{((HttpServletResponse)response).setHeader("Cache-Control","no-cache");((HttpServletResponse)response).setHeader("Pragma","no-cache");((HttpServletResponse)response).setDateHeader("Expires",-1);filterChain.doFilter(request,response);}publicvoiddestroy(){}publicvoidinit(FilterCo
3、nfigfilterConfig)throwsServletException{}}二、检测用户是否登陆的过滤器importjavax.servlet.*;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importjava.util.List;importjava.util.ArrayList;importjava.util.StringTokenizer;importjava.i
4、o.IOException;/***用于检测用户是否登陆的过滤器,如果未登录,则重定向到指的登录页面*配置参数*checkSessionKey需检查的在Session中保存的关键字*redirectURL如果用户未登录,则重定向到指定的页面,URL不包括ContextPath*notCheckURLList不做检查的URL列表,以分号分开,并且URL中不包括ContextPath*/publicclassCheckLoginFilterimplementsFilter{protectedFilterConfigfilterConfig=null;privateStringredire
5、ctURL=null;privateListnotCheckURLList=newArrayList();privateStringsessionKey=null;publicvoiddoFilter(ServletRequestservletRequest,ServletResponseservletResponse,FilterChainfilterChain)throwsIOException,ServletException{HttpServletRequestrequest=(HttpServletRequest)servletRequest;HttpServletResp
6、onseresponse=(HttpServletResponse)servletResponse;HttpSessionsession=request.getSession();if(sessionKey==null){filterChain.doFilter(request,response);return;}if((!checkRequestURIIntNotFilterList(request))&&session.getAttribute(sessionKey)==null){response.sendRedirect(request.getContextPath()+re
7、directURL);return;}filterChain.doFilter(servletRequest,servletResponse);}publicvoiddestroy(){notCheckURLList.clear();}privatebooleancheckRequestURIIntNotFilterList(HttpServletRequestrequest){Stringuri=request.getServletPath()+(req
此文档下载收益归作者所有