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

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

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

    攔截器再應用學習

    攔截器
    如果用戶登錄后可以訪問action中的所有方法
    user.jsp{
    request.getSession().setAttribute(
    "user""itcast");
    //專門設置用戶是否登錄狀態,session來專門標注用戶是否登錄
    }
    退出登錄
    quit.jsp{
    request.getSession().removeAttribute(
    "user");
    //將session去掉就行了..
    }
    如果用戶沒有登錄不允許訪問action中的方法,并且提示

    1.定義攔截器
    1.1實現com.opensymphony.xwork2.ActionInvocation.Interceptor接口
        @Override
        
    public void destroy() {//當此類被摧毀的時候執行
            
        }

        @Override
        
    public void init() {//實例化自動執行
            
        }
    public String intercept(ActionInvocation invocation) throws Exception {
            
    // TODO Auto-generated method stub
            Object user = ActionContext.getContext().getSession().get("user");
            
    if(user!=null)//判斷用戶是否登錄
                invocation.invoke();//執行被攔截到的方法,不掉用,被攔截的action方法

    不會被執行
            ActionContext.getContext().put(
    "message""you have not right");
            
    return "success";//定義全局
        }//當攔擊到action就會執行此方法
    1.2注冊攔截器 在struts的package中注冊攔截器
    <package name="employee" namespace="/control/employee" extends="struts-default">
            
    <interceptors> <!-- 注冊攔截器 -->
                
    <interceptor name="permission" 

    class="cn.itcast.interceptor.PermissionInterceptor"></interceptor>
                
    <!-- 使用攔截器棧可以使用自定義攔截器,且 不失去系統自定義攔截器功能 

    -->
                
    <interceptor-stack name="permissionStack">
                    
    <!-- 系統默認攔截器 -->
                    
    <interceptor-ref name="defaultStack"></interceptor-ref>
                    
    <!-- 自定義攔截器的引入 -->
                    
    <interceptor-ref name="permission"></interceptor-ref>
                
    </interceptor-stack>
            
    </interceptors>
            
    <!--默認包里面全用此攔截器  1 與 @@對應-->
            
    <default-interceptor-ref name="permissionStack"></default-interceptor-ref>
            
    <global-results>
                
    <result name="success">/WEB-INF/page/message.jsp</result>
            
    </global-results>
            
            
            
    <action name="list_*" class="cn.itcast.action.HelloWorldAction" 

    method
    ="{1}">
                
    <!-- 使用攔截器 @@ -->
                
    <!-- <interceptor-ref name="permissionStack"></interceptor-ref>
                
    <interceptor-ref name="增加自定義新攔截器"></interceptor-ref> -->
            
    </action>
        
    </package>

    1.3 需要定義攔截器棧,否則自定義攔截器會覆蓋struts自帶的攔截器,使struts失去自身的攔截器功能
    /control/employee

    posted on 2012-06-07 11:55 youngturk 閱讀(170) 評論(0)  編輯  收藏 所屬分類: struts2

    <2012年6月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567

    導航

    統計

    公告

    this year :
    1 jQuery
    2 freemarker
    3 框架結構
    4 口語英語

    常用鏈接

    留言簿(6)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    EJB學習

    Flex學習

    learn English

    oracle

    spring MVC web service

    SQL

    Struts

    生活保健

    解析文件

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费黄色网址网站| 国产精品亚洲综合| 一级做a爰片久久毛片免费陪 | 免费无码午夜福利片| 久久久久久精品免费免费自慰| 亚洲一区二区三区无码中文字幕 | 91精品视频在线免费观看| 波多野结衣视频在线免费观看| 亚洲天堂男人天堂| 国产亚洲视频在线播放大全| 成人特黄a级毛片免费视频| 久久精品国产亚洲AV无码麻豆| 99久久99这里只有免费的精品| heyzo亚洲精品日韩| 朝桐光亚洲专区在线中文字幕| 白白国产永久免费视频| 亚洲成a人片在线观看精品| 很黄很黄的网站免费的| 久久狠狠高潮亚洲精品| 日本免费一区二区三区四区五六区 | 毛片a级毛片免费观看免下载| 亚洲免费人成视频观看| 99视频全部免费精品全部四虎| 亚洲美女中文字幕| 99在线精品视频观看免费| 亚洲资源在线视频| 成人免费一级毛片在线播放视频| 亚洲一区二区三区免费观看| 全免费A级毛片免费看网站| 国产97视频人人做人人爱免费| 亚洲AV无码AV男人的天堂| 色窝窝免费一区二区三区| 国产亚洲视频在线| 亚洲宅男永久在线| 永久黄网站色视频免费| 99在线热播精品免费99热| 一本天堂ⅴ无码亚洲道久久| 亚洲一区无码精品色| 精品香蕉在线观看免费| 免费无码又爽又黄又刺激网站| 久久精品a亚洲国产v高清不卡|