Struts2自定义拦截器
生活随笔
收集整理的這篇文章主要介紹了
Struts2自定义拦截器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 需求
自定義攔截器實現,用戶登錄的訪問控制。
2. 定義攔截器類
1 public class LoginInterceptor extends AbstractInterceptor 2 { 3 4 @Override 5 public String intercept(ActionInvocation ai) throws Exception 6 { 7 // TODO Auto-generated method stub 8 System.out.println("--------------intercept"); 9 String methodName = ai.getProxy().getMethod(); //獲得被攔截的方法名字 10 System.out.println("=============" + methodName); 11 if (methodName.equals("userLogin")) 12 { 13 return ai.invoke();//放行:繼續向下執行 14 } 15 //獲得登陸成功之后,會話對象封裝的數據 16 Object obj = ai.getInvocationContext().getSession().get("user"); 17 if (obj == null) 18 { 19 return Action.LOGIN; //跳轉到登陸頁面 20 } else 21 { 22 return ai.invoke();//放行:繼續向下執行 23 } 24 } 25 }3. 配置攔截器
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE struts PUBLIC 3 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" 4 "http://struts.apache.org/dtds/struts-2.3.dtd"> 5 <struts> 6 <package name="user" namespace="/" extends="struts-default"> 7 <interceptors> 8 <!-- 聲明自定義攔截器 --> 9 <interceptor name="loginInterceptor" class="com.bjsxt.util.LoginInterceptor"></interceptor>[A2] 10 <!-- 自定義攔截器棧 --> 11 <interceptor-stack name="mystack"> 12 <interceptor-ref name="defaultStack"></interceptor-ref> 13 <interceptor-ref name="loginInterceptor"></interceptor-ref> 14 </interceptor-stack> 15 </interceptors> 16 17 <!-- 全局的跳轉結果 --> 18 <global-results> 19 <result name="login">WEB-INF/jsp/login.jsp</result> 20 </global-results> 21 22 <action name="userAction_*" class="com.bjsxt.action.UserAction" 23 method="{1}"> 24 <!-- 引用自定義攔截器棧 --> 25 <interceptor-ref name="mystack"></interceptor-ref> 26 <result name="input">/index.jsp</result> 27 <result>/index.jsp</result> 28 <result name="show">WEB-INF/jsp/show.jsp</result> 29 </action> 30 <action name="defAction"> 31 <result>WEB-INF/jsp/show.jsp</result> 32 <!-- 引用自定義攔截器棧 --> 33 <interceptor-ref name="mystack"></interceptor-ref> 34 </action> 35 </package> 36 </struts>?
總結
以上是生活随笔為你收集整理的Struts2自定义拦截器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux性能优化之“关闭Ctrl+Al
- 下一篇: Mysql 新增用户可访问指定数据库所有