STRUTS2 登录拦截器
来源:互联网 发布:java中this调用方法 编辑:程序博客网 时间:2024/05/17 17:59
作用检查用户是否登录,如果没有登录跳转到登录页面
struts.xml 配置
<package name="struts-shop" extends="struts-default,json-default"> <interceptors> //配置拦截器,param配置要传递的参数 <interceptor name="LoginInterceptors" class="com.bonc.Interceptor.LoginInterceptor"> <param name="excludeName">login,index</param> <param name="sessionName">user_session</param> </interceptor> //定义拦截器链,拦截器就会按定义的顺序被调用 <interceptor-stack name="myInterceptors"> <interceptor-ref name="LoginInterceptors"></interceptor-ref> <interceptor-ref name="defaultStack"></interceptor-ref> </interceptor-stack> </interceptors> //这个必须有 <default-interceptor-ref name="myInterceptors" /> //定义错误是跳转的页面 <global-results> <result name="exp">/view/error.jsp</result> <result name="login">/view/login.jsp</result> </global-results> //定义catch到的错误 <global-exception-mappings> <exception-mapping result="exp" exception="java.lang.Exception" /> </global-exception-mappings> </package>//在下面的package中要继承struts-shop<package name="login" extends="struts-shop"></package拦截器代码实现
package com.bonc.Interceptor;import java.util.ArrayList;import java.util.List;import java.util.Map;import com.bonc.entity.User;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.AbstractInterceptor;public class LoginInterceptor extends AbstractInterceptor { private static final long serialVersionUID = 1L; private String sessionName; private String excludeName; private List<String> list; public List<String> strList(String str) { List<String> list = new ArrayList<String>(); if(str != null) { String[] arr = str.split(","); for(String s : arr) { list.add(s); } } return list; } public void init() { list = strList(excludeName); } @Override public String intercept(ActionInvocation invocation) throws Exception { String actionName = invocation.getProxy().getActionName(); System.out.println("in intercept actionName is " + actionName); if(list.contains(actionName)) { return invocation.invoke(); } Map<String,Object> session = invocation.getInvocationContext().getSession(); User user = (User) session.get(sessionName); if(user == null) { return "login"; } else { return invocation.invoke(); } } public String getSessionName() { return sessionName; } public void setSessionName(String sessionName) { this.sessionName = sessionName; } public String getExcludeName() { return excludeName; } public void setExcludeName(String excludeName) { this.excludeName = excludeName; } public List<String> getList() { return list; } public void setList(List<String> list) { this.list = list; }}
0 0
- STRUTS2 登录拦截器
- struts2拦截器--拦截未登录用户
- Struts2自定义拦截器:登录拦截
- struts2 拦截器 登录验证
- 浅谈Struts2登录拦截器
- Struts2拦截器登录验证
- Struts2拦截器登录验证
- Struts2拦截器登录验证
- struts2 拦截器控制用户登录权限
- struts2拦截器实现登录控制
- Struts2 拦截器 实现登录权限
- struts2 拦截器验证是否登录
- struts2用户登录拦截器测试
- Struts2 自动登录的拦截器
- struts2 拦截器 登录权限验证
- Struts2自定义拦截器验证登录
- struts2拦截器实现登录限制
- struts2登录拦截器代码实例
- Python 'yield' - Dive into sample code
- Aws bmp 安装之后,启动服务之后无法访问
- python subprocess 2
- iOS探索:iOS程序的Build过程
- 浅谈Struts2拦截器的原理与实现
- STRUTS2 登录拦截器
- Java ClassLoader详解及应用(写的挺好的)
- Arcgis for Silverlight的图例Legend默认折叠
- linux下service的命令用法
- javacc 6 生成 C++
- iGrimace 安装检查及卸载
- 求最长连续公共子串
- 如何关闭ipv6
- python学习之--Hello World