最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
在java項(xiàng)目中如何使用Struts2攔截器

在java項(xiàng)目中如何使用Struts2攔截器?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

在沁陽(yáng)等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供成都做網(wǎng)站、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣,外貿(mào)網(wǎng)站建設(shè),沁陽(yáng)網(wǎng)站建設(shè)費(fèi)用合理。

1、攔截器是什么?

攔截器相當(dāng)于過(guò)濾器:就是將不想要的去掉,想要的留下。攔截器抽象出一部分代碼可以用來(lái)完善原來(lái)的action。同時(shí)可以減輕代碼冗余,提高重用率。通俗地講就是一張網(wǎng),過(guò)濾掉不需要的沙子,留下水。

2、攔截器的作用:

攔截器可以構(gòu)成特定的功能。比如權(quán)限認(rèn)證、日志記錄和登陸判斷。

3、攔截器的原理

在java項(xiàng)目中如何使用Struts2攔截器

其每一個(gè)Action請(qǐng)求都在攔截器中,每一個(gè)action可以將操作轉(zhuǎn)交給下面的攔截器,也可以直接退出到界面上。

4、定義攔截器:

(1)自定義一個(gè)實(shí)現(xiàn)Interceptor接口(不過(guò)我初學(xué)者一般直接實(shí)現(xiàn)框架中的Interceptor)

(2)在struts.xml中注冊(cè)定義的攔截器

(3)可以需要的action中引用攔截器

Interceptor接口聲明了三個(gè)方法

public interface Interceptor extends Serializable {
 
  void destroy();
 
  void init();
 
  String intercept(ActionInvocation invocation) throws Exception;
}

Init方法是在action作用之前調(diào)用,就是開(kāi)始給爛機(jī)器的初始化操作。

Destory方法在攔截器被垃圾回收之前調(diào)用,用來(lái)回收init方法初始化的資源。

interceptor方法是攔截器的主要操作。如果需要調(diào)用后續(xù)的Action或者攔截器,只需要在該方法中調(diào)用invocation.invoke()方法即可,在該方法調(diào)用的前后可以插入Action調(diào)用前后攔截器需要做的方法。

現(xiàn)在對(duì)用戶(hù)登錄進(jìn)行攔截,代碼如下:

public String intercept(ActionInvocation invocation) throws Exception {
    
    System.out.println("在action執(zhí)行之前");
    ActionContext actionContext=invocation.getInvocationContext();
    Map session=actionContext.getSession();
    
    Object currentUser=session.get("currentUser");
    String result=null;
    if(currentUser!=null){
      result=invocation.invoke();
      
    }else{
      
      HttpServletRequest request=(HttpServletRequest)invocation.getInvocationContext().get(ServletActionContext.HTTP_REQUEST);
      request.setAttribute("error", "請(qǐng)先登錄");
      result="error";
    }
    System.out.println("result+"+result);
    System.out.println("在action執(zhí)行之后");
    return result;
  }

注冊(cè)攔截器:


       
       
       
       
         
           
       
     

上述代碼中的interceptor-stack是個(gè)攔截器棧。到目前為止,就是在下面引用時(shí),比較方便。一般來(lái)講,每個(gè)action都會(huì)使用defaultStack。

攔截器參數(shù):

配置參數(shù):

  • excludeMethods:過(guò)濾掉不使用攔截器的方法
  • includeMethods:使用攔截器的方法。

有兩種配置方式:


 myValidationExcudeMethod


 myWorkflowExcludeMethod

或者


  myValidationExcludeMethod
  myWorkflowExcludeMethod

看完上述內(nèi)容,你們掌握在java項(xiàng)目中如何使用Struts2攔截器的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


本文名稱(chēng):在java項(xiàng)目中如何使用Struts2攔截器
網(wǎng)頁(yè)網(wǎng)址:http://fisionsoft.com.cn/article/jphpoi.html