框架的选择

首先,我选择的框架是struts框架。下面说明选择的原因。

一、Struts框架的实现机制

      MVC是Model-View-Controller的缩写,是JAVA开发中常用的一种开发模式。MVC 降低了业务逻辑接口和数据接口间的耦合,能够让视图层更加灵活地适应业务逻辑的需求。

      而Struts 是MVC的一种具体实现,它将Servlet和JSP 用作实现的一部分。它继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。具体工作原理如下:

     1.视图:主要由JSP生成页面,Struts提供丰富的JSP 标签库,例如Html,Bean,Logic,Template等,这有利于分开表现逻辑和程序逻辑。

     2.控制:在Struts中,承担MVC中Controller角色的是一个Servlet,叫ActionServlet。ActionServlet是一个通用的控制组件。这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点。它截取和分发这些请求到相应的动作类(这些动作类都是Action类的子类)。另外控制组件也负责用相应的请求参数填充 Action From(通常称之为FromBean),并传给动作类(通常称之为ActionBean)。动作类实现核心商业逻辑,它可以访问java bean 或调用EJB。最后动作类把控制权传给后续的JSP 文件,后者生成视图。所有这些控制逻辑利用Struts-config.xml文件来配置。

    3.模型:模型以一个或多个java bean的形式存在。这些bean分为三类:Action Form、Action、JavaBean or EJB。Action Form通常称之为FormBean,封装了来自于Client的用户请求信息,如表单信息。Action通常称之为ActionBean,获取从ActionSevlet传来的FormBean,取出FormBean中的相关信息,并做出相关的处理,一般是调用Java Bean或EJB等。

    4.流程:在Struts中,用户的请求通常以*.do作为请求服务名,所有的*.do请求均被指向ActionSevlet,ActionSevlet根据Struts-config.xml中的配置信息,将用户请求封装成一个指定名称的FormBean,并将此FormBean传至指定名称的ActionBean,由ActionBean完成相应的业务操作,如文件操作,数据库操作等。每一个*.do均有对应的FormBean名称和ActionBean名称,这些在Struts-config.xml中配置。

    5.核心:Struts的核心是ActionSevlet,ActionSevlet的核心是Struts-config.xml文件。

二、Struts框架的优点

Struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。

1. 实现MVC模式,结构清晰,使开发者只关注业务逻辑的实现.

2. 有丰富的tag可以用 ,Struts的标记库(Taglib),如能灵活动用,则能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。

3. 页面导航.页面导航将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。

4. 提供Exception处理机制 .

5. 数据库链接池管理

6. 支持I18N

Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。

除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。

关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。

另外,struts是业界"标准"(很多成功案例),学习资源丰富,HTML标签非常优秀。

时间: 2024-08-08 13:57:53

框架的选择的相关文章

实验一 框架的选择及其原因

我要做的事一个基于web的学生选课系统,我选择的框架式SSH框架. SSH框架介绍:SSH是Spring+Struts+Hibernate的集成框架.Spring的架构基础是基于使用javabean属性的Inversion of Control容器.Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的. Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误.Spring的数据访问架构还集成了Hibernate和其

新框架的选择

一个新框架的选择之路:     一.考虑前后端的交互方式的实现及兼容性,ajax的实现. 二.考虑UI框架的实用性 三.考虑开发.部署方式.这个很重要 四.易维护. 五.less.sass的支持. 软件的开发 一.前后端的设计登录信息的记录方式,交互方式 二.安全性 三.成本比较低,项目容易维护. 原文地址:https://www.cnblogs.com/yiyi17/p/8604377.html

web简单应用python框架的选择-tornado

Django: 一般观点: 个人认为django是相当平衡而又好用的.比如说django的Model和Template,你既可以用,也可以不用,没有说一定强迫你用.所以说django是重量级的,估计也是一知半解. 做一般的网络应用,强烈建议使用django. 如果是以内容为主的网站Django是比较优秀的选择,比如blog之类的,自带的后台.表单和ORM十分方便.缺点是太大了,什么都用django自家的而不用外头的好东西,而且模块间耦合比较严重. 否定原因: 框架太复杂,效率太慢 Tornado

对于SSH框架的选择

选择框架:SSH 对于Web开发来说,SSH框架可以提高开发效率,还可以方便需求的变更以及对后期维护方面更容易操作.SSH也是目前稍微流行的Web开发框架. 选择框架描述: 首先说明一下SSH并不是一个框架,而是由Struts2+Spring+Hibernate三个框架组合而成.集成SSH框架的系统从职责上分为四层:表示层.业务逻辑层.数据持久层和域模块层(实体层).帮助开发人员在短期内搭建结构清晰.可复用性好.维护方便的Web应用程序. 其中使用Struts作为系统的整体基础架构,负责MVC的

软件体系结构之框架的选择及说明

软件架构比写代码更重要.软件系统的架构设计,需要设计系统的元件如何划分,元件之间如何发生相互作用,以及系统中逻辑上.物理上和系统上的规划.开始之初的架构设计也决定了这个软件产品是否适用.所以架构的选择和设计是软件开发的重中之重. 首先我选择的框架是ssh框架,也就是Struts+Spring+Hiberbate.其中Struts2负责MVC的分离,是作为系统的整体基础架构,主要用servlet和jsp技术实现:Spring提供管理业务:Hibernate框架是开源的对象关系映射框架,对JDBC进

测试驱动开发TDD(三)开源测试框架的选择

http://www.qnr.cn/pc/rj/zhongji/ruanze/201008/523311.html  * http://www.uml.org.cn/Test/201006085.asp ** http://blog.csdn.net/jq0123/article/details/5479998 *** 最终选择Google的GTest作为我们开发的测试框架.

【架构研习】欲善其事先利其器-Robot Framework实战演练之框架的选择

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC"; color: #454545 } span.s1 { font: 12.0px "Helvetica Neue" } 之前有提到过,自己曾基于公司业务系统从无到有码过一套测试框架,但由于开发时的思想同时受限于公司业务及框架的适用性上,导致最终虽然框架可完美支持业务,但在易用性.兼容性及可扩展性方面依然存在一定问题,维护成本较高.后

SSH框架 jar包版本的选择

我搭建SSH框架,想选择最新的jar,但是由于jar版本的问题 报出各种各样的千奇百怪的问题.从网上找了一些,但都是用比较老的版本.在我的不懈努力,最后终于成功了.再次分享一下,由于才疏学浅,见识浅薄,仅供大家参考! hibernate框架的选择,取决于spring的支持.在spring-orm-XX.jar 文件中有对hibernate的支持情况,像这个spring-orm-4.1.6.RELEASE.jar支持hibernate3,hibernate4,不支持hibernate5.所以我只能

实验一框架选择以及原因说明

我要做的事一个基于web的学生选课系统,我选择的框架式SSH框架. SSH框架介绍:SSH是Spring+Struts+Hibernate的集成框架.Spring的架构基础是基于使用javabean属性的Inversion of Control容器.Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的. Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误.Spring的数据访问架构还集成了Hibernate和其