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

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

日本vps云服务器选择指南。

日本vps云服务器怎么选择?很多人都会遇到日本vps和日本云服务器怎么选择的问题,日本云服务器具有免备案的特点。小编今天就分析一下日本云服务器价格多少钱,以方便大家选购的时候有个更加合适的取舍。日本云服务器租用前比较选择,高性能、安全、高效、免备案日本云服务器是很关键的因素。那么,日本云服务器该怎么选择呢?日本作为我们的邻国,与其贸易、文化往来是比较多的。日本云服务器价格多少钱一年?一、日本·CN...

Megalayer新加坡服务器国际带宽线路测评

前几天有关注到Megalayer云服务器提供商有打算在月底的时候新增新加坡机房,这个是继美国、中国香港、菲律宾之外的第四个机房。也有工单询问到官方,新加坡机房有包括CN2国内优化线路和国际带宽,CN2优化线路应该是和菲律宾差不多的。如果我们追求速度和稳定性的中文业务,建议还是选择CN2优化带宽的香港服务器。这里有要到Megalayer新加坡服务器国际带宽的测试服务器,E3-1230配置20M国际带...

火数云 55元/月BGP限时三折,独立服务器及站群限时8折,新乡、安徽、香港、美国

火数云怎么样?火数云主要提供数据中心基础服务、互联网业务解决方案,及专属服务器租用、云服务器、专属服务器托管、带宽租用等产品和服务。火数云提供洛阳、新乡、安徽、香港、美国等地骨干级机房优质资源,包括BGP国际多线网络,CN2点对点直连带宽以及国际顶尖品牌硬件。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松快捷运用云计算!多年云计算领域服务经...

struts2为你推荐
微指数做微商怎么像别人推荐自己?百度云论坛请问论坛有网盘么?ucosiiucosii任务堆栈的作用是什么呢?豆瓣fm电台虾米猜电台和豆瓣fm哪个好?巴西时区巴西与中国的时差是多少电子听诊器怎样选择听诊器html源代码求一个简单的HTML代码,在线等,急实数的定义数学中的“实数”是什么?系统登录界面电脑用户登录界面,输入密码登不进去了,怎么解决,急团购网源码我想弄个自己的团购网站,请求帮助
免费域名注册 美国vps 万网域名解析 国外永久服务器 raksmart debian6 ibox官网 本网站在美国维护 gspeed 服务器维护方案 刀片服务器的优势 免费高速空间 福建铁通 空间登陆首页 架设邮件服务器 太原联通测速 shuang12 路由跟踪 阿里云免费邮箱 深圳主机托管 更多