zoukankan      html  css  js  c++  java
  • 拦截器

    1.Struts2 拦截器

      Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP的一种实现.

    2.拦截器的工作原理

      就是你的服务请求request 要穿过struts2的拦截器,满足条件的就通过,不然就被拦截 

    • 客户端发送请求 (客户端初始化一个指向Servlet容器(如Tomcat)的请求)
    • 请求经过一系列过滤器(如ActionContextCleanUp、SiteMesh等),ActionContextCleanUp-->FilterDispatcher
    • FilterDispatcher通过ActionMapper来决定这个Request需要调用哪个Action
    • 如果ActionMapper决定调用某个Action,FilterDispatcher把请求的处理交给ActionProxy
    • ActionProxy通过ConfigurationManager询问Struts配置文件(Struts.xml),找到需要调用的Action类。
    • ActionProxy创建一个ActionInvocation的实例
    • ActionInvocation调用真正的Action,当然这涉及到相关拦截器的调用(interceptor)
    • Action执行完毕,ActionInvocation创建Result并返回,返回结果前要做些动作也是可以的

    3.拦截器配置

    • 通过<interceptor...>元素来定义拦截器
    • 通过<interceptor-ref.../>元素来使用拦截器

    4.Struts2 内置拦截器

    • perams拦截器
    • staticParams 拦截器
    • servletConfig 拦截器
    • fileUpload 拦截器
    • validation 拦截器
    • workflow 拦截器
    • exception 拦截器

    5.自定义拦截器

    • 实现 Interceptor 接口
    • 继承AbstracInterceptor 类

    6.Struts2 实现文件上传

      需要添加两个jar文件

        commons-fileupload-xxx.jar

        commons-io-xxx.jar

      步骤:

      • 首先编写Action类
      • struts2.xml相应的action配置

      • 最后配置相应的jsp页面

     7.文件下载  

    • 定义InputStream
    • 配置stream 结果类型

        

  • 相关阅读:
    魔兽世界祭拜长者
    Mono嵌入C++
    kxb-shell文件操作-kxb
    GAN初步理解
    Pytorch 常用函数方法的理解
    转载:StyleGAN & StyleGAN2 论文解读
    RepVGG
    多目标跟踪,REID, JDE跟踪器解析
    卷积和反卷积详细说明
    FairMOT解析
  • 原文地址:https://www.cnblogs.com/QQW-HH/p/7644913.html
Copyright © 2011-2022 走看看