最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

struts2自定義攔截器的示例代碼

 更新時間:2017年08月16日 15:20:20   作者:rainumdo  
本篇文章主要介紹了struts2自定義攔截器的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

題目:使用struts2自定義攔截器,完成用戶登陸才能訪問權限的實現(xiàn)

  1. 在session中存放user變量表示用戶登陸,若user為空則用戶沒有登陸,反之登陸
  2. 顯示提示信息(請先登錄)

定義攔截器

在struts.xml中定義攔截器使用標簽<Intercaptors>、<Intercapter>。

  <interceptors>
      <interceptor name="test" class="Intercaptor.Intercaptor" />
      <interceptor-stack name="testStack">
        <interceptor-ref name="defaultStack"/>
        <interceptor-ref name="test" />
      </interceptor-stack>
  </interceptors>

注:當我們?yōu)槟硞€action添加Intercaptor時就會放棄struts2的其他的攔截器,所以我們要把自定義的攔截器放在一個一個攔截器棧中。

name屬性就是Intercaptor.Intercaptor類在服務器上的一個實例

class屬性就是這個攔截器的的類

實現(xiàn)攔截器

攔截器的java類要實現(xiàn)Intercaptor這個接口和里面的方法intercept()。我們這里攔截的條件是用戶是否登陸,也就是session中的user變量是否為空。

public class Intercaptor implements Interceptor{

  public void destroy() {
  }

  public void init() {

  }

  public String intercept(ActionInvocation invocation) throws Exception {
    Object user=ActionContext.getContext().getSession().get("user");
    if(user!=null){
      return invocation.invoke();
    }
    ActionContext.getContext().put("message", "請先登陸");
    return "success";
  }
}

實現(xiàn)業(yè)務邏輯

在action中添加攔截器

  <action name="Action" class="Action.Action">
      <interceptor-ref name="test"></interceptor-ref>
      <result name="success">Message.jsp</result>
  </action>

其他

action的實現(xiàn)

public class Action extends ActionSupport{
  private String message;
  
  public String getMessage() {
    return message;
  }

  public void setMessage(String message) {
    this.message = message;
  }

  public String execute() throws Exception {
    return "success";
  }
}

index.jsp

 <body>
  用戶狀態(tài):${user!=null?"已登陸":"未登陸"}<br>
  <a href="UserLogin.jsp" rel="external nofollow" >用戶登陸</a>
  <a href="UserQuit.jsp" rel="external nofollow" >用戶退出</a>
  <form action="<%request.getContextPath(); %>/testIntercaptor/Action">
    <input type="submit" value="登陸后的操作">
  </form>
 </body>


UserLogin.jsp

在request.getSesssion中存放user變量

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

 登陸成功
  <%
  request.getSession().setAttribute("user", "user");
  response.setHeader("refresh", "1;url=index.jsp");
  %>

UserQuit.jsp

移除request.getSesssion中user變量

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

 退出成功
  <%
  request.getSession().removeAttribute("user");
    response.setHeader("refresh", "1;url=index.jsp");
  %>

Message.jsp

簡單是輸出message和debug

 <body>
  ${message } <br/>
 <s:debug></s:debug>
 </body>

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 簡單談談java的異常處理(Try Catch Finally)

    簡單談談java的異常處理(Try Catch Finally)

    在程序設計中,進行異常處理是非常關鍵和重要的一部分。一個程序的異常處理框架的好壞直接影響到整個項目的代碼質(zhì)量以及后期維護成本和難度。
    2016-03-03
  • 如何在Mac上安裝并配置JDK環(huán)境變量詳細步驟

    如何在Mac上安裝并配置JDK環(huán)境變量詳細步驟

    這篇文章主要介紹了如何在Mac上安裝并配置JDK環(huán)境變量詳細步驟,包括下載JDK、安裝JDK、配置環(huán)境變量、驗證JDK配置以及可選地設置PowerShell為默認終端,需要的朋友可以參考下
    2025-04-04
  • 使用WebUploader實現(xiàn)上傳文件功能(一)

    使用WebUploader實現(xiàn)上傳文件功能(一)

    這篇文章主要為大家詳細介紹了使用WebUploader實現(xiàn)上傳文件功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Spring Security實現(xiàn)身份認證和授權的示例代碼

    Spring Security實現(xiàn)身份認證和授權的示例代碼

    在 Spring Boot 應用中使用 Spring Security 可以非常方便地實現(xiàn)用戶身份認證和授權,本文主要介紹了Spring Security實現(xiàn)身份認證和授權的示例代碼,感興趣的可以了解一下
    2023-06-06
  • 詳解java實現(xiàn)HTTP請求的三種方式

    詳解java實現(xiàn)HTTP請求的三種方式

    這篇文章主要介紹了java實現(xiàn)HTTP請求的三種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • Java?web實現(xiàn)頭像上傳以及讀取顯示

    Java?web實現(xiàn)頭像上傳以及讀取顯示

    這篇文章主要為大家詳細介紹了Java?web實現(xiàn)頭像上傳以及讀取顯示,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Java 給PDF簽名時添加可信時間戳的方法

    Java 給PDF簽名時添加可信時間戳的方法

    這篇文章主要介紹了Java 給PDF簽名時添加可信時間戳,關于jar導入的問題,本文給大家?guī)韮煞N方法,一種是手動導入另一種是maven配置導入,需要的朋友可以參考下
    2021-07-07
  • 說說@ModelAttribute在父類和子類中的執(zhí)行順序

    說說@ModelAttribute在父類和子類中的執(zhí)行順序

    這篇文章主要介紹了@ModelAttribute在父類和子類中的執(zhí)行順序,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java中緩沖流的使用與性能提升(讓文件操作更高效)

    Java中緩沖流的使用與性能提升(讓文件操作更高效)

    本文通過實例代碼介紹了Java中緩沖流的概念、工作原理和性能提升,并提供了字節(jié)緩沖流和字符緩沖流的使用示例,緩沖流通過在內(nèi)存中創(chuàng)建緩沖區(qū),減少實際的I/O操作次數(shù),從而提升文件讀寫性能,結合實例代碼給大家講解的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • Java中ArrayList同步的2種方法分享

    Java中ArrayList同步的2種方法分享

    這篇文章主要分享了Java中ArrayList同步的2種方法,Collections.synchronizedList()的方法,這個方法要進行串行訪問以及使用CopyOnWriteArrayList,下面分享內(nèi)容需要的小伙伴可以參考一下
    2022-03-03

最新評論

南昌县| 新营市| 汤原县| 山东| 灯塔市| 泾源县| 都江堰市| 息烽县| 彰化市| 凤山县| 石楼县| 克东县| 塔河县| 扎兰屯市| 伊宁县| 台中县| 清原| 达孜县| 迁西县| 石家庄市| 博罗县| 泸州市| 英德市| 丘北县| 黄石市| 怀仁县| 尉犁县| 策勒县| 寻乌县| 合山市| 屯留县| 合水县| 莎车县| 金堂县| 徐水县| 枝江市| 贞丰县| 左云县| 永州市| 屯留县| 太谷县|