论文部分内容阅读
[摘要]Struts框架具有组件的模块化,灵活性和重杨文红 赵德平 刘柯剑用性的优点,同时简化了基于MVC的web应用程序的开发。讨论Struts框架实现MVC模式的原理与方法。
分布式企业应用软件结构复杂、涉及多种技术,对设计开发人员提出了很高的要求。在此情况下,运用设计模式――可复用的设计方案进行软件的设计开发十分必要。MVC模式已被证明是一种成功的软件设计模式,主要讨论一种实现MVC模式的应用框架――Struts。
[关键词]Struts MVC 设计模式
中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)1020052-01
一、引言
由于Web应用的大型化、功能日趋复杂,使得传统的开发方式不再适合,一种新的设计模式MVC模式(Model-View-Controller,模型-视图-控制器)被广泛应用于网站架构设计中。Struts作为MVC模式的一种实现,很好的结合了JSP、Servlet、JavaBean、Taglib等技术。
二、Jsp Model1和Jsp Model2
在早期的Java Web应用中,常会提到Jsp Model1和Jsp Model2这两个概念。在Jsp Model1模型中,JSP充当着控制器与视图的双重角色,JavaBean扮演了模型的角色。JSP直接调用后台模型进行业务处理,同时,再由JSP返回用户结果界面。这种模型对于一些小型的程序还是可以满足的,但对于大规模的系统就显得力不从心。因为倘若将JSP即当成控制器又当成视图,那么在页面代码中就会有大量的HTML标记与Java语言的混合物,这对程序的维护是非常不利的,而且对与页面开发人员和程序设计人员的分工将造成太多的约束,无法使它们并行工作,开发效率也就大大降低,故很难对整个系统进行有效的控制管理和开发。所以现阶段,开发者更倾向于使用Jsp Model2的模式进行Web系统的开发,就是我们所说的MVC设计模式。
三、MVC设计模式
MVC(Modle-View-Controller,模型-视图-控制器)模式是Xerox PARC在20世纪80年代为编程语言Smalltalk-80所设计的一种软件设计模式,至今已被广泛使用,并被推荐为Sun公司J2EE平台的设计模式,其为开发交互式应用系统提供了一个优秀的设计模式,受到越来越多开发者的欢迎。
MVC模式主要由3个部分组成:模型、视图和控制器。
模型表示业务逻辑和业务规则等,在MVC的三个部件中拥有最多的处理任务。它可以用JavaBean和EJB等组件技术来处理数据库的访问。模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
视图是屏幕上的显示。模型进行操作之后,其结果就是通过视图来显示的。在视图中其实没有真正的处理发生,只是作为一种输出数据并允许用户操作的方式。
控制器用于管理用户与视图发生的交互。一旦用户想对模型进行处理时,它不能直接去执行模型,而是通过控制器来间接地实现。控制器能从视图中取值,然后将相应的值传给模型进行处理。控制器接受用户的输入并调用模型和视图去完成用户的需求。
四、基于MVC模式的Struts框架的应用
下面通过一个具体实例说明如何应用Struts框架构建应用程序。该实例是一个全面预算管理系统中的预算资料模块,包括资料录入、资料查询、资料修改和资料删除四个功能,用于完成预算资料的录入、查询、修改及删除。
具体在使用Struts框架时,对应各个部分的开发工作主要包括:
(一)构建视图
在Struts框架中,视图的实现主要采用JSP技术,但与传统的JSP相比有两个显著的不同。
首先,在Struts下使用JSP开发视图,在页面中没有包含任何的脚本程序,只是单纯的完成数据传送以及接收和显示返回的数据。对数据的处理以及页面的跳转都在业务层中来实现。这样做实现了业务逻辑和表示逻辑的完全分离,提高了一个应用程序的性能和可扩展性,并有利于程序的复用。
第二,Struts框架提供了一组可扩展的自定义标记库,主要包括:Bean标记、Logic标记、HTML标记和模板标记。通过使用标记,可以简化创建用户界面的过程,并且更好地实现数据的封装。通过使用这些自定义标记创建的JSP表单,可以实现和业务层中的ActionForm的映射,非常好地和系统的业务逻辑部分交互。
(二)构建模型
模型采用JavaBean和EJB组件,设计和实现系统的业务逻辑。根据不同的请求从Action派生具体Action处理对象,完成“做什么”的任务来调用由Bean构成的业务组件,创建由ActionForm 的派生类实现对客户端表单数据的封装。
(三)构建控制器
在Struts应用框架中,中心控制器(ActionServlet)是由Struts框架本身所提供,开发人员一般无须对该ActionServlet进行再次开发;负责具体业务处理的Action类则是开发者开发实现的重点,在这些Action对象中会进行所有的业务操作,处理完毕,由Struts的ActionServlet转向到jsp页面,将处理结果返回给客户端。
(四)建立配置文件
Struts框架中有两个配置文件web.xml和struts-config.xml,用于配置Struts系统中的各个模块之间的交互。通过对这两个配置文件的配置,把Struts框架中MVC的各个部分联系起来,实现了一个真正的MVC系统。
五、结束语
Struts是一种基于MVC设计模式的企业级Web应用开发框架,它的设计目的是从整体上减轻构造企业Web应用的负担。其自带的标记库,能大大提高开发效率,同时提高了系统的可维护性和可扩充性。本文在总结Struts框架技术及其工作原理的基础上给出了一个应用实例,为今后更好的应用Struts框架开发Web应用程序提供了参考。
参考文献:
[1]孙卫琴,精通struts基于mvc的java web 设计和研发.北京:电子工业出版社.2005.
[2]林上杰,林康司,jsp2.0技术参考手册.北京:电子工业出版社.2005.
[3][美]Joseph J.Bambara 等,j2ee技术内幕北京:机械工业出版社. 2002.
[4]王守茂,管理信息系统的分析与设计.天津:天津科技翻译出版社. 1996.
[5][美]Jayson Falkner Ben Galbraith Romin Irani等,JSP Web编程指南.北京:电子工业出版社.2002.
[6][美]赫斯特(Husted,T.)等著,黄若波等译,实战Struts.北京:机械工业出版社. 2005.
分布式企业应用软件结构复杂、涉及多种技术,对设计开发人员提出了很高的要求。在此情况下,运用设计模式――可复用的设计方案进行软件的设计开发十分必要。MVC模式已被证明是一种成功的软件设计模式,主要讨论一种实现MVC模式的应用框架――Struts。
[关键词]Struts MVC 设计模式
中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)1020052-01
一、引言
由于Web应用的大型化、功能日趋复杂,使得传统的开发方式不再适合,一种新的设计模式MVC模式(Model-View-Controller,模型-视图-控制器)被广泛应用于网站架构设计中。Struts作为MVC模式的一种实现,很好的结合了JSP、Servlet、JavaBean、Taglib等技术。
二、Jsp Model1和Jsp Model2
在早期的Java Web应用中,常会提到Jsp Model1和Jsp Model2这两个概念。在Jsp Model1模型中,JSP充当着控制器与视图的双重角色,JavaBean扮演了模型的角色。JSP直接调用后台模型进行业务处理,同时,再由JSP返回用户结果界面。这种模型对于一些小型的程序还是可以满足的,但对于大规模的系统就显得力不从心。因为倘若将JSP即当成控制器又当成视图,那么在页面代码中就会有大量的HTML标记与Java语言的混合物,这对程序的维护是非常不利的,而且对与页面开发人员和程序设计人员的分工将造成太多的约束,无法使它们并行工作,开发效率也就大大降低,故很难对整个系统进行有效的控制管理和开发。所以现阶段,开发者更倾向于使用Jsp Model2的模式进行Web系统的开发,就是我们所说的MVC设计模式。
三、MVC设计模式
MVC(Modle-View-Controller,模型-视图-控制器)模式是Xerox PARC在20世纪80年代为编程语言Smalltalk-80所设计的一种软件设计模式,至今已被广泛使用,并被推荐为Sun公司J2EE平台的设计模式,其为开发交互式应用系统提供了一个优秀的设计模式,受到越来越多开发者的欢迎。
MVC模式主要由3个部分组成:模型、视图和控制器。
模型表示业务逻辑和业务规则等,在MVC的三个部件中拥有最多的处理任务。它可以用JavaBean和EJB等组件技术来处理数据库的访问。模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
视图是屏幕上的显示。模型进行操作之后,其结果就是通过视图来显示的。在视图中其实没有真正的处理发生,只是作为一种输出数据并允许用户操作的方式。
控制器用于管理用户与视图发生的交互。一旦用户想对模型进行处理时,它不能直接去执行模型,而是通过控制器来间接地实现。控制器能从视图中取值,然后将相应的值传给模型进行处理。控制器接受用户的输入并调用模型和视图去完成用户的需求。
四、基于MVC模式的Struts框架的应用
下面通过一个具体实例说明如何应用Struts框架构建应用程序。该实例是一个全面预算管理系统中的预算资料模块,包括资料录入、资料查询、资料修改和资料删除四个功能,用于完成预算资料的录入、查询、修改及删除。
具体在使用Struts框架时,对应各个部分的开发工作主要包括:
(一)构建视图
在Struts框架中,视图的实现主要采用JSP技术,但与传统的JSP相比有两个显著的不同。
首先,在Struts下使用JSP开发视图,在页面中没有包含任何的脚本程序,只是单纯的完成数据传送以及接收和显示返回的数据。对数据的处理以及页面的跳转都在业务层中来实现。这样做实现了业务逻辑和表示逻辑的完全分离,提高了一个应用程序的性能和可扩展性,并有利于程序的复用。
第二,Struts框架提供了一组可扩展的自定义标记库,主要包括:Bean标记、Logic标记、HTML标记和模板标记。通过使用标记,可以简化创建用户界面的过程,并且更好地实现数据的封装。通过使用这些自定义标记创建的JSP表单,可以实现和业务层中的ActionForm的映射,非常好地和系统的业务逻辑部分交互。
(二)构建模型
模型采用JavaBean和EJB组件,设计和实现系统的业务逻辑。根据不同的请求从Action派生具体Action处理对象,完成“做什么”的任务来调用由Bean构成的业务组件,创建由ActionForm 的派生类实现对客户端表单数据的封装。
(三)构建控制器
在Struts应用框架中,中心控制器(ActionServlet)是由Struts框架本身所提供,开发人员一般无须对该ActionServlet进行再次开发;负责具体业务处理的Action类则是开发者开发实现的重点,在这些Action对象中会进行所有的业务操作,处理完毕,由Struts的ActionServlet转向到jsp页面,将处理结果返回给客户端。
(四)建立配置文件
Struts框架中有两个配置文件web.xml和struts-config.xml,用于配置Struts系统中的各个模块之间的交互。通过对这两个配置文件的配置,把Struts框架中MVC的各个部分联系起来,实现了一个真正的MVC系统。
五、结束语
Struts是一种基于MVC设计模式的企业级Web应用开发框架,它的设计目的是从整体上减轻构造企业Web应用的负担。其自带的标记库,能大大提高开发效率,同时提高了系统的可维护性和可扩充性。本文在总结Struts框架技术及其工作原理的基础上给出了一个应用实例,为今后更好的应用Struts框架开发Web应用程序提供了参考。
参考文献:
[1]孙卫琴,精通struts基于mvc的java web 设计和研发.北京:电子工业出版社.2005.
[2]林上杰,林康司,jsp2.0技术参考手册.北京:电子工业出版社.2005.
[3][美]Joseph J.Bambara 等,j2ee技术内幕北京:机械工业出版社. 2002.
[4]王守茂,管理信息系统的分析与设计.天津:天津科技翻译出版社. 1996.
[5][美]Jayson Falkner Ben Galbraith Romin Irani等,JSP Web编程指南.北京:电子工业出版社.2002.
[6][美]赫斯特(Husted,T.)等著,黄若波等译,实战Struts.北京:机械工业出版社. 2005.