>>分享流行的Java框架以及开源软件,对孙卫琴的《精通Spring》、《Spring Cloud Alibaba微服务开发零基础入门到实操》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 29072 个阅读者 刷新本主题
 * 贴子主题:  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与Hibernate开发-->Java对象持久化技术概述
  Java网络编程-->用Axis发布Web服务
  精通Spring-->
  Vue3开发-->Vue组件开发高级技术
  MessagePack反序列化使用示例
  Netty的粘包和拆包问题分析
  Redis为什么单线程能够支持高并发
  如何编写优雅的Spring架构API
  Spring MVC中自定义国家化LocaleResolver
  Spring MVC异常处理机制
  【项目实践】使用Vue.js和ElementUI快速实现后台管理系统的界...
  微服务架构的基础框架选择:Spring Cloud还是Dubbo?
  RabbitMQ的用途、原理以及配置
  Spring配置日志
  利用Spring Boot如何开发REST服务详解
  分布式架构知识体系
  springmvc+ajax异步上传图片
  Java-CORBA
  Java核心库实现AOP过程
  更多...
 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前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。