zoukankan      html  css  js  c++  java
  • Struts2客户端请求过程

    Struts2:
    (1)客户端提交一个HttpServletRequest请求(.action或JSP页面)
    (2)请求被提交到一系列Filter过滤器,如ActionCleanUp和FilterDispatcher等
    (3)FilterDispatcher是Struts2控制器的核心,它通常是过滤器链中的最后一个过滤器
    (4)请求发到FilterDispatcher后,FilterDispatcher询问ActionMapper是否需要调用某个Action来处理这个Request(一般根据URL后缀是否为.action来判断)
    (5)如果ActionMapper决定需要调用某个Action,FilterDispatcher则把请求交到ActioProxy,由其进行处理.
    (6)ActionProxy通过Configuration Manager(它会访问struts.xml)询问框架的配置文件,找到需要调用的Action类.
    (7)ActionProxy创建一个ActionInvocation实例,而ActionInvocation通过代理模式调用Action,(在调用之前会根据配置文件加载相关的所有Interceptor拦截器)
    (8)Action执行完毕后,返回一个result字符串,此时再按相反的顺序通过Interceptor拦截器.
    (9) 最后ActionInvocation负责根据struts.xml中配置的result元素,找到与返回值对应的result,决定进行下一步输出.

  • 相关阅读:
    Linux中find常见用法示例
    PHP写的异步高并发服务器,基于libevent
    Prototype原型模式
    抽象工厂模式
    工厂方法模式
    简单工厂模式
    记一次皮肤过敏
    Thread类线程结束会唤醒使用其对象做锁而睡眠的线程
    位运算符
    逻辑运算符
  • 原文地址:https://www.cnblogs.com/hpuCode/p/2593447.html
Copyright © 2011-2022 走看看