>>分享流行的Java框架以及开源软件,对孙卫琴的《精通Spring》、《Spring Cloud Alibaba微服务开发零基础入门到实操》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 32599 个阅读者 刷新本主题
 * 贴子主题:  struts2的工作原理图,清晰直观 回复文章 点赞(0)  收藏  
作者:sunshine    发表时间:2017-06-27 21:39:41     消息  查看  搜索  好友  邮件  复制  引用

Struts2请求响应流程:

在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller、ActionProxy、ActionMapping、Configuration Manager、ActionInvocation、Inerceptor、Action、Result等。下面我们来具体看看这些组件有什么联系,它们之间是怎样在一起工作的。

点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

(1)  客户端(Client)向Action发用一个请求(Request)
(2)  Container通过web.xml映射请求,并获得控制器(Controller)的名字
(3)  容器(Container)调用控制器(StrutsPrepareAndExecuteFilter或FilterDispatcher)。在Struts2.1以前调用FilterDispatcher,Struts2.1以后调用StrutsPrepareAndExecuteFilter
(4)  控制器(Controller)通过ActionMapper获得Action的信息
(5)  控制器(Controller)调用ActionProxy
(6)  ActionProxy读取struts.xml文件获取action和interceptor stack的信息。
(7)  ActionProxy把request请求传递给ActionInvocation
(8)  ActionInvocation依次调用action和interceptor
(9)  根据action的配置信息,产生result
(10) Result信息返回给ActionInvocation
(11) 产生一个HttpServletResponse响应
(12) 产生的响应行为发送给客服端。



程序猿的技术大观园:www.javathinker.net



  Java面向对象编程-->Java常用类(下)
  JavaWeb开发-->自定义JSP标签(Ⅱ)
  JSP与Hibernate开发-->使用JPA和注解
  Java网络编程-->非阻塞通信
  精通Spring-->绑定CSS样式
  Vue3开发-->Vue指令
  Netty初识
  Redis为什么单线程能够支持高并发
  深入理解spring注解之@ComponentScan注解
  几种常见的MAVEN仓库地址
  Spring AOP的基本概念和注解
  @InitBinder注解的用法
  Spring Boot 基于 JUnit 5 实现单元测试
  Spring Cloud Config 客户端的高可用实现
  如何实现Git服务间同步
  Spring Boot集成EHCache实现缓存机制
  Spring Cloud 服务发布与调用
  分布式消息队列RocketMQ部署与监控
  Spring Boot 整合 Ehcache
  使用idea和gradle编译spring5源码
  Hibernate拦截器与监听器
  更多...
 IPIP: 已设置保密
楼主      
该用户目前不在线 nihaota 
  
威望: 0
级别: 新手上路
魅力: 1315
经验: 1315
现金: 2944
发文章数: 243
注册时间: 0001-01-01
 消息  查看  搜索  好友  邮件  复制  引用


讨债公司
发文章时间 2022-10-28 21:57:44
 IPIP: 已设置保密 1 楼     
该用户目前不在线 mikhop 
  

威望: 0
级别: 侠客
魅力: 210
经验: 210
现金: 1176
发文章数: 22
注册时间: 0001-01-01
 消息  查看  搜索  好友  邮件  复制  引用


人最强大的时候,不是坚持的时候,而是放下的时候。当你选择腾空双手,还有谁能从你手中夺走什么。
幸运飞艇走势图福彩双色球走势图幸运时时彩走势图
发文章时间 2022-11-01 15:06:32
 IPIP: 已设置保密 2 楼     
1页 2条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。