Struts2的工作原理(工作流程)

Struts2官方站点提供的Struts 2 的整体结构。

一个请求在Struts2框架中的处理大概分为以下几个步骤:

1.客户端提交一个HttpServletRequest请求(action或JSP页面)。

2.这个请求被提交到一系列Filter过滤器,如ActionCleanUp和FilterDispatcher等。

3.FilterDispatcher是Struts2控制器的核心,它通常是过滤器链中的最后一个过滤器。

4.请求被发送到FilterDispatcher后,FilterDispatcher询问ActionMapper需要调用某个action来处理这个Request。

5.如果ActionMapper决定需要调用某个action,FilterDispatcher则把请求交给ActionProxy进行处理。

6.ActionProxy通过Configuration Manager询问框架的配置文件struts.xml,找到调用的action类。

7.ActionProxy创建一个ActionInvocation实例,通过代理模式调用Action,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。

8.action执行完毕后,返回一个result字符串。

9.最后ActionInvocation实例根据struts.xml中配置result元素,找到与之相对应的result,决定进一步输出。

拦截器与过滤器:
1、拦截器是基于java反射机制的,而过滤器是基于函数回调的。

2、过滤器依赖于servlet容器,而拦截器不依赖于servlet容器。
3、拦截器只能对Action请求起作用,而过滤器则可以对几乎所有请求起作用。
4、拦截器可以访问Action上下文、值栈里的对象,而过滤器不能。
5、在Action的生命周期中,拦截器可以多次调用,而过滤器只能在容器初始化时被调用一次。

时间: 2024-10-13 00:55:41

Struts2的工作原理(工作流程)的相关文章

FastDFS tracker storage 的工作原理及流程

FastDFS tracker storage 的工作原理及流程 2013 年 3 月 11 日 – 09:22 | 1,409 views | 收藏  (No Ratings Yet) FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件为载体的在线服务,如相册网站.视频网站等等.FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage).跟踪

Linux可插拔认证模块(PAM)的配置文件、工作原理与流程

PAM的配置文件: 我们注意到,配置文件也放在了在应用接口层中,他与PAM API配合使用,从而达到了在应用中灵活插入所需鉴别模块的目的.他的作用主要是为应用选定具体的鉴别模块,模块间的组合以及规定模块的行为.下面是一个示例配置文件: # cat /etc/pam.d/system-auth: #%PAM-1.0 # This file is auto-generated. # User changes will be destroyed the next time authconfig is

https工作原理及流程

https工作原理及流程 解决的问题:https解决的是传输过程中的安全问题 核心技术:非对称加密 工作流程: 1.客户端告诉服务器自己支持的加密方式(对称加密).hash算法, a) 对称加密:aes.des.rc4.3des等 b) hash算法:MD5.sha1.SHA256等 2.服务器响应ca证书给客户端(包含域名.公钥等信息) 3.客户端随机生成密码,并使用公钥加密后,上传给服务器 4.使用私钥解密客户端密码,使用此密码加密数据,然后响应给客户端 5.客户端使用密码,解密服务器数据

FPAG结构 组成 工作原理 开发流程(转)

FPGA组成.工作原理和开发流程 备注:下面的描述基于ALTERA系列的FPGA芯片,而且是第一次学习FPGA,其中的一部分内容是参考一些资料总结的,个人独特的分析和见解还偏少. 1. FPGA概述 FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL.GAL.EPLD等可编程器件的基础上进一步发展的产物.它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点 2

[Java] SSH框架笔记_SSH三大框架的工作原理及流程

Hibernate工作原理及为什么要用? 原理:1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件2.由hibernate.cfg.xml中的<mapping resource="com/xx/User.hbm.xml"/>读取并解析映射信息3.通过config.buildSessionFactory();//创建SessionFactory4.sessionFactory.openSession();//打

SSH三大框架的工作原理及流程

Hibernate工作原理及为什么要用? 原理:1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件2.由hibernate.cfg.xml中的<mapping resource="com/xx/User.hbm.xml"/>读取并解析映射信息3.通过config.buildSessionFactory();//创建SessionFactory4.sessionFactory.openSession();//打

Struts2工作原理及流程

Struts2是基于MVC设计模式的JavaWeb 框架技术. 基于Struts2开发Java Web项目的主要步骤如下: (1)在web.xml中配置FilterDispatcher. (2)设计和编写视图组件(JSP页面). (3)编写用来实现视图组件的业务逻辑组件JavaBean. (4)编写视图组件对应的业务控制器Action,在该Action中调用业务逻辑组件JavaBean,进行业务逻辑处理. (5)配置Action,即修改struts.xml配置文件.在struts.xml中配置逻

SSH三大框架的工作原理及流程(转)

原理:1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件2.由hibernate.cfg.xml中的<mapping resource="com/xx/User.hbm.xml"/>读取并解析映射信息3.通过config.buildSessionFactory();//创建SessionFactory4.sessionFactory.openSession();//打开Sesssion5.session.be

Ceph学习之路 之Ceph的工作原理及流程

一.元数据和元数据管理 (1)元数据 在学习Ceph之前,需要了解元数据的概念.元数据又称为中介数据.中继数据,为描述数据的数据.主要描述数据属性的信息,用来支持如指示存储位置.历史数据.资源查找.文件记录等功能.通俗地说,就 是用于描述一个文件的特征的系统数据,比如访问权限.文件拥有者以及文件数据库的分布信息(inode)等等.在集群文件系统中,分布信息包括文件在磁盘上的位置以 及磁盘在集群中的位置.用户需要操作一个文件就必须首先得到它的元数据,才能定位到文件的位置并且得到文件的内容或相关属性