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

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

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

    web.xml中 filter解析

    AdminFilter.java:
    package org.bluechant.mvc.filter;

    import java.io.IOException;

    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;

    import org.bluechant.mvc.core.GlobalSources;

    /**
     * 
    @author CHAOS
     * @date 2012-02-28 12:49
     * filter for check wheather user already login in ,
     * if not , send redirect to the login page 
     * if already login , forward user's request to the target request URL
     
    */

    public class AdminFilter implements Filter 
        
        
    private String loginPage ;
        
        
    private String loginAction ;
        
        
    private String userLoginTag ;
        
    //FilterConfig可用于訪問Filter的配置信息
        private FilterConfig config;

        
    //執(zhí)行過濾的核心方法
        public void doFilter(ServletRequest req, ServletResponse res,
                FilterChain chain) 
    throws IOException, ServletException {
            
            HttpServletRequest request 
    = (HttpServletRequest) req;
            HttpServletResponse  response 
    = (HttpServletResponse )res;
            HttpSession session 
    = request.getSession(true);

            
    //獲取客戶請求的頁面
            String urlPath = request.getServletPath();
            
    //如果session范圍的user為null,即表明沒有登錄
            
    //且用戶請求的既不是登錄頁面,也不是處理登錄的頁面if( session.getAttribute("user") == null

            
    boolean flag = needNotFilter(urlPath);
            
    //不需要進行攔截的頁面
            if(!flag){
                Object obj 
    = session.getAttribute(userLoginTag);
                System.out.println(
    "the session userLoginTag value is :"+obj);
                
    if(obj!=null){
                    flag 
    = true ;
                }

            }

            
    if(flag){
                chain.doFilter(req, res);
            }
    else{
                
    //攔截不通過的時候跳轉(zhuǎn)到的目標//forward到登錄頁面
                response.sendRedirect(request.getContextPath()+loginPage);
            }

        }

        
    //只有在”/login.html“ || “/account!login.do” 情況下才進行攔截通過,否則攔截不通過跳到登陸頁面
        private boolean needNotFilter(String urlPath){
            
    if(urlPath.endsWith(loginPage) || urlPath.endsWith(loginAction)){
                
    return true ;
            }

            
    return false ;
        }


        
    /**
         * init params
         
    */

        
    public void init(FilterConfig config) throws ServletException {
            loginPage 
    = config.getInitParameter("loginPage");
            loginAction 
    = config.getInitParameter("loginAction");
            userLoginTag 
    = config.getInitParameter("userLoginTag");
            System.out.println(
    "the loginPage value is :"+loginPage);
            System.out.println(
    "the loginAction value is :"+loginAction);
            System.out.println(
    "the userLoginTag value is :"+userLoginTag);
            
    this.config = config;
            
    //以前頁面登陸的時候session進行設(shè)置HttpSession session = request.getSession(true);
            
    //session.setAttribute(GlobalSources.user_login_tag, user);
            GlobalSources.user_login_tag = userLoginTag ;//session放到GlobalSources,bean里,
    用GlobalSources.user_login_tag獲得

        }


        
    public void destroy(){
            
            
    this.config = null;
        }


    }


    web.xml中對應(yīng)filter文件:
     <filter>
          <filter-name>adminFilter</filter-name>
          <filter-class>org.bluechant.mvc.filter.AdminFilter</filter-class>
              <init-param>
                   <param-name>loginAction</param-name>
                   <param-value>/account!login.do</param-value>
              </init-param>
              <init-param>
                   <param-name>loginPage</param-name>
                   <param-value>/login.html</param-value>
              </init-param>
              <init-param>
                   <param-name>userLoginTag</param-name>
                   <param-value>account_login_check</param-value>
              </init-param>  
     </filter>
     
     <filter>
              <filter-name>userSourceFilter</filter-name>
              <filter-class>org.bluechant.mvc.filter.AccountRoleFilter</filter-class>
     </filter>
     
     <filter-mapping>
              <filter-name>adminFilter</filter-name>
              <url-pattern>*.do</url-pattern><!-- 表明凡是訪問跳轉(zhuǎn)*.do形式的跳轉(zhuǎn),都要運行名字為adminFilter的過濾器 -->
     </filter-mapping>
     
     <filter-mapping>
              <filter-name>userSourceFilter</filter-name>
              <url-pattern>*.do</url-pattern>
     </filter-mapping>

    posted on 2012-05-24 10:40 youngturk 閱讀(900) 評論(0)  編輯  收藏 所屬分類: web.xml解析

    <2012年5月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    導(dǎo)航

    統(tǒng)計

    公告

    this year :
    1 jQuery
    2 freemarker
    3 框架結(jié)構(gòu)
    4 口語英語

    常用鏈接

    留言簿(6)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    EJB學(xué)習(xí)

    Flex學(xué)習(xí)

    learn English

    oracle

    spring MVC web service

    SQL

    Struts

    生活保健

    解析文件

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲综合一区二区三区四区五区| 国产成人99久久亚洲综合精品 | 两个人看的www免费视频中文| 老司机永久免费网站在线观看| 亚洲一级毛片中文字幕| 亚洲w码欧洲s码免费| 精品97国产免费人成视频| 亚洲成人影院在线观看| 人妖系列免费网站观看| 亚洲一区二区精品视频| 两个人的视频www免费| 亚洲AV成人一区二区三区AV| 免费无码又爽又刺激一高潮| 99视频在线精品免费观看6| 亚洲日韩乱码中文字幕| 国产最新凸凹视频免费| 亚欧洲精品在线视频免费观看 | 无码国模国产在线观看免费| 亚洲另类自拍丝袜第五页| 国产精品无码免费视频二三区| 美女被爆羞羞网站免费| 亚洲午夜福利在线观看| 97公开免费视频| 亚洲熟女www一区二区三区| 亚洲精品A在线观看| 国产va在线观看免费| 久久亚洲国产成人影院| 亚洲av麻豆aⅴ无码电影| 337p欧洲亚洲大胆艺术| 羞羞视频免费网站在线看| 亚洲电影免费在线观看| 国产大片线上免费观看| 十八禁的黄污污免费网站| 亚洲精品二区国产综合野狼| 18禁男女爽爽爽午夜网站免费| 亚洲粉嫩美白在线| 在线日韩日本国产亚洲| 午夜国产精品免费观看| 国产精品视频全国免费观看| 亚洲最新在线视频| 亚洲日本在线观看视频|