Struts2.3.7技术的汇总之六(权限…
2015-12-24 10:27
357 查看
package cn.itcast.web.struts.interceptors; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.Interceptor; public class PermissionInterceptor implements Interceptor { public void destroy() { // TODO Auto-generated method stub } public void init() { // TODO Auto-generated method stub } //如果用户没有登录就不允许其访问message页面; public String intercept(ActionInvocation invocation) throws Exception { Object object=ActionContext.getContext().getSession().get("student"); if(object!=null){ invocation.invoke(); } return "error"; } }
权限拦截这里到不要注意什么,只要继承了Interceptor接口,实现方法即可,配置struts.xml,需要注意和系统默认是拦截器的位置关系:比如:
class="cn.itcast.web.struts.interceptors.PermissionInterceptor" />
拦截器和拦截器 需要定义好后只需在action中指定即可,也可以定义默认拦截器 ,如果action中没有定义拦截器则默认拦截器起作用,否则不起作用。
这里顺便说下原理:即aop技术,环绕通知,想必学过spring的筒子们对这个比较熟悉,什么叫做aop编程呢,即面向切面编程,
我们知道判断权限这个动作对大部分的action都要用到,如果每个都要定义的话就会很麻烦,同时将业务逻辑跟权限拦截代 互相搅合,
程序的可读性比较差,我们想到既然大部分的action都要用到权限拦截这个功能,我们就对其进行抽取封装,定义一个单独的权限拦截,在需要的地方通过反射技术植入。以达到权限拦截的目的。
同时struts的功能主要是通过拦截器来实现的,他内置了许多有用的拦截器,比如文件上 ,表单封装等。
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
转发至微博
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
转发至微博
相关文章推荐
- 黑马程序员--Struts2.3.7技术的汇…
- 黑马程序员--Struts2.3.7技术的汇…
- 黑马程序员--Struts2.3.7技术的汇…
- Struts2.3.7技术的汇总之三(类型…
- Struts2.3.7技术的汇总之二(注册…
- 黑马程序员--Struts2的常量
- 黑马程序员--Struts2复习笔记
- JDK1.5并发库笔记和总结
- Java一些实用的类(持续更新)
- Java多线程基础知识回顾与总结;
- Java基础笔记的复习与整理---Socke…
- Java基础笔记的复习与整理--集合框…
- JDK1.5新特性回顾
- 在学习Java高级应用中碰到的一些问…
- 黑马程序员--Spring框架方方面面之…
- Java开发两种Tree实现
- Spring MVC拦截器+注解方式实现防止表单重复提交
- 异常管理 - 采用模板方法优化try-catch-finally
- java document对象详解
- java知识点之静态导入