摘要
struts是一个优秀的java web开发框架。struts是apache项目之一,现在struts已经在java开发团体中得到了广泛的支持。在这篇文章中julien mercay 和gilbert bouzeid将向我们介绍struts的处理流程、描绘struts框架,最后提出了model 2x的设计方法。 model 2x用xml/xslt替换掉了原来的表现层中的jsp页面。model 2x通过这种方式更加明晰地划分了业务逻辑层和表现层。
正文
自从servlet api发布以来,java开发人员使用了不同的技术来开发web应用程序。web开发人员已经认识到了model 2的优点。model 2 指的是基于mvc模式的web开发框架。model 2能把应用逻辑层和表现层较好地区分开来。struts构建在model 2 之上,它向java开发人员提供了一个普通的控制器servlet,还有集中式的资源配置、资源管理以及错误处理等功能。
这篇文章中我们引入了model 2x。model 2x可以将逻辑层和表现层更好地分离。我们先介绍model 1和model 2,然后讲述一下struts是如何实现mvc架构的,最后向读者展示一下如何通过xml、xslt来对现存的模式加以改进。
model 1
理解model 1是十分重要的,如果不熟悉model 1将很难理解我们在文章中介绍的其他几个架构。model 1的基础是jsp文件。jsp从http请求中取得参数,调用所需的业务逻辑,处理http对话,然后生成html页面。
一个完整的model 1项目包括一组jsp文件(这些文件大部分都是彼此独立的)、一组所需的java类和其他组件。一些早期的web开发技术比如asp、php都使用类似的模式来开发的。
model 1主要也许是唯一的优势就是简单。model 1中业务逻辑和显示逻辑混合在jsp页面中没有进行抽象和分离,所以在进行快速和小规模的应用开发时,有非常大的优势的。但用model 1 开发复杂的项目的开发时,将不可避免地导致项目管理的困难。
model 2, mvc, and struts/jsp
图1
图1说明的是mvc架构中的三个部分,以及它们在struts/jsp中的实现。
控制器(controller):struts的最主要的部件就是一个普通的控制器servlet。控制器是每一个发送到struts的http请求的入口点。控制器把所有的请求经解释后分发action。这些action是struts action类的子类。由开发人员负责实现它们。控制器也会自动的把http请求中的参数加入到form bean中。action负责实现核心的业务逻辑,比如做ejb调用,通过java bean访问模型(model)。在struts中可以通过定义一个xml文件来描述请求uri、具体业务逻辑处理、代表客户提供的数据的form组件三者之间的映射关系。控制器的就是通过这个xml文件来定义的。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器