中可以非常容易地结合业务逻辑(Jsp:useBean)、服务端脚本和HTML,在JSP页面中同时实现显示,业务逻辑和流程控制,从而可以快速地完成应用开发。
现在很多的Web应用就是由一组JSP页面构成的,这种以JSP为中心的开发模型又称之为JSP模式116-18。
1)这种开发模式可以很好的满足快速和小规模的应用开发的需要,但是不能满足大型应用的要求,从工程化的角度考虑,它也有一些不足之处:应用的实现一般是基于过程的,一组JSP页面实现一个业务流程,如果要进行改动,必须在多个地方进行修改。
这样非常不利于应用扩展和更新。
2)由于应用不是建立在模块上的,业务逻辑和表示逻辑混合在JSP页面中,页面被嵌入大量的Script或Java代码,非常不利于系统的重用和改动。
为了解决这些问题,在开发大型的Web应用时我们可以采用JSP模式2,一个基于MVC模式的框架。
MVC是Model-View-Controller的缩写19,Model代表的是应用的业务逻辑(通过 JavaBean:EJB组件实现),View是应用的表示层(由JSP页面实现),Controller提供应用的处理程控(一般由一个Servlet实现)。
通过这种设计模型把应用逻辑,处理过程和显示逻辑分开由不同的组件实现。
这此组件可以进行交互和重用,从而弥补了JSP模式1的不足。
JSP模式2独有的优点使其更易于实现对大规模系统的开发和管理,但是开发MVC系统比简单的」SP开发要复杂许多,原来通过建立个简单的JSP页面就能实现的应用现在变成了多个步骤的过程,因此需要花费更多的时间学习和掌握。
采用MVC实现Web应用时,选一个现成的MVC框架,在此之上进行开发,就能取得事半功倍的效果。
现在有很多可供使用的MVC框架,由于Struts有完整的文档并且相对来讲比较简单,所以用它开发MVC系统还是比较方便的。
Struts在这方面有着很多优势20: 1)Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。
使开发者能更深入的了解其内部实现机制。
2)除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。
Taglib是Struts的标记库,灵活动用,能大大提高开发效率。
另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好 6 华 中 科 技 大 学 硕 士 学 位 论 文的起点。
关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。
通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。
尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。
但是Struts也有自身的缺陷21: 1)唯一的ActionServlet。
一个应用中只能有一个ActionServlet被使用,这种限制会导致配置部署上的困难。
2)有限的适用范围。
Struts是一种基于Web的MVC解决方案,所以必须用HTML、JSP文件和servlet来实现它。
3)在将问题分为几个部分的同时也引入了复杂性。
毫无疑问,要理解Struts必须进行一定的培训。
随着变化的不断加入,这有时会令人沮丧。
4)虽然通过使用标记库,Struts有助于限制JSP文件种所需要的Java代码的数量。
Logic Tag 就是这样的一种库,它对有条件地生成输出进行管理,但这并不能阻止UI开发人员对Java代码的狂热。
2.1.3 Struts 体系结构 Struts 框架是MVC的实现,下面就分别从Model,View,Controller来看看Struts的体系结构。
图 2.1显示了Struts framework的体系结构在响应客户请求的时候,各个部分的工作原理22: 图2.1 Struts体系结构 1)视图(View)组件 Struts 应用中的View部分是通过JSP技术实现的。
Java开发者很容易在JSP当中过度使用Java小程序,直接嵌入条件业务逻辑和循环。
MVC解决了这一问题,通过把复 7 华 中 科 技 大 学 硕 士 学 位 论 文杂的处理分离到Model和Controller组件中,从.
上一篇:
持久层设计模式在增值服务网站系统的研究与应用
下一篇:
入党申请书格式:此致敬礼