博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts2拦截器浅析
阅读量:6957 次
发布时间:2019-06-27

本文共 1647 字,大约阅读时间需要 5 分钟。

一、拦截器简介:Struts2大多数核心功能是通过拦截器实现的,每个拦截器完成某项功能。拦截器方法在Action执行之前或者之后执行。拦截器栈:从结构上看,拦截器栈相当于多个拦截器的组合。在功能上看,拦截器栈也是拦截器。 拦截器的执行过程是一个递归的过程,工作原理类似于过滤器。

           

二、自定义拦截器的应用

           

 

         

案例:统计Action的执行花费时间:

思路:执行之后的时间-执行之前的时间= 执行Action消耗的时间

 

1. 定义拦截器1.1.创建一个拦截器类继承自AbstractInterceptor类1.2.实现intercept方法eg:    public String intercept(ActionInvocation invocation) throws Exception {        //1.执行action之前        long start=System.currentTimeMillis();        //2.执行下一个拦截器,如果是最后一个拦截器,则执行目标action        String result=invocation.invoke();        //3.执行action之后        long end=System.currentTimeMillis();        //4.花费的时间        long time=end-start;        System.out.println("执行花费的时间: "+time+" ms");        return result;    }2. 配置拦截器       
3. 引用拦截器

三、Struts2内置常用的拦截器

1.params拦截器:-负责将请求参数设置为Action属性2.staticParams拦截器:-将配置文件中action元素的子元素param参数设置为Action属性3.servletConfig拦截器:-将源于Servlet API的各种对象注入到Action,必须实现对应接口4.fileUpload拦截器:-对文件上传提供支持,将文件和元素设置到对应的Action属性,实际上内部依然使用了Commons-FileUpload组件。5.exception拦截器:-捕获异常,并且将异常映射到用户自定义的错误页面6.validation拦截器:-调用验证框架进行数据验证更多的拦截器可在struts2-core包的struts-default.xml中查看
默认拦截器栈:

四、使用拦截器实现权限控制

下面是4个开发模式常用配置的简介---

      

相关代码:@struts.xml
/WEB-INF/page/manager.jsp
/login.jsp
/WEB-INF/page/manager.jsp
/login.jsp

 

转载地址:http://xjmil.baihongyu.com/

你可能感兴趣的文章
坑系列之阿里SLB上使用Webscoket
查看>>
微信小程序入门到实战(二)
查看>>
2017级寒假讲座二分三分训练题A - Cable master (浮点数二分法将其转化成整数进行)...
查看>>
angularjs 搭建WEB项目
查看>>
Koa之中间件执行解析
查看>>
canvas如何绘制钟表
查看>>
React-实现上拉加载更多
查看>>
k8s :从源代码构建 二进制 安装包
查看>>
vue + vuex + directives实现权限按钮的思路
查看>>
TodoKit 2 测试版来了
查看>>
【286天】跃迁之路——程序员高效学习方法论探索系列(实验阶段44-2017.11.18)...
查看>>
Ubuntu下使用U盘安装Ubuntu
查看>>
graphql-java使用手册:part4 订阅(Subscriptions)
查看>>
通过 Event Correlation 减少 Zabbix 告警数量
查看>>
理解js对象
查看>>
2017-10-07 前端日报
查看>>
降低服务器的swap容量操作过程
查看>>
阿里校招前端面经
查看>>
手机网站问题以及meta使用
查看>>
屏幕录制软件ALLCapture常见问题合集(上)
查看>>