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

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

Buyvm:VPS/块存储补货1Gbps不限流量/$2起/月

BuyVM测评,BuyVM怎么样?BuyVM好不好?BuyVM,2010年成立的国外老牌稳定商家,Frantech Solutions旗下,主要提供基于KVM的VPS服务器,数据中心有拉斯维加斯、纽约、卢森堡,付费可选强大的DDOS防护(月付3美金),特色是1Gbps不限流量,稳定商家,而且卢森堡不限版权。1G或以上内存可以安装Windows 2012 64bit,无需任何费用,所有型号包括免费的...

Ftech:越南vps,2核/2G/20G SSD/1Gbps不限流量/可安装Windows系统,$12.5月

ftech怎么样?ftech是一家越南本土的主机商,成立于2011年,比较低调,国内知道的人比较少。FTECH.VN以极低的成本提供高质量服务的领先提供商之一。主营虚拟主机、VPS、独立服务器、域名等传统的IDC业务,数据中心分布在河内和胡志明市。其中,VPS提供1G的共享带宽,且不限流量,还可以安装Windows server2003/2008的系统。Ftech支持信用卡、Paypal等付款,但...

ATCLOUD-KVM架构的VPS产品$4.5,杜绝DDoS攻击

ATCLOUD.NET怎么样?ATCLOUD.NET主要提供KVM架构的VPS产品、LXC容器化产品、权威DNS智能解析、域名注册、SSL证书等海外网站建设服务。 其大部分数据中心是由OVH机房提供,其节点包括美国(俄勒冈、弗吉尼亚)、加拿大、英国、法国、德国以及新加坡。 提供超过480Gbps的DDoS高防保护,杜绝DDoS攻击骚扰,比较适合海外建站等业务。官方网站:点击访问ATCLOUD官网活...

struts2为你推荐
巴西时区巴西和中国的时差是多少 里约和北京时差怎么算cs躲猫猫CS GO怎么玩躲猫猫色温图数码相机上面色温小图标的详细作用蓝牙开发蓝牙技术到底是指什么?qsv视频格式转换器简单好用的qsv格式转换器有哪些?空间图片空间图片blacken“人非圣贤孰能无过”用英语怎么说眼镜片品牌什么品牌的近视眼镜片好移动硬盘提示格式化移动硬盘打不开,提示需要格式化刷荣誉怎么刷荣誉最快最快?
游戏服务器租用 堪萨斯服务器 美国翻墙 BWH 线路工具 lighttpd 免费网站申请 中国电信测网速 什么是服务器托管 linux使用教程 台湾google 阿里云免费邮箱 独立主机 电信宽带测速软件 测试网速命令 重庆服务器 谷歌搜索打不开 香港博客 forwarder 中国域名根服务器 更多