<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Dict.CN 在線詞典, 英語學習, 在線翻譯

    都市淘沙者

    荔枝FM Everyone can be host

    統計

    留言簿(23)

    積分與排名

    優秀學習網站

    友情連接

    閱讀排行榜

    評論排行榜

    四個有用的過濾器 Filter

     

    一、使瀏覽器不緩存頁面的過濾器 
    import javax.servlet.*;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;

    /**
     * 用于的使 Browser 不緩存頁面的過濾器
     
    */

    public class ForceNoCacheFilter implements Filter {

     
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException
     
    {
      ((HttpServletResponse) response).setHeader(
    "Cache-Control","no-cache");
      ((HttpServletResponse) response).setHeader(
    "Pragma","no-cache");
      ((HttpServletResponse) response).setDateHeader (
    "Expires"-1);
      filterChain.doFilter(request, response);
     }


     
    public void destroy()
     
    {
     }


        
    public void init(FilterConfig filterConfig) throws ServletException
     
    {
     }

    }


    二、檢測用戶是否登陸的過濾器

    import javax.servlet.*;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.StringTokenizer;
    import java.io.IOException;

    /**
     * 用于檢測用戶是否登陸的過濾器,如果未登錄,則重定向到指的登錄頁面<p>
     * 配置參數<p>
     * checkSessionKey 需檢查的在 Session 中保存的關鍵字<br/>
     * redirectURL 如果用戶未登錄,則重定向到指定的頁面,URL不包括 ContextPath<br/>
     * notCheckURLList 不做檢查的URL列表,以分號分開,并且 URL 中不包括 ContextPath<br/>
     
    */

    public class CheckLoginFilter
     
    implements Filter
    {
        
    protected FilterConfig filterConfig = null;
        
    private String redirectURL = null;
        
    private List notCheckURLList = new ArrayList();
        
    private String sessionKey = null;

     
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException
     
    {
      HttpServletRequest request 
    = (HttpServletRequest) servletRequest;
      HttpServletResponse response 
    = (HttpServletResponse) servletResponse;

       HttpSession session 
    = request.getSession();
      
    if(sessionKey == null)
      
    {
       filterChain.doFilter(request, response);
       
    return;
      }

      
    if((!checkRequestURIIntNotFilterList(request)) && session.getAttribute(sessionKey) == null)
      
    {
       response.sendRedirect(request.getContextPath() 
    + redirectURL);
       
    return;
      }

      filterChain.doFilter(servletRequest, servletResponse);
     }


     
    public void destroy()
     
    {
      notCheckURLList.clear();
     }


     
    private boolean checkRequestURIIntNotFilterList(HttpServletRequest request)
     
    {
      String uri 
    = request.getServletPath() + (request.getPathInfo() == null ? "" : request.getPathInfo());
      
    return notCheckURLList.contains(uri);
     }


     
    public void init(FilterConfig filterConfig) throws ServletException
     
    {
      
    this.filterConfig = filterConfig;
      redirectURL 
    = filterConfig.getInitParameter("redirectURL");
      sessionKey 
    = filterConfig.getInitParameter("checkSessionKey");

      String notCheckURLListStr 
    = filterConfig.getInitParameter("notCheckURLList");

      
    if(notCheckURLListStr != null)
      
    {
       StringTokenizer st 
    = new StringTokenizer(notCheckURLListStr, ";");
       notCheckURLList.clear();
       
    while(st.hasMoreTokens())
       
    {
        notCheckURLList.add(st.nextToken());
       }

      }

     }

    }


    三、字符編碼的過濾器

    import javax.servlet.*;
    import java.io.IOException;

    /**
     * 用于設置 HTTP 請求字符編碼的過濾器,通過過濾器參數encoding指明使用何種字符編碼,用于處理Html Form請求參數的中文問題
     
    */

    public class CharacterEncodingFilter
     
    implements Filter
    {
     
    protected FilterConfig filterConfig = null;
     
    protected String encoding = "";

     
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException
     
    {
            
    if(encoding != null)
             servletRequest.setCharacterEncoding(encoding);
            filterChain.doFilter(servletRequest, servletResponse);
     }


     
    public void destroy()
     
    {
      filterConfig 
    = null;
      encoding 
    = null;
     }


        
    public void init(FilterConfig filterConfig) throws ServletException
     
    {
             
    this.filterConfig = filterConfig;
            
    this.encoding = filterConfig.getInitParameter("encoding");

     }

    }


    四、資源保護過濾器

    package catalog.view.util;
                           
                            
    import javax.servlet.Filter;
                            
    import javax.servlet.FilterConfig;
                            
    import javax.servlet.ServletRequest;
                            
    import javax.servlet.ServletResponse;
                            
    import javax.servlet.FilterChain;
                            
    import javax.servlet.ServletException;
                            
    import javax.servlet.http.HttpServletRequest;
                            
    import java.io.IOException;
                            
    import java.util.Iterator;
                            
    import java.util.Set;
                            
    import java.util.HashSet;
                            
    //
                            import org.apache.commons.logging.Log;
                            
    import org.apache.commons.logging.LogFactory;
                            
                            
    /**
                            * This Filter class handle the security of the application.
                            *
                            
                            * It should be configured inside the web.xml.
                            * 
                            * 
    @author Derek Y. Shen
                            
    */

                            
    public class SecurityFilter implements Filter {
                            
    //the login page uri
                            private static final String LOGIN_PAGE_URI = "login.jsf";
                            
                            
    //the logger object
                            private Log logger = LogFactory.getLog(this.getClass());
                            
                            
    //a set of restricted resources
                            private Set restrictedResources;
                            
                            
    /**
                            * Initializes the Filter.
                            
    */

                            
    public void init(FilterConfig filterConfig) throws ServletException {
                            
    this.restrictedResources = new HashSet();
                            
    this.restrictedResources.add("/createProduct.jsf");
                            
    this.restrictedResources.add("/editProduct.jsf");
                            
    this.restrictedResources.add("/productList.jsf");
                            }

                            
                            
    /**
                            * Standard doFilter object.
                            
    */

                            
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
                            
    throws IOException, ServletException {
                            
    this.logger.debug("doFilter");
                            
                            String contextPath 
    = ((HttpServletRequest)req).getContextPath();
                            String requestUri 
    = ((HttpServletRequest)req).getRequestURI();
                            
                            
    this.logger.debug("contextPath = " + contextPath);
                            
    this.logger.debug("requestUri = " + requestUri);
                            
                            
    if (this.contains(requestUri, contextPath) && !this.authorize((HttpServletRequest)req)) {
                            
    this.logger.debug("authorization failed");
                            ((HttpServletRequest)req).getRequestDispatcher(LOGIN_PAGE_URI).forward(req, res);
                            }

                            
    else {
                            
    this.logger.debug("authorization succeeded");
                            chain.doFilter(req, res);
                            }

                            }

                            
                            
    public void destroy() {} 
                            
                            
    private boolean contains(String value, String contextPath) {
                            Iterator ite 
    = this.restrictedResources.iterator();
                            
                            
    while (ite.hasNext()) {
                            String restrictedResource 
    = (String)ite.next();
                            
                            
    if ((contextPath + restrictedResource).equalsIgnoreCase(value)) {
                            
    return true;
                            }

                            }

                            
                            
    return false;
                            }

                            
                            
    private boolean authorize(HttpServletRequest req) {
                            
                            
    //處理用戶登錄
                            /* UserBean user = (UserBean)req.getSession().getAttribute(BeanNames.USER_BEAN);
                            
                            if (user != null && user.getLoggedIn()) {
                            //user logged in
                            return true;
                            }
                            else {
                            return false;
                            }
    */

                            }

                            }

     

    posted on 2007-12-03 17:13 都市淘沙者 閱讀(611) 評論(0)  編輯  收藏 所屬分類: Java Basic/Lucene/開源資料

    主站蜘蛛池模板: 免费看又黄又无码的网站| 午夜视频免费成人| 亚洲AV日韩综合一区尤物| 国产午夜免费福利红片| 国产一精品一AV一免费| 亚洲校园春色另类激情| 亚洲综合色成在线播放| 国产精品久久永久免费| 一级做a爱过程免费视频高清| 亚洲国产精品第一区二区| 日本a级片免费看| 免费不卡在线观看AV| 亚洲AV无码AV吞精久久| 亚洲精品高清久久| 免费在线观看黄色毛片| 久视频精品免费观看99| 一级a性色生活片久久无少妇一级婬片免费放 | 国产成人无码精品久久久免费 | 成人免费观看男女羞羞视频| 久久综合亚洲鲁鲁五月天| 在线a亚洲v天堂网2018| 久草视频免费在线| 两个人看的www免费视频| 亚洲精品国产suv一区88| 亚洲av网址在线观看| 亚洲AV无码不卡在线观看下载| 亚洲一区二区三区免费视频| 一级一级毛片免费播放| 亚洲欧美熟妇综合久久久久| 亚洲精品视频在线| 亚洲中文久久精品无码| 免费观看a级毛片| 曰批全过程免费视频网址| 国产日韩AV免费无码一区二区三区 | 日本免费A级毛一片| 老司机午夜性生免费福利| 亚洲AV一二三区成人影片| 亚洲精品视频在线| 亚洲国产成人片在线观看| 亚洲午夜国产片在线观看| 免费日韩在线视频|