第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

Struts2攔截器淺析

難度中級
時長59分
學(xué)習(xí)人數(shù)
綜合評分9.77
231人評價 查看評價
9.9 內(nèi)容實用
9.7 簡潔易懂
9.7 邏輯清晰
  • 自定義攔截器方法二:繼承AbstractInterCeptor類,與InterCeptor接口相比,該類提供了init和destroy方法的空實現(xiàn),僅需要實現(xiàn)intercept方法
    查看全部
  • 自定義攔截器方法一:實現(xiàn)Interceptor接口
    查看全部
  • 實現(xiàn)攔截器: 繼承抽象攔截者 AbstractInterceptor 實現(xiàn)攔截方法 intercept 找著對應(yīng)的人 然后調(diào)用他的方法 實現(xiàn)后如何才能被運用到項目中? struts2配置文件中先注冊再調(diào)用!
    查看全部
  • constant:常量
    查看全部
  • struts攔截器: 考入jar包并build path,jdk設(shè)置成1.6的 創(chuàng)建struts2.xml并配置action 在web.xml配置struts2(filterclass:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter),其實就是新建Filter 編寫action類,繼承ActionSupport,繼承execute方法,返回SUCCESS 將action配置到struts2.xml中 編寫interceptor,在其中的用ActionInvocation的對象調(diào)用invoke方法,可以調(diào)用action 在struts2.xml中注冊interceptor,并在action標(biāo)簽中引用
    查看全部
  • 4.定義攔截器,判斷用戶是否已經(jīng)登錄.此攔截器在跳轉(zhuǎn)的action中引用. 在攔截器的intercept(ActionInvocation arg0)方法中通過獲取session對象(三種方式其中一種),判斷session里面是否存在登錄成功的那個屬性,即loginsuccess,來判斷用戶是否登錄成功. 如果loginsuccess屬性不為空,則直接調(diào)用arg0的invoke()方法,此方法返回字符串與在執(zhí)行action方法中返回的字符串一致.(引用了該攔截器的action),直接返回這個字符串即可. 如果判斷用戶未登錄,則直接返回"login",表示用戶需要登錄.那么在此action中也要配置一個<result name="login">login.jsp</result>,當(dāng)直接訪問未登錄時,便會跳轉(zhuǎn)到登錄頁面. 攔截器與Action方法里的返回值,即return,都會與struts.xml中的result結(jié)果集進行匹配.攔截器可以在訪問Action之前,進行一些操作. 整個項目結(jié)果:通過login.jsp登錄,當(dāng)?shù)卿洺晒Ρ阕詣犹D(zhuǎn)到管理頁面,否則跳轉(zhuǎn)到登錄頁面. 當(dāng)直接訪問跳轉(zhuǎn)到后臺的action時,如果用戶登錄了,便會跳轉(zhuǎn)到后臺管理頁面,未登錄的話則跳轉(zhuǎn)到登錄頁面.
    查看全部
  • (案例)開發(fā)權(quán)限驗證的攔截器. 效果:后臺有一個管理頁面,要求用戶必須是已登錄的用戶才能訪問頁面,如果用戶未登錄則不允許訪問此頁面. 1.首先創(chuàng)建一個管理頁面(manager.jsp)與登錄頁面(login.jsp). 2.創(chuàng)建一個專門用來跳轉(zhuǎn)到后臺管理頁面的action并配置,跳轉(zhuǎn)方法返回的字符串是對應(yīng)結(jié)果集中的manager.jsp頁面,即管理頁面.因此當(dāng)直接訪問此action時,就可以跳轉(zhuǎn)到后臺管理頁面(此時不需要登錄). 3.在login.jsp中需要定義表單,用于登錄,此表單提交到一個用來處理登錄信息的action來接收和處理表單的信息,在action中要獲取session對象.action中有一個處理信息的login()方法,表單提交到此action時便執(zhí)行此login()方法,在方法里通過if語句判斷用戶輸入的用戶名與密碼是否正確. 如果都正確,便把登錄信息保存在Session當(dāng)中,即session.put("loginsuccess",username)),login()方法直接返回SUCCESS即可. 如果用戶登錄失敗,則保存一個登錄失敗的信息進入session,即session.put("loginfalse","登錄失敗!").login()方法返回ERROR. 在strut.xml中配置此驗證登錄的action(跳轉(zhuǎn)的action已配置),當(dāng)login()方法返回SUCCESS時,即登錄成功,則在<result>的路徑返回后臺管理頁面.否則返回登錄頁面,即login.jsp. <action name="" class=""> <result>web-inf/manager.jsp</result> <result name="error">/login.jsp</result> </action>
    查看全部
  • WEB-INF是Java的WEB應(yīng)用的安全目錄,所謂安全就是客戶端無法訪問,只有服務(wù)端可以訪問的目錄. 在web項目的web-inf文件下的資源是不能夠直接訪問的.但可以通過action方式來訪問此資源.假設(shè)web-inf下有一個a.jsp文件,通過訪問action,在action的方法中返回一個結(jié)果集,此結(jié)果集的匹配頁面就是a.jsp. 當(dāng)在<action name="">標(biāo)簽中沒有設(shè)置class屬性,則會調(diào)用默認(rèn)的ActionSupport類.
    查看全部
  • Struts2內(nèi)置攔截器 params攔截器 負(fù)責(zé)將請求參數(shù)設(shè)置為Action屬性. staticParams攔截器 將配置文件中action元素的子元素param參數(shù)設(shè)置為Action屬性. servletConfig攔截器 將源于Servlet API的各種對象注入到Action,必須實現(xiàn)對應(yīng)的接口. fileUpload攔截器 對文件上傳提供支持,將文件和元數(shù)據(jù)設(shè)置到對應(yīng)的Action屬性. exception攔截器 捕獲異常,并且將異常映射到用戶自定義的錯誤頁面. validation攔截器 調(diào)用驗證框架進行數(shù)據(jù)驗證. 可以在Struts2的strut-code jar包下的struts-default.xml配置文件查看內(nèi)建的攔截器,此文件是Struts2的核心配置文件. 此文件中的struts-default包下定義了一個名為defaultStack的攔截器棧,里面定義了很多攔截器,并且設(shè)置了默認(rèn)的攔截器就是此攔截器棧. struts2在啟動的時候,會去自動加載此文件. 攔截器棧: <interceptor-stack name=""> <interceptor-ref name="攔截器1"/> <interceptor-ref name="攔截器2"/> </interceptor-stack> 首先在<interceptors>標(biāo)簽下定義所有的攔截器,然后可以通過<interceptor-ref>標(biāo)簽直接在Action標(biāo)簽下引用,或者通過<interceptor-stack>定義攔截器棧,其下引用多個攔截器,最后在Action標(biāo)簽下通過<interceptor-ref>直接引用攔截器棧即可. 可以通過<default-interceptor-ref name="">設(shè)置默認(rèn)執(zhí)行的攔截器,當(dāng)沒有為Action手動引用攔截器,此時便會調(diào)用設(shè)置好的默認(rèn)攔截器.如果為Action指定了攔截器,則默認(rèn)的攔截器不會起作用. 當(dāng)action加入了攔截器,用IOC的方式獲取不了session,因此當(dāng)action中有攔截器時應(yīng)該用ServletActionContext或ActionContext的方式獲取session.
    查看全部
  • struts架構(gòu) action運行流程
    查看全部
  • 攔截器實例(統(tǒng)計Action的執(zhí)行時間) 在攔截器中的intercept()方法實現(xiàn)攔截操作. 其中System.currentTimeMillis();方法可以記錄當(dāng)前時刻的時間.單位是毫秒. 在intercept()方法中的ActionInvocation參數(shù)有一個invoke()方法,此方法類似過濾器的doFilter()方法.當(dāng)有下一個攔截器的時候,便會執(zhí)行下一個攔截器,否則就直接執(zhí)行Action.此方法返回字符串類型,此字符串是執(zhí)行Action的方法時的返回值. 只要在intercept()方法中調(diào)用 invoke()方法后,如果能成功的調(diào)用了對應(yīng)Action類中的方法,strtus2就會按照該方法的返回值去找對應(yīng)的result, 從而忽略攔截器的返回值,如果你不調(diào)用invoke()方法,那么頁面就會跳轉(zhuǎn)到你在攔截器中指定的result對應(yīng)的頁面.這個方式通常用于權(quán)限驗證, 當(dāng)符合權(quán)限要求的時候才會調(diào)用invoke()方法,執(zhí)行Action類中的方法,不滿足權(quán)限的直接返回錯誤頁面,這是就用到了攔截器中的返回值了.
    查看全部
  • 創(chuàng)建完攔截器還需要在struts.xml文件中配置攔截器并在action中引用它. 首先在包下通過<interceptors>標(biāo)簽進行注冊攔截器,此標(biāo)簽下還有<interceptor name="" class="">標(biāo)簽,其中name屬性指定攔截器的名字,class屬性指定攔截器的全限類名.多個攔截器就有多個<interceptor>標(biāo)簽來配置. 然后在action標(biāo)簽下通過<interceptor-ref name="">標(biāo)簽來指明執(zhí)行此action時要被哪個攔截器攔截.name屬性指明要被攔截的攔截器名.
    查看全部
  • 創(chuàng)建攔截器 方式二(常用):繼承AbstractInterceptor類(抽象類) 1.創(chuàng)建一個類繼承AbstractInterceptor類. 2.只需實現(xiàn)此抽象類的Intercept()抽象方法即可. AbstractInterceptor抽象類本身也是實現(xiàn)了Interceptor接口的.它提供了init()和destroy()方法的空實現(xiàn).
    查看全部
  • 創(chuàng)建攔截器 方式一:實現(xiàn)Interceptor接口 1.創(chuàng)建一個類,實現(xiàn)Interceptor接口. 2.實現(xiàn)init()、destroy()、intercept()方法 public String intercept(ActionInvocation ai) 方法是在進行攔截的時候會自動調(diào)用的方法,進行真正意義的攔截操作. 其中參數(shù)ActionInvocation對象包含了Action的信息與攔截器的信息,通過此參數(shù)可以獲取到Action與攔截器的信息. 同時此方法返回一個字符串,此字符串就是邏輯視圖.即return result;
    查看全部
  • 攔截器工作原理 當(dāng)Struts2執(zhí)行一個action的時候,會在action執(zhí)行之前去執(zhí)行一些攔截器(在action之前的攔截器),如果有多個攔截器會依次進行執(zhí)行,最后會執(zhí)行action. 調(diào)用action里業(yè)務(wù)處理的方法,方法會返回一個字符串,之后會進行視圖的匹配,返回一個result視圖.此時結(jié)果并沒有正在響應(yīng)客戶端,因為在action執(zhí)行完之后還要反向執(zhí)行之前的攔截器,此時才會進行正在的響應(yīng). 攔截器的工作原理與過濾器的工作原理相似.
    查看全部

舉報

0/150
提交
取消
課程須知
本課程主要講解Struts2中的攔截器,小伙伴們需要對Struts2基本用法、 Action配置等相關(guān)知識有一定的基礎(chǔ)。
老師告訴你能學(xué)到什么?
1、攔截器概念、作用 2、Struts2內(nèi)建的攔截器 3、如何自定義攔截器 4、使用攔截器實現(xiàn)權(quán)限控制

微信掃碼,參與3人拼團

微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復(fù)購買,感謝您對慕課網(wǎng)的支持!