Java Filter

四种实用的JAVA过滤器

java 代码
一、使浏览器不缓存页面的过滤器     

  1. import  javax.servlet.*;       
  2. import  javax.servlet.http.HttpServletResponse;       
  3. import  java.io.IOException;       
  4.       
  5. /**      
  6. * 用于的使 Browser 不缓存页面的过滤器      
  7. */       
  8. public   class  ForceNoCacheFilter  implements  Filter {       
  9.       
  10. public   void  doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)  throws  IOException, ServletException       
  11. {       
  12.     ((HttpServletResponse) response).setHeader( "Cache-Control" , "no-cache" );       
  13.     ((HttpServletResponse) response).setHeader( "Pragma" , "no-cache" );       
  14.     ((HttpServletResponse) response).setDateHeader ( "Expires" , - 1 );       
  15.     filterChain.doFilter(request, response);       
  16. }       
  17.       
  18. public   void  destroy()       
  19. {       
  20. }       
  21.       
  22.        public   void  init(FilterConfig filterConfig)  throws  ServletException       
  23. {       
  24. }       
  25. }    

 

 

二、检测用户是否登陆的过滤器    

  1. import  javax.servlet.*;       
  2. import  javax.servlet.http.HttpServletRequest;       
  3. import  javax.servlet.http.HttpServletResponse;       
  4. import  javax.servlet.http.HttpSession;       
  5. import  java.util.List;       
  6. import  java.util.ArrayList;       
  7. import  java.util.StringTokenizer;       
  8. import  java.io.IOException;       
  9.       
  10. /**      
  11. * 用于检测用户是否登陆的过滤器,如果未登录,则重定向到指的登录页面       
  12.      
  13.      
  14. * 配置参数       
  15.      
  16.      
  17. * checkSessionKey 需检查的在 Session 中保存的关键字      
  18.      
  19. * redirectURL 如果用户未登录,则重定向到指定的页面,URL不包括 ContextPath      
  20.      
  21. * notCheckURLList 不做检查的URL列表,以分号分开,并且 URL 中不包括 ContextPath      
  22.      
  23. */       
  24. public   class  CheckLoginFilter       
  25. implements  Filter       
  26. {       
  27.        protected  FilterConfig filterConfig =  null ;       
  28.        private  String redirectURL =  null ;       
  29.        private  List notCheckURLList =  new  ArrayList();       
  30.        private  String sessionKey =  null ;       
  31.       
  32. public   void  doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)  throws  IOException, ServletException       
  33. {       
  34.     HttpServletRequest request = (HttpServletRequest) servletRequest;       
  35.     HttpServletResponse response = (HttpServletResponse) servletResponse;       
  36.       
  37.      HttpSession session = request.getSession();       
  38.      if (sessionKey ==  null )       
  39.     {       
  40.      filterChain.doFilter(request, response);       
  41.       return ;       
  42.     }       
  43.      if ((!checkRequestURIIntNotFilterList(request)) && session.getAttribute(sessionKey) ==  null )       
  44.     {  
  45. padding-top: 0px !important; padding-right: 3px !important; padding-bottom: 0px !important; padding-left: 10px !important; font-family: Verdana, Georgia, Arial, Helvetica, sans-serif; border-top-style: none
分享到:
评论

你可能感兴趣的:(java,cache,浏览器,servlet)