strust2自定义interceptor的基本方法及操作
需求:制作一个网站需要用户登陆后才能查看,即一个权限的问题
1.首先明确在用户没登陆前有两个Action请求是可以通过的,即注册和登陆。
2.创建拦截器,如UserLoginInterceptor.java,如下
public class UserLoginInterceptor extends AbstractInterceptor {
@Override
public String intercept(ActionInvocation arg0) throws Exception {
Action action = (Action) arg0.getAction() ;
//放行这两种Action请求
if(action instanceof RegisterAction||action instanceof LoginAction){
return arg0.invoke() ;
}else{
//获取session有没有用户?
User user = (User) arg0.getInvocationContext().getSession().get("user") ;
if(user==null){
//若没有,则想页面传达错误的消息
arg0.getInvocationContext().getSession().put("noLand", "您没有权限,请先注册或登录!");
return "input" ;
}else{
//若有则放行
return arg0.invoke() ;
}
}
}
}
3.拦截器写好后要在struts.xml中配置
<interceptors>
<!-- 配置已写好的拦截器 -->
<interceptor name="userLogin" class="com.blog.interceptor.UserLoginInterceptor"/>
<!-- 定义自己的拦截器栈,由struts2自己的拦截器栈和前面的拦截器组成 -->
<interceptor-stack name="blogStack">
<interceptor-ref name="userLogin"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<!-- 将自定义的拦截器栈设为默认栈 -->
<default-interceptor-ref name="blogStack"/>
4.在无权限跳转页面上显示session中自己放入的提醒信息。
strust2自定义interceptor的基本方法及操作的更多相关文章
- struts2拦截器interceptor的配置方法及使用
转: struts2拦截器interceptor的配置方法及使用 (2015-11-09 10:22:28) 转载▼ 标签: it 365 分类: Struts2 NormalText Code ...
- Android自定义View的实现方法,带你一步步深入了解View(四)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17357967 不知不觉中,带你一步步深入了解View系列的文章已经写到第四篇了,回 ...
- 【转】Android自定义View的实现方法,带你一步步深入了解View(四)
原文网址: 转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17357967 不知不觉中,带你一步步深入了解View系列的文章已经写到 ...
- QVariant类及QVariant与自定义数据类型转换的方法
这个类型相当于是Java里面的Object,它把绝大多数Qt提供的数据类型都封装起来,起到一个数据类型“擦除”的作用.比如我们的 table单元格可以是string,也可以是int,也可以是一个颜色值 ...
- SpringMVC和Freemarker整合,带自定义标签的使用方法
SpringMVC和Freemarker整合,带自定义标签的使用方法. [参考来源:http://www.360doc.com/content/14/1225/14/1007797_435663342 ...
- 安卓自定义View进阶-Canvas之画布操作 转载
安卓自定义View进阶-Canvas之画布操作 转载 https://www.gcssloop.com/customview/Canvas_Convert 本来想把画布操作放到后面部分的,但是发现很多 ...
- dedecms为后台自定义菜单的完整方法
dedecms为后台自定义菜单的完整方法 品味人生 dedeCMS 围观7330次 18 条评论 编辑日期:2014-06-14 字体:大 中 小 最近在给客户定制一个企业网站,客户要求使用ded ...
- 自定义HttpMessageHandler实现HTTP方法的重写
自定义HttpMessageHandler实现HTTP方法的重写
- Collections.sort自定义排序的使用方法
Collections.sort自定义排序的使用方法 总结:Collections可以对List进行排序:如果想对Map进行排序,可以将Map转化成List,进行排序: public static v ...
随机推荐
- LoadRunner中运行场景时提示"You do not have a license for this Vuser type."
LoadRunner中运行场景时提示"You do not have a license for this Vuser type." 2012-06-15 17:09:07| 分 ...
- 如何配置 Oracle VirtualBox 中的客户机与物理机网络
当你在 Oracle VirtualBox 虚拟机软件 中安装了各种操作系统时,你可能需要实现物理机与虚拟机之间的相互访问. 在这篇文章中,我们将会以最简单明了的方式来说明如何配置客户机与 Linux ...
- 微信小程序列表加载更多
概述 基于小程序开发的列表加载更多例子. 详细 代码下载:http://www.demodashi.com/demo/13632.html 一.前言 基于小程序开发的列表加载更多例子. 二.运行效果 ...
- juqery和dom对象互换
一.jQuery对象与DOM对象相互转换 1.jQuery对象转DOM对象 var $cr = $("#cr"); //jQuery对象 //转换成DOM对象,索引号从0开 ...
- 用户 'NT AUTHORITY\IUSR' 登录失败
今天在用VS20012发布XAF ASP.NET的程序时,在iis 调用SQLSERVER Express2008数据库时,总是出现错误“用户 'NT AUTHORITY\IUSR' 登录失败”,后来 ...
- C++:CursorType光标类型 和 LockType锁定类型
简要: CursorType光标类型: 1. AdOpenForwardOnly (默认值)一次只能向前移动一行. 2. AdOpenKeyset 打开键集类型游标. 3. AdO ...
- Android+手势识别详解
今天就来把以前的学习文章与经验简单总结中出来吧,在这里我就直接把代码贴下来了,希望能给初学者做最佳的学习参考,也希望有更多的开发人员来加入 ANDROID开发团队,参与更多的创新方式的开发,好了, ...
- EM 算法 实例
#coding:utf-8 import math import copy import numpy as np import matplotlib.pyplot as plt isdebug = T ...
- 文本检测: CTPN
参考: https://zhuanlan.zhihu.com/p/37363942 https://zhuanlan.zhihu.com/p/34757009 https://zhuanlan.zhi ...
- 禁止用户登陆的 /bin/false和/sbin/nologin的区别
1 区别 /bin/false是最严格的禁止login选项,一切服务都不能用. /sbin/nologin只是不允许login系统 小技巧: 查看 /etc/passwd文件,能看到各用户使用的sh ...