Struts2流程一 | 学习笔记

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 快速学习 Struts2流程一,介绍了 Struts2流程一系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【Java Web开发系列课程 - Struts2框架入门Struts2流程一】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/537/detail/7289


Struts2流程一

 

内容介绍:

一、 简单执行流程

二、 struts2工作的基本原理

三、 详细流程


一、简单执行流程

(1)使用 StarUML 软件进行分析

(2)执行过程:

通过浏览器发送一个请求,请求到达哪个地方,取决于过滤器的配置:

Browser(浏览器)发送请求 request,tomcat(服务器)进行接收,而后被匹配到的过滤器接收,进而 struts2开始工作,解析用户的请求,解析用户的录入数据,可以接受 request,而后进行相应的解析工作。

由 class 生成对应的 action,创建对应的对象,进行对应的类型转换,参数的赋值,方法的调用,结果的验算等。

当然,这些工作 struts2是通过拦截器的帮助来完成的。(默认有18个拦截器)

(3)流程是解决错误的最根本办法,根据流程可以找到错误。


二、struts2工作的基本原理

方法执行要有对应的创建对象,创建对象由 struts2创建,根据此种方法,struts2可以创造对象,我们可以调用此种方法,可以对此对象的属性赋值,这个方法的访问结果可以根据匹配进行转发到同向的另一个执行页面中去。

mapping 映射,struts.xml.配置文件解析,生成对应的 action,通过一系列拦截器处理,调用 action 的 execute 方法,返回成功会到达成功,进而返回引擎给过滤器,给 tomcat,服务器传送给 Browser

通过一系列拦截器处理,处理结束之后,调用 action 的 execute 方法,返回成功,返回引擎,返回给过滤器,

image.png

当用户提交一个请求,服务器接收,并且交给 struts2的核心过滤器来进行处理,struts2的过滤器调用 struts2的一系列处理器来进行处理如:解析 struts.xml.配置文件,和用户提交的请求对比,如果找不到返回404,如果找到进行下一步处理。

直到调用对应的 Action 类中的 execute 方法执行,执行完后再进行一系列处理到核心过滤器。

由核心过滤器返回给服务器,服务器对浏览器进行相应的响应。


三、 详细流程

image.png

详细流程图如上所示(百度上搜索 struts2执行流程,即可得到上图)

(1)发送的请求通过 ActionContextCleanUp 的清理工作后,多个过滤器执行工作后到达 FilterDispatcher

(2)FilterDispatcher 实际上是核心的过滤器

(3)由上图可知,其他过滤器(处理权限的过滤器、处理乱码的过滤器等)配置在struts2过滤器之前。

(4)产生 ActionProxy,Configuration 读取 struts.xml.配置文件,读取完成之后,根据配置,会产生 Action Invocation 的对象,在对象里面会有许多拦截器和配置文件(Interceptor 就是其中一个拦截器),拦截器就是 struts2的完成功能。

相关文章
|
Java 应用服务中间件 容器
Struts2的工作原理解析
Struts2的工作原理解析
312 0
Struts2的工作原理解析
|
Java
搭建Struts2步骤
搭建Struts2步骤
103 0
|
JSON Java 应用服务中间件
struts2流程二 | 学习笔记
快速学习 struts2流程二,介绍了 struts2流程二系统机制, 以及在实际应用过程中如何使用。
|
XML Java 数据格式
struts2+spring+mybatis整合小案例
最近学习ssm框架,模仿别人做了一个小案例 当然途中也遇到了蛮多的问题.借此机会.记录一下自己的过程 struts2+spring+mybatis的整合过程 1.说明: 个人采用的是deepin操作系统(深度linux)+Intellij Idea(相对与myeclipse我还是更喜欢idea 可能因为更智能)+tomcat7. 当然在windows下没什么不同,具
4269 0
|
XML Java 数据格式
Struts2框架的搭建
搭建一个struts2的框架,在之前已经搭建过struts的框架了,这里的流程基本上差不多,详见 struts1的搭建 首先到官网上下载jar包,这里附一个git的链接struts2jar包下载 新建工程,将下载的jar解压至工程中,项目结构如下: 项目结构 接下来编写struts.
968 0
|
Java Maven Android开发
Struts框架搭建
Struts1作为一个官网都没更新的框架,在现在的市面上几乎已经不见其踪影。但作为一个入门框架对于理解请求的整个流程还是比较简单易懂的。在这里就简单的搭建一个Struts框架希望能对学习的小伙伴提供一点帮助吧。
1028 0
|
Java Apache 数据格式