* 所有的拦截器都需要实现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自定义拦截器&amp;拦截器工作原理

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

  6. struts2基础----&gt;自定义拦截器

    这一章,我们开始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. 阿里云服务器 &amp;&amp; 如何window链接到阿里云服务器

    现在的时间是:2016年10月11日 1:购买学生机 阿里云手机app上  ->  学生专区  ->  购买: 需要注意的是:如果没有自己需要的系统,比如没有linux操作系统的ecs,那 ...

  2. vs2013专业版密钥

    KCQWK-Q43V3-M3F2T-83VGV-Y6VTX

  3. html 表单 dom 注意跟表单的name值一致

    html 表单 dom 注意跟表单的name值一致 <script type="text/javascript"> function checkForm() { var ...

  4. ubuntu navicat

    接下来是从网络上下载Chrome对应是版本的包,小编的系统是64位的,因此,执行:wget https://dl.google.com/linux/direct/google-chrome-stabl ...

  5. Fragment 切换问题

    public void switchContent(Fragment fragment) { if(mContent != fragment) { mContent = fragment; mFrag ...

  6. Android Studio与Genymontion的安装

    需要安装的软件: VirtualBox 5.1.4 Genymotion 2.7.2 Android Studio 2.1.2 安装步骤: 使用安装版安装Android Studio 1.     执 ...

  7. c#—— Task.FromResult 的使用

    Task.FromResult用来创建一个带返回值的.已完成的Task. 场景一:以同步的方式实现一个异步接口方法 比如有一个接口包含异步方法. interface IMyInterface { Ta ...

  8. GridView动态构建OrderBy进行排序

    废话不说,直接上例子: 前台代码: <asp:GridView ID="GridView1" runat="server" AllowSorting=&q ...

  9. 回车事件jquery

    有时候,操作按钮需要回车键 直接上代码: //回车事件document.onkeydown = function (e) { var ev = document.all ? window.event ...

  10. 地图定位CoreLocation框架,地理位置编码与反编码

    在现代互联网时代,越来越多的应用,都用到了地图定位功能,在iOS开发中,想要加入这种功能,必须基于两个框架进行开发: 1.Map Kit:用于显示地图, 2.CoreLocation:用于显示地理位置 ...