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

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

Struts2攔截器淺析

難度中級
時長59分
學(xué)習(xí)人數(shù)
綜合評分9.77
231人評價 查看評價
9.9 內(nèi)容實用
9.7 簡潔易懂
9.7 邏輯清晰
  • 相關(guān)代碼——(下): @login.jsp 信息:${session_error} <form action="Login" method="post"><!-- 默認(rèn)情況下:Login.action或Login都行。 --> 用戶名:<input name="user" type="text" /> 密碼:<input name="pwd" type="password" /> <input value="Login" type="submit" /> </form> @manager.jsp 后臺管理頁面。只有已登錄的用戶才能訪問! 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關(guān)注我,加我慕課好友,互相學(xué)習(xí),共同進步!】
    查看全部
  • 相關(guān)代碼——(中): @struts.xml <struts> <package name="default" extends="struts-default" namespace="/"> <!-- 注冊攔截器 --> <!-- Ps:攔截器棧內(nèi)的攔截器(除了默認(rèn)攔截器)的name要與攔截器棧外的攔截器要一致,因為引用攔截器棧的時候,里面的攔截器是從外面的攔截器中的class引用的 --> <interceptors> <interceptor name="AuthI" class="com.imooc.interceptor.AuthInterceptor"></interceptor> <!-- 自定義攔截器mystack:組合了defaultStack和AuthI --> <interceptor-stack name="mystack"> <interceptor-ref name="defaultStack"></interceptor-ref> <interceptor-ref name="AuthI"></interceptor-ref> </interceptor-stack> </interceptors> <!-- 通過此Action訪問后臺管理頁面,需要判斷用戶是否已登錄,如果未登錄則跳轉(zhuǎn)到登錄頁面 --> <action name="Auth"> <result>/WEB-INF/page/manager.jsp</result> <result name="login">/login.jsp</result> <!-- 引用自定義的攔截器 --> <interceptor-ref name="mystack"></interceptor-ref> </action> <action name="Login" class="com.imooc.action.LoginAction" method="login"> <result>/WEB-INF/page/manager.jsp</result> <result name="error">/login.jsp</result> </action> </package> </struts>
    查看全部
  • 相關(guān)代碼——(上): @LoginAction.java public class LoginAction extends ActionSupport implements SessionAware{ private String user; private String pwd; private Map<String,Object> session; public void setSession(Map<String, Object> session) { this.session=session; } //setter/getter... public String login(){ if("admin".equals(user)&&".".equals(pwd)){ session.put("session_user", user); return SUCCESS; }else{ session.put("session_error", "用戶名或密碼不正確!"); return ERROR; } } } @AuthInterceptor.java public class AuthInterceptor extends AbstractInterceptor { @Override public String intercept(ActionInvocation invocation) throws Exception { ActionContext context=ActionContext.getContext(); Map<String , Object> session=context.getSession(); if(session.get("session_user")!=null){ String result=invocation.invoke(); return result; }else{ return "login"; } } } 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關(guān)注我,加我慕課好友,互相學(xué)習(xí),共同進步!】
    查看全部
  • <!-- 為Action顯示引用攔截器后,默認(rèn)的攔截器defaultStack不再生效,需要手工引用。而且從順序角度去講,最好把默認(rèn)的攔截器寫在最上面 --> <interceptor-ref name="defaultStack"></<interceptor-ref> 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關(guān)注我,加我慕課好友,互相學(xué)習(xí),共同進步!】
    查看全部
  • 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關(guān)注我,加我慕課好友,互相學(xué)習(xí),共同進步!】
    查看全部
  • 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關(guān)注我,加我慕課好友,互相學(xué)習(xí),共同進步!】
    查看全部
  • 相關(guān)代碼——(下): @struts.xml <struts> <package name="default" extends="struts-default" namespace="/"> <!-- 注冊(定義)攔截器 --> <interceptors> <interceptor name="mytimer" class="com.imooc.interceptor.TimerInterceptor"></interceptor> </interceptors> <action name="timer" class="com.imooc.action.TimerAction"> <result>/success.jsp</result> <!-- 引用攔截器 --> <interceptor-ref name="mytimer"></interceptor-ref> </action> </package> </struts> @index.jsp <a href="timer">訪問TimerAction</a><!-- 因為默認(rèn)后綴為.action或沒有,所以可以不用寫timer.action,直接寫timer --> 提示:實現(xiàn)一個攔截器主要過程: 第一步:實現(xiàn)一個攔截器的類,有兩個方法,寫一個攔截器的類繼承自AbstractInterceptor或者實現(xiàn)Interceptor接口,并且在這個類里面實現(xiàn)對應(yīng)的intercept方法。 第二步:在struts.xml中對攔截器進行注冊(定義),并且在action中對攔截器進行引用。 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關(guān)注我,加我慕課好友,互相學(xué)習(xí),共同進步!】
    查看全部
  • 相關(guān)代碼——(上): @TimerAction.java public class TimerAction extends ActionSupport{ @Override public String execute() throws Exception { for(int i=0;i<10000;i++){ System.out.println("訪問suceess.jsp"); } return SUCCESS; } } @TimerInterceptor.java /** * 計算執(zhí)行Action花費的時間 */ public class TimerInterceptor extends AbstractInterceptor { @Override public String intercept(ActionInvocation invocation) throws Exception { //1.執(zhí)行Action之前 long start=System.currentTimeMillis(); //2.執(zhí)行下一個攔截器,如果已經(jīng)是最后一個攔截器,則執(zhí)行目標(biāo)Action。返回值:方法中return的值,如"success"。 String result=invocation.invoke(); //3.執(zhí)行Action之后 long end=System.currentTimeMillis(); System.out.println("執(zhí)行Action花費的時間:"+(end-start)+"ms"); System.out.println(result); return result; } } 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關(guān)注我,加我慕課好友,互相學(xué)習(xí),共同進步!】
    查看全部
  • @自定義攔截器方法二(推薦) 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關(guān)注我,加我慕課好友,互相學(xué)習(xí),共同進步!】
    查看全部
  • @自定義攔截器方法一(比較麻煩) 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關(guān)注我,加我慕課好友,互相學(xué)習(xí),共同進步!】
    查看全部
  • 攔截器工作原理(類似Web中的過濾器) 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關(guān)注我,加我慕課好友,互相學(xué)習(xí),共同進步!】
    查看全部
  • 什么是攔截器 II 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關(guān)注我,加我慕課好友,互相學(xué)習(xí),共同進步!】
    查看全部
  • 什么是攔截器 I 作用如:數(shù)據(jù)轉(zhuǎn)移、類型轉(zhuǎn)換、數(shù)據(jù)校驗。 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關(guān)注我,加我慕課好友,互相學(xué)習(xí),共同進步!】
    查看全部
  • 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關(guān)注我,加我慕課好友,互相學(xué)習(xí),共同進步!】
    查看全部
  • strut.xml常量設(shè)置
    查看全部

舉報

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)的支持!