* 所有的拦截器都需要实现Interceptor接口或者继承Interceptor接口的扩展实现类
    * 要重写init()、intercept()、destroy()方法
        * init()是在struts2框架运行时执行,在拦截器的生命周期中只执行一次,可以做必要的内容的初始化工作
        * intercept(),是每一次请求就执行一次,做相关处理工作。
            * intercept()方法接收一个ActionInvocation接口的实例
            * 通过这个接口的实例,可以获取以下内容:
                //动作类的对象
                System.out.println("invocation.getAction() : "+invocation.getAction());
                //与invocation.getAction()方法获取的是同一的对象
                System.out.println("invocation.getProxy().getAction() : "+invocation.getProxy().getAction());
                //userAction_save,自定义配置文件中的action标签的name属性的值
                System.out.println("invocation.getProxy().getActionName() : "+invocation.getProxy().getActionName());
                //save,对应动作类指定要执行的方法名
                System.out.println("invocation.getProxy().getMethod() : "+invocation.getProxy().getMethod());
                //aop,自定义配置文件中的package标签的namespace属性的值
                System.out.println("invocation.getProxy().getNamespace() : "+invocation.getProxy().getNamespace());
        * destroy()是在拦截器销毁前执行,在拦截器的声明周期中只执行一次。
    * 在struts.xml配置文件中,进行注册
        * 在配置文件中的package标签下,进行相关配置:
        <interceptors>
            <!-- 声明自定义的拦截器 -->
            <interceptor name="expessionInterceptor" class="cn.swust.aop.ExpessionInterceptor" />
            <!-- 声明自定义拦截器栈 -->
            <interceptor-stack name="expessionStack">
                <interceptor-ref name="defaultStack"/>
                <!-- 配置使用自定义拦截器 -->
                <interceptor-ref name="expessionInterceptor"/>
            </interceptor-stack>
        </interceptors>
        <!-- 配置修改struts2框架运行时,默认执行的是自定义拦截器栈 -->
        <default-interceptor-ref name="expessionStack" />

Struts学习之自定义拦截器的更多相关文章

  1. Struts2重新学习之自定义拦截器(判断用户是否是登录状态)

    拦截器 一:1:概念:Interceptor拦截器类似于我们学习过的过滤器,是可以再action执行前后执行的代码.是web开发时,常用的技术.比如,权限控制,日志记录. 2:多个拦截器Interce ...

  2. 2018.12.17 struts.xml 配置自定义拦截器配置

    自定义拦截器有三个步骤哦 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PU ...

  3. struts2学习(6)自定义拦截器-登录验证拦截器

    需求:对登录进行验证,用户名cy 密码123456才能登录进去:  登录进去后,将用户存在session中: 其他链接要来访问(除了登录链接),首先验证是否登录,对这个进行拦截: com.cy.mod ...

  4. [原创]java WEB学习笔记74:Struts2 学习之路--自定义拦截器,struts内建的拦截器

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  5. Struts自定义拦截器&拦截器工作原理

    0.拦截器的调用原理: 拦截器是一个继承了序列化接口的普通接口.其工作原理是讲需要被拦截的对象作为参数传到intercept()方法内,在方法内部对此对象进行处理之后再执行原方法.intercept( ...

  6. struts2基础---->自定义拦截器

    这一章,我们开始struts2中拦截器的学习. 自定义拦截器

  7. struts2 文件的上传下载 表单的重复提交 自定义拦截器

    文件上传中表单的准备 要想使用 HTML 表单上传一个或多个文件 须把 HTML 表单的 enctype 属性设置为 multipart/form-data 须把 HTML 表单的method 属性设 ...

  8. 从struts2拦截器到自定义拦截器

    拦截器可谓struts2的核心了,最基本的bean的注入就是通过默认的拦截器实现的,一般在struts2.xml的配置中,package内直接或间接继承了struts-default.xml,这样st ...

  9. [ SSH框架 ] Struts2框架学习之四(自定义拦截器)

    一.Struts2的拦截器 1.1 拦截器概述 拦截器,在AOP( Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作.拦截 ...

随机推荐

  1. C++游戏编程(一开篇)

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. http://blog.csdn.net/zhmxy555/article/details/7318264 作者:毛星云    邮箱: h ...

  2. Java设计模式--------建造者模式(Builder模式)

    Builder模式定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构 ...

  3. 不错的JS

    http://www.17sucai.com/preview/47509/2013-10-18/Sequence-master/photo-stack/index.html

  4. 图片处理之-Bitmap.Config,jpeg压缩与大小

    关于ARGB_8888.ALPHA_8.ARGB_4444.RGB_565的理解 A:透明度 R:红色 G:绿 B:蓝 Bitmap.Config ARGB_4444:每个像素占四位,即A=4,R=4 ...

  5. mysql建立数据库的方法

    mysql建立数据库的方法 方法一:使用create mysql> create database roudy; Query OK, 1 row affected (0.00 sec) mysq ...

  6. Docker基本概念填坑

    Docker的基本概念填坑 Docker的基本概念填坑 1. Docker的基本组成 Docker Client客户端 Docker Daemon守护进程 Docker Image镜像 Docker ...

  7. javaTemplates-学习笔记四

    应用的调用顺序理解 这个地方很薄弱,浏览器 http://localhost:9000/index.html  ->  conf/routes  ->  app/controllers/A ...

  8. Zend Studio错误总结

    1.在升级了wampserver之后,用zendstudio发现很多地方都出错了,这时候一般先要project-clean一下,然后到run 和 debug的configuration里面把除了stu ...

  9. CSS层

    在使用元素定位时,从可视角度讲,不可避免地会发生两个元素试图同时出现于同一位置的情况.显示其中一个就会覆盖另外一个. 如果将网页的二维空间延伸到三维空间,就会解决上述元素覆盖问题. 在坐标系中,通过增 ...

  10. 30款javascript脚本插件 jquery插件大全

      Shifty Nav - a Fully Responsive JS CSS3 Mega Menu Show Demo Shifty Nav is a fully responsive CSS3 ...