2019独角兽企业重金招聘Python工程师标准>>>

一个请求在Struts2框架中的处理大概分为以下几个步骤 
1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 
2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 
3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action 
4 如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy 
5 ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类 
6 ActionProxy创建一个ActionInvocation的实例。 
7 ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。 
8 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可 能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper。

转载于:https://my.oschina.net/u/3715651/blog/1556678

request请求在Struts2中的处理步骤相关推荐

  1. 在Struts2中使用ValueStack、ActionContext、ServletContext、request、session等

    目录(?) [-] ValueStack 如何得到值栈: 如何将对象存入值栈: 让值栈执行表达式来获得值: 在JSP中跳过栈顶元素直接访问第二层: 在JSP中访问值栈对象本身(而不是它们的属性) Ac ...

  2. struts2中一个表单中提交多个请求(动态调用方法)

    在很多Web应用中,为了完成不同的工作,一个HTML form标签中可能有两个或多个submit按钮,Struts2中提供了另外一种方法,使得无需要配置可以在同一个action类中执行不同的方法(默认 ...

  3. Struts2中action获取request、response、session的方式

    2019独角兽企业重金招聘Python工程师标准>>> 第一种方式,非IoC(Spring中的控制反转)方式: package com.action; import java.uti ...

  4. php request对象,PHP 中TP5 Request 请求对象的实例详解

    PHP 中TP5 Request 请求对象 public/index.php app\index\controller\Index.php <?php namespace app\index\c ...

  5. Spring拦截器获取request请求体中的json数据,并转换成Java对象的解决办法

    1.要被拦截的Controller接口 我们需要一个更新用户信息接口,请求方式为POST,参数类型为对象类型(UserInfo),代码如下: @Resource private UserService ...

  6. 如何修改本地host文件?Request请求头中的host所起的作用

    由于之前对Request请求头中的host理解不充分,所以在此篇都Request头的相关只是进行补充 https://blog.csdn.net/Smart_look/article/details/ ...

  7. 判断request请求头中的referer实现的防盗链操作

    通俗的来讲,跨站访问资源,被称为盗链.比如某一个商业网站,有很多自主版权的图片,自身展示用于商业目的.而另一个没有版权的网站,希望在自己的网站上面也展示这些图片,直接使用超链接到有版权的网站,这样以来 ...

  8. 在Struts2中使用OGNL

    OGNL是XWork引入的一个非常有效的数据处理的工具.我们已经了解了OGNL的基本操作和OGNL的内部结构,接下来,我们来看看XWork对OGNL做了什么样的加强,以及OGNL的体系在Struts2 ...

  9. Struts2中的action类

    Struts2中的action类 action类在Struts2中承担了Model(模型)的角色,主要用于处理业务逻辑并存放HTTP请求处理过程中各个变量的值. 在Struts2里面,Action充当 ...

最新文章

  1. linux进程池动态维护,可直接商用的跨平台c,c++动态线程池,任务池stpool库
  2. c++求矩阵的秩_线性代数复习(被玩坏的矩阵)
  3. java数组的几种形式——java编程思想01
  4. 接口IDisposable的用法
  5. Python《使用selenium解决动态加载的问题》
  6. 异常处理:Jurisdiction policy files are not signed by trusted signers!
  7. 英文操作系统(chcp:437)让Console输出UTF-8
  8. python string_Python String center()
  9. JQuery 获取URL中传递的参数
  10. Qt之FTP上传/下载
  11. mysql open files
  12. java 财付通支付_微信微信支付已拿下51%的份额,远超支付宝的41%
  13. 舆情监测平台TOOM
  14. 通俗易懂理解几何光学(三)平面与平面系统
  15. 京东运营体系组织架构曝光,自建物流秘密在这里
  16. 如何在iPhone和iPad上更改默认浏览器
  17. 乐拼拼购系统开发(源码成品)
  18. 详解Win10家庭版/专业版/企业版功能区别
  19. APP Designer 制作简易英汉词典的回调函数书写
  20. Windows 版本的 B站 开源了?

热门文章

  1. r语言聚类分析_图说层次聚类分析原理和R语言实现
  2. picturectrl控件中加载图片并显示_如何在EasyX窗体中显示图片
  3. java中组合_java中组合模式详解和使用方法
  4. CocosPods 引入项目,哪些文件需要上传到服务器呢?
  5. 强大而优雅,API 研发管理 EOLINKER 新版正式发布!
  6. 前端基础-jQuery的优点以及用法
  7. cmd窗口快速定位到具体文件夹方法
  8. spring-boot 速成(8) 集成druid+mybatis
  9. Dockerfile构建容器镜像 - 运维笔记
  10. linux设备驱动归纳总结(五):3.操作硬件——IO静态映射【转】