欢迎来到天天文库
浏览记录
ID:40490530
大小:27.45 KB
页数:10页
时间:2019-08-03
《Filter-四个有用的Java过滤器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、四个有用的Java过滤器java代码一、使浏览器不缓存页面的过滤器packagecom.sist;importjavax.servlet.*;importjavax.servlet.http.HttpServletResponse;importjava.io.IOException;/***用于的使Browser不缓存页面的过滤器*/publicclassForceNoCacheFilterimplementsFilter{publicvoiddoFilter(ServletRequestrequest,ServletResponseresp
2、onse,FilterChainfilterChain)throwsIOException,ServletException{((HttpServletResponse)response).setHeader("Cache-Control","no-cache");((HttpServletResponse)response).setHeader("Pragma","no-cache");((HttpServletResponse)response).setDateHeader("Expires",-1);filterChain.doFilt
3、er(request,response);}}二、检测用户是否登陆的过滤器packagecom.sist;importjavax.servlet.*;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importjava.util.List;importjava.util.ArrayList;importjava.util.StringToke
4、nizer;importjava.io.IOException;/***用于检测用户是否登陆的过滤器,如果未登录,则重定向到指的登录页面*配置参数checkSessionKey需检查的在Session中保存的关键字*redirectURL如果用户未登录,则重定向到指定的页面,URL不包括ContextPath*notCheckURLList不做检查的URL列表,以分号分开,并且URL中不包括ContextPath*/publicclassCheckLoginFilterimplementsFilter{privateStringredirec
5、tURL=null;privateListnotCheckURLList=newArrayList();privateStringsessionKey=null;publicvoiddoFilter(ServletRequestservletRequest,ServletResponseservletResponse,FilterChainfilterChain)throwsIOException,ServletException{HttpServletRequestrequest=(HttpServletRequest)servletReq
6、uest;HttpServletResponseresponse=(HttpServletResponse)servletResponse;HttpSessionsession=request.getSession();if(sessionKey==null){filterChain.doFilter(request,response);return;}if((!checkRequestURIIntNotFilterList(request))&&session.getAttribute(sessionKey)==null){response
7、.sendRedirect(request.getContextPath()+redirectURL);return;}filterChain.doFilter(servletRequest,servletResponse);}publicvoiddestroy(){notCheckURLList.clear();}privatebooleancheckRequestURIIntNotFilterList(HttpServletRequestrequest){Stringuri=request.getServletPath()+(reques
8、t.getPathInfo()==null?"":request.getPathInfo());returnnotCheckURLList.contains(uri
此文档下载收益归作者所有