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

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

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

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      37 Posts :: 64 Stories :: 21 Comments :: 0 Trackbacks

    Filter作用 :
     每當使用應用服務器頁面或servlet的時候,應用服務器就會根據web.xml里面配置的filter 去進行過濾理。
     
    調用處理過程就是:
     1.接受request->去處理第一個filter.init-> 處理第一個filter.doFilter
     2.如果不想繼續使用filter過濾就在filter.doFilter中使用 return
      3.如果要繼續使用filter過濾就filter.doFilter中 chain.doFilter(servletRequest, servletResponse);

    使用例子:
      1.web.xml配置
      <filter>
            <filter-name>Filter_name</filter-name>
            <filter-class>Filter_class_name</filter-class>
            <init-param>
                <description>set 'true' to enable the filter</description>
                <param-name>enabled</param-name>
                <param-value>true</param-value>
            </init-param>
      <init-param>
             <param-name>excepts</param-name>
       <param-value>Excepts_Path</param-value>
            </init-param>
        </filter>
     <filter-mapping>
         <filter-name>Filter_name</filter-name>
         <url-pattern>filter_path</url-pattern>
        </filter-mapping>
        <filter-mapping>
            <filter-name>Filter_name</filter-name>
            <url-pattern>filter_path</url-pattern>
        </filter-mapping>

       2、java代碼
     
     2.1 init 函數
     public void init(FilterConfig filterConfig) throws ServletException {

            //檢查是否打開SSOFilter功能
            String _enable = filterConfig.getInitParameter("enabled");
            if (_enable != null && "true".equalsIgnoreCase(_enable)) {
                enabled = true;
            }

            //初始化例外列表,即不經過SSOFilter的請求地址
            String _exceptStr = filterConfig.getInitParameter("excepts");
            if (_exceptStr != null) {
                String[] _excepts = _exceptStr.split(",");
                for (int i = 0; i < _excepts.length; i ++) {
                    excepts.add(_excepts[i]);
                }
            }
          }
     
     2.2 doFilter函數
     public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
                             FilterChain chain) throws IOException, ServletException {

            HttpServletRequest request = (HttpServletRequest) servletRequest;
            HttpServletResponse response = (HttpServletResponse) servletResponse;
            String path = request.getServletPath();

            /**
             * 當WEB程序啟了SSOFilter,并且請求的路徑沒被配置為例外時,
             * 檢查用戶是否已通過統一用戶平臺登錄,已登錄的話創建會話,否則轉到統一登錄頁面。
             */
            if (enabled && !excepts.contains(path)) {

                if (logger.isDebugEnabled()) {
                    logger.debug("check member has signoned ...");
                }

                boolean signOned = SSOHelper.hasSignOned(request, response);

                if (logger.isDebugEnabled()) {
                    logger.debug("Signoned? " + signOned);
                }

                if (!signOned) {
                    String SSOContextUri = SysParamHelper.getSysParam(SysParamConstants.CONTEXT_URI_SSO);
                    StringBuffer url = new StringBuffer(SSOContextUri);
                    url.append("/Login");
                    //記住入口地址
                    url.append("?entrance=");
                    url.append(request.getRequestURL());
                    if (request.getQueryString() != null) {
                        url.append("|");
                        url.append(request.getQueryString());
                    }
                    response.sendRedirect(url.toString());
                    return;
                }
            }
             chain.doFilter(servletRequest, servletResponse);
           }

    posted on 2009-09-22 11:06 xiachang88 閱讀(585) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 美女视频黄是免费的网址| 99精品在线免费观看| 免费观看男人免费桶女人视频| 国产精品亚洲二区在线| 国产在线jyzzjyzz免费麻豆| 中文字幕久久亚洲一区| 欧洲一级毛片免费| 亚洲精品午夜在线观看| 国产h肉在线视频免费观看| 亚洲人成在线中文字幕| 色窝窝免费一区二区三区| 中文字幕人成无码免费视频| 亚洲国产日韩女人aaaaaa毛片在线| 久久夜色精品国产噜噜亚洲a| 中文字幕精品三区无码亚洲| 99爱在线精品免费观看| 亚洲综合av一区二区三区| 日韩精品福利片午夜免费观着| 久久久久久亚洲精品不卡| 国产精品玖玖美女张开腿让男人桶爽免费看 | 又黄又爽一线毛片免费观看 | 亚洲乱码日产一区三区| ww在线观视频免费观看w| 日韩亚洲欧洲在线com91tv| 久久国产精品成人免费| 亚洲毛片免费视频| 日本一道高清不卡免费| 一级毛片免费视频网站| 久久亚洲精品无码AV红樱桃| 在线观看免费大黄网站| 国产精品综合专区中文字幕免费播放 | 免费看韩国黄a片在线观看| 亚洲欧美成人综合久久久| 日韩视频在线免费观看| 国产成人自产拍免费视频| 亚洲精品免费观看| 成年女性特黄午夜视频免费看| 亚洲网红精品大秀在线观看| a毛片基地免费全部视频| 免费无码AV一区二区| 久久综合亚洲鲁鲁五月天|