阿壮博客阿壮博客阿壮博客

struts<span> struts框架

Struts是Apache软件基金会(ASF)赞助的一个开源项目。它最初是Jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。它通过采用Java Servlet/JSP技术,实现了基于Java EE Web应用的Model-View-Controller(MVC)设计模式的应用框架,是MVC经典设计模式中的一个经典产品。

Struts的优点主要集中体现在两个方面,Taglib和页面导航。Taglib是Struts的标记库,灵活多用,能大大提高开发效率。

Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。它的目的是为了减少在运用MVC设计模型来开发Web应用的时间。你仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。

Struts的漏洞处理机制常被诟病,一来OGNL的功能强大和请求处理机制极易产生远程执行问题,二来开发组对漏洞处理能力不足,要么修复后仍可以绕过,要么无法修复而长期闲置处理。

中文名:struts

外文名:Struts

使用人员:JavaWeb网站开发人员

实质:基于MVC的WEB框架

平台:Java

结构

在Struts中,已经由一个名为ActionServlet的Servlet充当控制器(Controller)的角色,根据描述模型、视图、控制器对应关系的struts-config.xml的配置文件,转发视图(View)的请求,组装响应数据模型(Model)。在MVC的模型(Model)部分,经常划分为两个主要子系统(系统的内部数据状态与改变数据状态的逻辑动作),这两个概念子系统分别具体对应Struts里的ActionForm与Action两个需要继承实现超类。在这里,Struts可以与各种标准的数据访问技术结合在一起,包括Enterprise Java Beans(EJB),JDBC与JNDI。在Struts的视图(View)端,除了使用标准的JavaServer Pages(JSP)以外,还提供了大量的标签库使用,同时也可以与其他表现层组件技术(产品)进行整合,比如Velocity Templates,XSLT等。通过应用Struts的框架,最终用户可以把大部分的关注点放在自己的业务逻辑(Action)与 映射关系的配置文件(struts-config.xml)中。

发展历程

在Java EE的Web应用发展的初期,除了使用Servlet技术以外,普遍是在JavaServer Pages(JSP)的源代码中,采用HTML与Java代码混合的方式进行开发。因为这两种方式不可避免的要把表现与业务逻辑代码混合在一起,都给前期开发与后期维护带来巨大的复杂度。为了摆脱上述的约束与局限,把业务逻辑代码从表现层中清晰的分离出来,2000年,Craig McClanahan采用了MVC的设计模式开发Struts。后来该框架产品一度被认为是最广泛、最流行JAVA的WEB应用框架。

2006年,WebWork与Struts的Java EEWeb框架的团体,决定合作共同开发一个新的,整合了WebWork与Struts优点,并且更加优雅、扩展性更强的框架,命名为“Struts 2”,原Struts的1.x版本产品称为“Struts 1”。

Struts项目并行提供与维护两个主要版本的框架产品——Struts 1与Struts 2。

在2008年12月,Struts1发布了最后一个正式版(1.3.10),而2013年4月5日,Struts开发组宣布终止了Struts 1的软件开发周期。

优缺点

Struts的优点主要集中体现在两个方面,Taglib和页面导航。Taglib是Struts的标记库,灵活多用,能大大提高开发效率。

Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。它的目的是为了减少在运用MVC设计模型来开发Web应用的时间。你仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。

Struts的漏洞处理机制常被诟病,一来OGNL的功能强大和请求处理机制极易产生远程执行问题,二来开发组对漏洞处理能力不足,要么修复后仍可以绕过,要么无法修复而长期闲置处理。

Apache Struts 2

Apache Struts 2是一个用于开发Java EE网络应用程序的开放源代码网页应用程序架构。它利用并延伸了Java ServletAPI,鼓励开发者采用MVC架构。

缘起于Apache Struts的WebWork框架,旨在提供相对于Struts框架的增强和改进,同时保留与Struts框架类似的结构。2005年12月,WebWork宣布WebWork 2.2以Apache Struts 2的名义合并至Struts。2007年2月第一个全发布(full release)版本释出。

MVC

MVC模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。

MVC模式最早由Trygve Reenskaug在1978年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件架构。MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。软件系统通过对自身基本部分分离的同时也赋予了各个基本部分应有的功能。专业人员可以通过自身的专长分组:

控制器(Controller)- 负责转发请求,对请求进行处理。视图(View) - 界面设计人员进行图形界面设计。模型(Model) - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。参见Struts2MVC设计模式Apache软件基金会J2EE参考资料

1.·

1.文章《struts<span> struts框架》援引自互联网,仅供学习和研究使用,内容仅代表作者本人观点,与本网站无关,侵删举报等反馈请点击此处

2.文章《struts<span> struts框架》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://100248.com/wen/526258.html

相关推荐

奋进新时代踏上新征程作文 启航新征程,奋进新时代作文

2022年奋进新时代踏上新征程作文9篇从作文的写作命题来分,作文可以分为命题作文和非命题作文。命题作文,一般是指出题者给出一个既定的题目,要

有趣的万圣节活动作文 有趣的活动作文500字以上

有趣的万圣节活动作文5篇作为一名合格的学生,对于自己的万圣节活动内容,可以书写作文进行描写记录。相信,很多朋友都对写作文感到非常苦恼吧,下面

万圣节快乐优质作文 快乐的万圣节作文

万圣节快乐优质作文7篇关于万圣节的到来,对于这一天的节日文化,可以书写作文记录自己的个人感想。那么,写作文时还应注意哪些问题呢?下面是由小编

万圣节活动推文怎么写 校园活动推文怎么写

万圣节活动推文怎么写5篇作为一名学生,对于自己的万圣节活动,应该书写作文记录下来。作文的事项有许多,那么,你确定会写吗?下面是由小编给大家带

万圣节的节日作文 万圣节是什么节日?

万圣节的节日作文7篇对于万圣节的节日文化,为了进一步进行了解,可以结合实际书写一篇作文。相信,很多朋友都对写作文感到非常苦恼吧,下面是由小编

有趣的万圣节作文评析 有趣的万圣节作文400字

有趣的万圣节作文评析5篇对于万圣节活动的开展,为了能够深入了解万圣节文化,因此需要书写一篇万圣节话题作文。那么,写作文时还应注意哪些问题呢?

感恩节的来历和意义简短 感恩节的来历和意义英文

感恩节的来历和意义简短7篇为了记录感恩节的活动经历,可以选择书写作文的方式,以此进行认识。那么,你有了解过作文吗?下面是由小编给大家带来的感

万圣节主题文章内容 文章内容切合主题

万圣节主题文章内容7篇对于万圣节的到来,每一个人都有自己的庆祝方式,为了了解这个节日的关联,可以书写作文进行探索。那么,写作文时还应注意哪些