struts2struts2有必要学吗

struts2  时间:2021-08-14  阅读:()

struts2的基本结构和构成

您好:Struts是一个在JSPModel2基础上实现的MVC框架,主要分为模型(Model)、视图(Viewer)和控制器(Controller)三部分,其主要的设计理念是通过控制器将表现逻辑和业务逻辑解耦,以提高系统的可维护性、可扩展性和可重用性。

(1)视图:视图部分主要由JSP页面组成,其中没有流程逻辑、业务逻辑和模型信息,只有标记。

Struts自身包含了一组标记库(TagLib),这也是Struts的精华之一,灵活运用它们可以简化JSP页面的代码,提高开发效率。

(2)控制器:Struts中的Controller主要是其自身提供的ActionServlet。

ActionServlet接收所有来自客户端的请求并根据配置文件(struts-config.xml)中的定义将控制转移到适当的Action对象。

(3)模型:Struts没有定义具体Model层的实现,Model层通常是和业务逻辑紧密相关的,有持续化的要求。

目前在商业领域和开源世界,都有一些优秀的工具可以为Model层的开发提供便利。

什么是Struts2

Struts内部流程: 当接收到一个httprequest Interceptor做一些拦截或者初始的工作 当外部的httpservletrequest到来时 初始到了servlet容器 传递给一个标准的过滤器链 ActionContextCleanUp这个在集成插件方面非常有用 Other filters(SitMesh,etc) 调用FilterDispatecher会去查找相应的ActionMapper 如果找到了相应的ActionMapper它将会将控制权限交给ActionProxy ActionProxy将会通过ConfigurationManager来查找配置struts.xml 下一步将会 通过ActionInvocation来负责命令模式的实现(包括调用一些拦截Interceptor框架在调用action之前) 一旦action返回,会查找相应的Result Result类型可以是 jsp或者freeMark 等 这些组件和ActionMapper一起返回给请求的url(注意拦截器的执行顺序) 响应的返回是通过我们在web.xml中配置的过滤器 如果ActionContextCleanUp是当前使用的,则FilterDispatecher将不会清理 sreadlocal ActionContext 如果ActionContextCleanUp不使用,则将会去清理sreadlocals

struts2的工作流程?

在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 。

扩展资料: 应用流程注解 当Web容器收到请求(HttpServletRequest)它将请求传递给一个标准的的过滤链包括(ActionContextCleanUp)过滤器。

经过Other filters(SiteMesh ,etc),需要调用FilterDispatcher核心控制器,然后它调用ActionMapper确定请求哪个Action,ActionMapper返回一个收集Action详细信息的ActionMaping对象。

FilterDispatcher将控制权委派给ActionProxy,ActionProxy调用配置管理器(ConfigurationManager) 从配置文件中读取配置信息(struts.xml),然后创建ActionInvocation对象。

ActionInvocation在调用Action之前会依次的调用所用配置拦截器(Interceptor N)一旦执行结果返回结果字符串ActionInvocation负责查找结果字符串对应的(Result)然后执行这个Result Result会调用一些模版(JSP)来呈现页面。

拦截器(Interceptor N)会再被执行(顺序和Action执行之前相反)最后响应(HttpServletResponse)被返回在web.xml中配置的那些过滤器和核心控制器(FilterDispatcher)。

参考资料:搜狗百科-Struts 2

struts2有必要学吗

我认为struts2还是比较有必要学写的。

是不是还要写理由… Struts2框架和SpringMVC都接触接触吧,以后工作指不定用那些呢。

这些框架都是有公司用的。

华纳云-618大促3折起,18元/月买CN2 GIA 2M 香港云,物理机高防同享,10M带宽独享三网直连,无限流量!

官方网站:点击访问华纳云活动官网活动方案:一、香港云服务器此次推出八种配置的香港云服务器,满足不同行业不同业务规模的客户需求,同时每种配置的云服务都有不同的带宽选择,灵活性更高,可用性更强,性价比更优质。配置带宽月付6折季付5.5折半年付5折年付4.5折2年付4折3年付3折购买1H1G2M/99180324576648直达购买5M/17331556710081134直达购买2H2G2M892444...

国内云服务器 1核 2G 2M 15元/月 萤光云

标题【萤光云双十二 全场6折 15元/月 续费同价】今天站长给大家推荐一家国内云厂商的双十二活动。萤光云总部位于福建福州,其成立于2002 年。主打高防云服务器产品,主要提供福州、北京、上海 BGP 和香港 CN2 节点。萤光云的高防云服务器自带 50G 防御,适合高防建站、游戏高防等业务。这家厂商本次双十二算是性价比很高了。全线产品6折,上海 BGP 云服务器折扣更大 5.5 折(测试了一下是金...

spinservers($179/月),1Gbps不限流量服务器,双E5-2630Lv3/64GB/1.6T SSD/圣何塞机房

中秋节快到了,spinservers针对中国用户准备了几款圣何塞机房特别独立服务器,大家知道这家服务器都是高配,这次推出的机器除了配置高以外,默认1Gbps不限制流量,解除了常规机器10TB/月的流量限制,价格每月179美元起,机器自动化上架,一般30分钟内,有基本自助管理功能,带IPMI,支持安装Windows或者Linux操作系统。配置一 $179/月CPU:Dual Intel Xeon E...

struts2为你推荐
初始化磁盘如何将磁盘还原为“未初始化”状态?aftereffectafter effect (AE)有哪几层,层有哪些属性?作用是什么?安卓模拟器哪个好用手机模拟器哪个好用?求推荐。数据管理制度数据必须符合以下基本原则有哪些阶乘函数C语言编写一个求n阶乘的函数,在主函数中输入n,调用函数求n阶乘。。谢谢阶乘函数C语言中有计算阶乘的函数吗 不是自己写,,,是那种可以直接调用的函数dreamweaver序列号DW序列号是多少啊spinmaster街球名人都有哪些程序员段子为什么会有程序员间的鄙视链jsharejshare里拓荒者是什么?- -
代理主机 me域名 虚拟主机测评 过期域名 a5域名交易 java主机 双12活动 好看的桌面背景大图 ssh帐号 国外php空间 国外免费空间 论坛空间 铁通流量查询 softbank邮箱 阿里云官方网站 net空间 广州虚拟主机 photobucket 阿里云个人邮箱 九零网络 更多