struts2用户登录拦截器测试
2014-03-14 22:08
369 查看
第一次写博客,也不知道怎么写,先把代码贴上吧!
简单的登陆校验
拦截器核心代码:PermissionInterceptor.java
拦截器配置文件:struts.xml:
ActionContext.getContext().getSession().get("username");
赋值方法:
ActionContext.getContext().getSession().put("username","chaoyongbing");
request,application一样
为action属性赋值:
<action name="xxx">
<param name="msg1">chaoyongbing</param>
<result>/hello.jsp</result> 默认返回success时执行
</action>
修改后缀:
<constant name="struts.action.extension" value="bing,action" />
动态调用加“!” eg:类名!方法名
简单的登陆校验
拦截器核心代码:PermissionInterceptor.java
package interceptor; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.Interceptor; public class PermissionInterceptor implements Interceptor { @Override public void destroy() { // TODO Auto-generated method stub } @Override public void init() { } @Override public String intercept(ActionInvocation invocation) throws Exception { Object user = ActionContext.getContext().getSession().get("user"); if (user != null) { String s = invocation.invoke();//继续执行 return s; //如果user不为null,代表用户已经登录,允许执行action中的方法 } ActionContext.getContext().put("message", "你没有权限执行该操作"); return "success"; } }
拦截器配置文件:struts.xml:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <package name="chao" extends="struts-default"> <interceptors> <interceptor name="permission" class="interceptor.PermissionInterceptor" /><!-- 加入自定义拦截器 --> <interceptor-stack name="permissionStack"> <interceptor-ref name="defaultStack" /> <interceptor-ref name="permission" /><!--注意 ///// --> </interceptor-stack> </interceptors> <!-- <default-interceptor-ref name="permissionStack" /> --><!-- //定义是否对所有action拦截有效 --> <global-results> <result name="success">/WEB-INF/page/bing.jsp</result> </global-results> <action name="hello_*" class="chao.HelloWorldAction" method="{1}"> <result>/WEB-INF/page/hello.jsp</result> </action> <action name="bing_*" class="chao.UserAction" method="{1}"> <interceptor-ref name="permissionStack" /><!--注意 加入拦截栈 ///// --> </action> </package> </struts>模拟登陆操作:login.jsp:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body> <% request.getSession().setAttribute("user", "chao"); %> ok user已经登录。。。。。。。 </body> </html>模拟退出登录,quit.jsp:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body> <% request.getSession().removeAttribute("user"); %> onnnnnnnnn user退出登录。。。。。。 </body> </html>action文件:UserAction.java:
package chao; public class UserAction{ private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public String addUI() { this.message = "addUi"; return "success"; } public String execute() { this.message = "execute"; return "success"; } }就这样吧,另外获取session对象内容方法:
ActionContext.getContext().getSession().get("username");
赋值方法:
ActionContext.getContext().getSession().put("username","chaoyongbing");
request,application一样
为action属性赋值:
<action name="xxx">
<param name="msg1">chaoyongbing</param>
<result>/hello.jsp</result> 默认返回success时执行
</action>
修改后缀:
<constant name="struts.action.extension" value="bing,action" />
动态调用加“!” eg:类名!方法名
相关文章推荐
- struts2用户是否登录拦截器,拦截之后异步跳转到登录页面
- 防止未登录用户操作—struts2拦截器简单实现
- struts2拦截器--拦截未登录用户
- 防止未登录用户操作—struts2拦截器简单实现
- 防止未登录用户操作—struts2拦截器简单实现
- 防止未登录用户操作—struts2拦截器简单实现
- 防止未登录用户操作—struts2拦截器简单实现
- struts2--拦截器(非登录用户不可跳转至该页面)
- 防止未登录用户操作—struts2拦截器简单实现
- 防止未登录用户操作—struts2拦截器
- Struts2自定义拦截器,检查用户是否登录
- SSH—Struts2拦截器的应用(防止未登录用户进行操作)
- Struts2拦截器的应用:未登录用户拦截(同时拦截ajax请求)
- Struts2 拦截器实现用户登录(关键代码)
- 用Struts2的拦截器验证用户是否登录
- Struts2拦截器—自定义拦截器验证用户登录
- Struts2重新学习之自定义拦截器(判断用户是否是登录状态)
- struts2 拦截器控制用户登录权限
- 007——struts2中的拦截器之用户登录权限
- 防止未登录用户操作―基于struts2拦截器的简单实现