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都接触接触吧,以后工作指不定用那些呢。

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

ucloud香港服务器优惠活动:香港2核4G云服务器低至358元/年,968元/3年

ucloud香港服务器优惠降价活动开始了!此前,ucloud官方全球云大促活动的香港云服务器一度上涨至2核4G配置752元/年,2031元/3年。让很多想购买ucloud香港云服务器的新用户望而却步!不过,目前,ucloud官方下调了香港服务器价格,此前2核4G香港云服务器752元/年,现在降至358元/年,968元/3年,价格降了快一半了!UCloud活动路子和阿里云、腾讯云不同,活动一步到位,...

云步云72.5元/月起云服务器,香港安畅/葵湾/将军澳/沙田/大浦CN2机房,2核2G5M

云步云怎么样?云步云是创建于2021年的品牌,主要从事出售香港vps、美国VPS、日本VPS、香港独立服务器、香港站群服务器等,机房有香港、美国、日本东京等机房,目前在售VPS线路有CN2+BGP、CN2 GIA,香港的线路也是CN2直连大陆,该公司旗下产品均采用KVM虚拟化架构。目前,云步云提供香港安畅、沙田、大浦、葵湾、将军澳、新世界等CN2机房云服务器,2核2G5M仅72.5元/月起。点击进...

安徽BGP云服务器 1核 1G 5M 29元/月 香港云服务器 1核 1G 19元首月 麻花云

麻花云怎么样?麻花云公司成立于2007年,当前主打产品为安徽移动BGP线路,数据中心连入移动骨干网。提供5M,10M大带宽云主机,香港云服务器产品,数据中心为香港将军澳机房,香港宽频机房 cn2-GIA优质线路、采用HYPER-V,KVM虚拟技术架构一、麻花云官网点击直达麻花云官方网站合肥网联网络科技有限公司优惠码: 专属优惠码:F1B07B 享受85折优惠。最新活动 :双11 云上嗨购 香港云主...

struts2为你推荐
通达oa精灵通达OA办公精灵怎么查看操作记录word打字后面的字消失word中打字后面的一个字就不见了是什么原因啊?高手指教下,谢谢!!!!!apple以旧换新苹果以旧换新怎么换?价格是怎样的qsv视频格式转换器如何免费把qsv格式转换为mp4格式充值卡充值移动如何用充值卡充话费团购网源码最近看到团购挺火的,我也想做一个,请大家推荐个稳定的团购网站源码?神经网络设计设计神经网络时为什么趋向于选择更深的网络结构erp学习ERP可以自学吗?外贸信息外贸企业如何查询报关单详细信息:如美元离岸价等?hdmi接口是什么HDMI接口是什么
美国vps租用 美国和欧洲vps vps安全设置 greengeeks 国外php主机 40g硬盘 vip购优汇 刀片服务器的优势 域名接入 免费外链相册 smtp虚拟服务器 数据库空间 永久免费空间 摩尔庄园注册 免费网络空间 乐视会员免费领取 闪讯网 香港博客 时间服务器 web是什么意思 更多