strust2自定义interceptor的基本方法及操作
需求:制作一个网站需要用户登陆后才能查看,即一个权限的问题
1.首先明确在用户没登陆前有两个Action请求是可以通过的,即注册和登陆。
2.创建拦截器,如UserLoginInterceptor.java,如下
public class UserLoginInterceptor extends AbstractInterceptor {@Overridepublic 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中自己放入的提醒信息。
转载于:https://www.cnblogs.com/hfblogs/p/5347573.html
strust2自定义interceptor的基本方法及操作相关推荐
- android sqlite自定义函数,Android中自定义一个View的方法详解
本文实例讲述了Android中自定义一个View的方法.分享给大家供大家参考,具体如下: Android中自定义View的实现比较简单,无非就是继承父类,然后重载方法,即便如此,在实际编码中难免会遇到 ...
- Android自定义View的实现方法,带你一步步深入了解View(四)
不知不觉中,带你一步步深入了解View系列的文章已经写到第四篇了,回顾一下,我们一共学习了LayoutInflater的原理分析.视图的绘制流程.视图的状态及重绘等知识,算是把View中很多重要的知识 ...
- wamp增加php,新版PHPWAMP自定义添加PHP版本方法步骤
新版PHPWAMP自定义添加PHP版本方法步骤 发布时间:2020-05-08 10:19:50 来源:亿速云 阅读:210 作者:三月 本文主要给大家介绍新版PHPWAMP自定义添加PHP版本方法步 ...
- linux关闭桌面快捷键设置,在XFCE4桌面上自定义键盘快捷键的方法
本文介绍在Linux XFCE4桌面环境上自定义键盘快捷键的方法. 默认键盘快捷键 XFCE4没有像其他Linux桌面环境那样加载许多键盘快捷键,但它确实有很多,这些快捷方式隐藏在桌面设置的" ...
- QVariant类及QVariant与自定义数据类型转换的方法
这个类型相当于是Java里面的Object,它把绝大多数Qt提供的数据类型都封装起来,起到一个数据类型"擦除"的作用.比如我们的 table单元格可以是string,也可以是int ...
- 搜狗浏览器安装自定义JS脚本的方法~
搜狗浏览器安装自定义JS脚本的方法- 方法1 安装新搜狗浏览器右上常用工具栏,在"工具箱"上点击选"添加". 搜索安 ...
- Android中自定义view的onMeasure()方法详谈
背景 理解MeasureSpec MeasureSpec 情况分析 结合图例分析 总结 A little bit of progress every day!Come on! 背景 首先关于自定义vi ...
- 用计算机设计主题色调,Win10个性化颜色怎么设置 自定义Win10主题颜色方法 (全文)...
Win10个性化颜色怎么设置?本文主要分享一些实用的Win10小技巧,本文主要针对开始菜单背景与主题色颜色设置的问题,虽然设置个性化颜色很简单,但自定义Win10主题颜色可不是每个朋友都会的,下面本文 ...
- django认证系统实现自定义权限管理的方法 - python
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 本文记录使用django自带的认证系统实现自定义的权限管理系统,包含组权限.用户权限等实现. 0x01. django认 ...
最新文章
- 50~80万项目需求|室内场景三维重建项目
- 统治未来的离散式神经网络详解
- 用VS2005开发Sharepoint工作流,出现此安装不支持该项目类型。的处理
- openssh 7.4 java使用_openssh/openssl升级到7.4和1.0.2j 源码方式
- bash-shell中使用的特殊字符总结
- 构建通用类型- 继承 VS 聚合
- javascript 模块化机制
- java随机安排座位表程序_java – 为长凳生成随机座位表的最有效算法?
- 2017 秦皇岛CCPC Balloon Robot (ZOJ 3981)
- SQL Server审核功能–发现和体系结构
- bigdecimal js 判断等于0_Js BigDecimal实现精确加减乘除运算的方法
- SQL——Hibernate SQL增删改查
- excel vba移位运算
- Python——伪随机数生成器
- 网络基础知识(ESP8266开发篇)
- 单片机硬件抗干扰常用方法
- 连日来卖报纸嘅一d感想,
- Latex 使用自己安装的自定义字体 教程
- 安装WSL2的踩雷历程
- HTTP应知应会知识点复习手册(下)