struts2_11_实现自己的拦截器的定义
1)登录界面代码:
<%//设置session的值keyword为userrequest.getSession().setAttribute("user", "Enter");
%>用户已登录
2)退出界面的代码:
<%//取消session中设定的值,即user为null request.getSession().removeAttribute("user");%>用户已经退出登录
3)拦截器类PermissionInterceptor的代码:
public class PermissionInterceptor implements Interceptor {public void destroy() {// 销毁时调用}public void init() {// 启用时调用}// 该方法返回视图名称
public String intercept(ActionInvocation invocation) throws Exception {// 取得user的内容
Object user = ActionContext.getContext().getSession().get("user");// 假设user不为null表示用户已经登录,同意运行Actionif (user != null) {return invocation.invoke();// 调用Action}// 假设user为空,不调用Action,而且向session中存入字符串"你没有权 限运行该操作"ActionContext.getContext().put("message", "你没有权限运行该操作");return "success";}
}
3)struts.xml文件的配置:
<struts><package name="packageName" namespace="/test" extends="struts-default"><!--定义拦截器群 --><interceptors><interceptor name="permission" class="permissionInterceptor.PermissionInterceptor" /><!-- 自己定义拦截器栈 --><interceptor-stack name="permissionStack"><!--系统自己定义拦截器栈,先于自己定义拦截器引入 --><interceptor-ref name="defaultStack" /><!--引入自己定义拦截器 --><interceptor-ref name="permission" /></interceptor-stack></interceptors><!-- 定义默认全局拦截器 <default-interceptor-ref name="permissionStack" /> --><!--定义全局视图 --><global-results><result name="success">/index.jsp</result></global-results><action name="hello*" class="interceptor.interceptorAction" method="{1}"><!-- 手动调用系统拦截器,当使用手动调用时该拦截器时,定义的 系统默认拦截器不会使用 --><interceptor-ref name="permissionStack" /><!-- 当调用自己定义拦截器时,仅仅有将系统拦截器,先调用 採用同时使用自己定义拦截器和系统拦截器 --><interceptor-ref name="interceptorName" /></action></package>
</struts>
版权声明:本文博主原创文章,博客,未经同意不得转载。
struts2_11_实现自己的拦截器的定义相关推荐
- 定义Mybatis拦截器动态切换postgre数据库schema
背景 随着业务的发展和合规要求,产品数据库将切换到Postgres.之前不同技术域,不同交付工程的数据分库管理的方式切换到PG数据库后将通过分schema管理. ORM继续使用Mybatis,为使用迁 ...
- Struts2拦截器(Interceptor)原理详解
1. 理解拦截器 1.1. 什么是拦截器: 拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作 ...
- Struts2中的拦截器与过滤器学习
拦截器是在面向切面编程的就是在你的service或者一个方法,前调用一个方法,或者在方法后调用一个方法 ,比如动态代理就是拦截器的简单实现,过滤器是在java web中,你传入的request,res ...
- struts2 18拦截器详解(五)
I18nInterceptor 该拦截器处理defaultStack第四的位置,是用来方便国际化的,如果说我们的一个Web项目要支持国际化的话,通常的做法是给定一个下拉框列出所支持的语言,当用户选择了 ...
- 犯罪心理解读Mybatis拦截器
原文链接:"犯罪心理"解读Mybatis拦截器 Mybatis拦截器执行过程解析 文章写过之后,我觉得 "Mybatis 拦截器案件"背后一定还隐藏着某种设计动 ...
- 【springboot中使用拦截器】
1.拦截器原理 1.定义拦截器: 2.配置拦截器 3.解决静态资源被拦截 2.拦截器使用实例 2.1判断用户有没有登录 2.2取消拦截操作 1.拦截器原理 拦截器的原理很简单,是AOP 的一种实现,专 ...
- Struts自定义拦截器拦截器工作原理
0.拦截器的调用原理: 拦截器是一个继承了序列化接口的普通接口.其工作原理是讲需要被拦截的对象作为参数传到intercept()方法内,在方法内部对此对象进行处理之后再执行原方法.intercept( ...
- 【struts2】struts2拦截器
struts2提供面向切面(AOP)编程的机制,拦截器便是一种成熟的AOP编程思想的实现,它提供一种机制使开发者能把相对独立的代码抽象出来,配置到action前后执行.拦截器interceptor类似 ...
- 拦截器---SpringMVC学习笔记(十四)
定义 Spring Web MVC 的处理器拦截器类似于Servlet 开发中的过滤器Filter,用于对处理器进行预处理和后处理. 第一步:拦截器的定义 定义一个实现HandlerIntercept ...
最新文章
- centos6.5_64 java 环境变量配置
- 进入工程制图闪退_安阳职业技术学院机电工程系新能源汽车专业项目答辩
- 阿里大规模应用Flink踩过的坑:如何大幅降低HDFS压力?
- 【通知】《深度学习之模型设计》第三次重印,欢迎读者支持!
- Jquery.load() 使用
- 苹果零售店每平方英尺能创造4000美元
- WCF-006:服务端类的封装问题
- apache sentry
- 极客大学产品经理训练营 认识产品经理上 第1课总结
- 开发你自己的XMPP 续 - Openfire 插件开发
- Tomcat安装与卸载
- VS 格式化代码快捷键
- 网付代理利润我把它分析得透透的
- matlab 水滴落水图,canvas 水滴图、液体进度条、仿加速球、圆球水波图
- 如何在网上挣钱,这几个项目让你月入过万元
- Windows Batch 常用命令
- 有的项目是没有seting ,.project文件的,import时not project found处理办法
- 100 个网络基础知识,全部掌握顶半个网络高手
- 手机测试磁场的软件,男子用手机软件检测出自家卧室床上电磁辐射爆表
- AI把你打造成时尚界宠儿 1