.了解MVC架构对于用Struts构建的强大的Web应用程序很重要
by Peter Varhol
Struts是雅加达的一个项目,它提供了一个方法,可以在一个Web应用程序中一起使用JavaServer Pages(JSP)和servlets。它的目的是要解决完全由JSP或完全由servlet实现的应用程序中的固有的问题。 例如,servelts可以生成HTML页面,但这么做很麻烦。另一方面,JSP可以很容易地用于传统的HTML页面,但JSP页面有其它的缺点。特别是,用JSP很难将内容同内容的显示分开。 很容易将Java 代码同HTML混在一起,结果做出的东西又慢又难以维护。
然而,因为JSP页面容易使用,所以它们成为用Java构建动态的Web应用程序的首选方法。除了容易编程外,JSP页面也被改进了,所以现在它们克服了以前的某些局限性。JavaBeans和标记库只是在基础的JSP技术上的几个改进。这种类型的方法——JSP页面单独负责处理输入的请求和回复客户端——被称为Model 1架构。
JavaServer Pages是servlets的特殊情况,所以两者可以一起工作以弥补每个的不足,这似乎是合乎逻辑的。这种类型的方法——你的Web架构包含截然不同的但又互联的处理数据模式、显示代码和程序控制逻辑的JSP和servlet组件——被称为Model 2架构,或Model-View-Controller(MVC)架构。
为了使用Struts架构以及用JSP和servlets有效地编程,对MVC架构的了解是很必要的。Model 1和MVC架构的主要不同就是请求是在哪里处理的。在Model 1架构中,请求通过JSP接收,主要通过JSP处理。如果JSP页面需要来自任何其它应用程序组件的服务,如一个数据库,那么你就从页面做适当的调用,把数据返回到页面,安排数据的格式并显示出来。你可以把一些代码放到一个或多个JavaBean中,但是这么做本身没有将逻辑同显示完全分离。
MVC方法采用了JSP和servlet方法的最佳特性,使这两种技术可以协同工作。明确的是,servlet是处理层(控制器)。Servlet接收请求,很像Model 1架构中JSP页面所做的那样,并确定如何满足那些请求。这就意味着,servlet控制输入的请求和输出的回应。
(注:有关Struts的相关问题可以与我联系:tech@ee-studio.com 吸取Structs模式制作的PHP框架请见www.ee-studio.com 里的演示项目eurekaenergy3.0)