基于MVC模式的Struts框架概述

2008-02-23 09:51:46来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


作者:yarshray





关键字: Java J2EE MVC JSP Servlet MVC Struts

内容简介:



MVC设计模式成为了目前十分流行的一种设计方法.它是一种软件的设计方法模式.并且被大量的开发和实践所证明.因此本文通过介绍Struts框架这种已经实现了MVC模式的软件构件框架了讨论该模式的优势和如何投入到软件开发中去.

本文内容注重理论和实践相结合,比较系统的从多层设计方式到分布式软件开发中所用到的技术,从而切入目前Sun公司退出的J2EE框架模型,然后更加该框架讨论了与之相关的技术,包括JSP,Servlet,用户定义标签等相关主题,然后讨论其优势和缺陷,最后引出文章的主题,Struts框架,该框架通过实现MVC设计模式从而改变了以往的设计方法,使得开发一套基于J2EE框架的应用程序十分具有广泛的适应性和极高的效率.





名人名言:
如果我比笛卡尔看得远些,那是因为我站在巨人们的肩上的缘故。


──牛顿


具有丰富知识和经验的人,比只有一种知识和经验的人更容易产生新的联想和独到的见解。


──泰勒

引言:



现阶段软件开发已经进入了面向对象,组件化,分布应用的阶段.Sun 公司推出的Java2 EntERPrise Edition(J2EE)平台已经日趋成熟.并得到了广泛的应用.J2EE中所定义的Web容器中的WEB组件也成为了目前开发WEB应用主要工具和手段.JavaServer Page (JSP)技术,几乎是每一个JAVA WEB应用开发的必须开发组件.

目前的Web容器也是繁花似锦,一些免费的开源的组织也加入到这项运动中来了.如Apache软件组织提供的Tomcat就是一个非常优秀的Web容器,这也推动了Java的Web应用的发展.随着Java的Web技术的成熟和市场的巨大需求.越来越多的开发人员都开始使用一些已经被开发所认同的开发框架了.而现在软件开发的思想观念已经不是”我们是否要使用软件框架” 而是说 ”使用什么软件开发框架”.

因此,选用优秀的开发框架是作为一个软件开发人员所必须的.Jakarta-Struts是由Apache软件组织提供的一套开发源代码的项目,它实现了模型---视图---控制器(Model---View---Controller) MVC 设计模式.其广泛的适应性和高度的扩展能力加上对生产效率的极大提高成为了目前Java的Web开发所逐步认可的标准.

当然,作为我们这些开发人员也同样是一种挑战,我必须要理解这些新的观念和认识并接受这一开发模式的带来的优势,这需要我们对理论的理解和大量的开发实践.





Java WEB应用程序介绍



Java Web应用就是通过在Web容器上开发和部署Java的Web组件来构建应用的工作.其包括的技术主要是Java Server Page 和 Servlet 技术.此外开发一个完整的Java的Web应用还包括以下一些技术:

l JavaBean组件技术

l EJB组件技术

l 用户自定义标记库

l XML标签语言

l J2EE相关容器













图 1 Java Web 应用的技术结构





Servlet控制器组件技术



Servlet在一个典型的Web应用中担任的重要角色就是Servlet非常适合做Web页面之间的消息转发器.因为Servlet是一个被Web容器动态加载的组件模块,它并不十分适合做用户的界面表示,而当Web用户发出请求的时候Servlet组件可以通过Servlet容器来捕获这个请求消息,这样它可以调用模型组件来出来这个消息.



图 2 Servlet 的处理流程

当客户程序(如: 浏览器)首先向Servlet容器发出Web请求,服务器接受到请求以后会调用相应的Servlet组件来执行相应的程序来完成这个请求,然后Servlet组件吧处理结果交给Servlet容器,再由Servlet容器把请求回复给客户程序.这也是一个典型的web应用的执行过程.Java的Servlet技术提供了一组用户的编程接口为开发人员定义了相关的类.

Servlet Api中以下几个比较重点的类决定了Servlet的处理流程:

l HttpServlet :该类提供了用户扩展的能力,用户通过继承该类编写Servlet组件.主要填写Http方法(如: doPost doGet)完成服务.

l HttpServletRequest: 该类提供了接受用户请求数据的能力,该类通常是由Web容器在一次客户请求服务中创建的.Servlet可以通过该对象访问到请求时用户的请求数据.

l HttpServletResponse: 该类用于生成执行后的相应结果.该类也是由Web容器在服务中创建的.

l HttpSession: 该了同类处理客户的会话跟踪.

l ServletContext: Servlet容器为每个Web 应用模块都提供了一个环境来保持该应用模块的状态.这组状态是该模块中所有Web组件可以访问到的共享信息.

以上对Servlet组件有了一个大体的介绍,如果要深入了解有关Servlet的技术可以访问站点: http://www.servlet.com .那里会有详细的介绍.







JSP组件技术



JSP组件技术是对传统静态Web页面(HTML)的扩展,使得传统的静态页面可以加入Java的程序代码,以提供程序编辑产生页面的效果.并且该组件技术也运行的J2EE Web容器上的组件技术.

JSP的本质实际就是Servlet组件技术,只是JSP技术更利于用来做用户的表示界面.



图3 Web容器初次执行浏览器请求处理JSP的过程

JSP页面在初次接受到用户的请求的时候,首先Web容器会翻译JSP脚本文件,然后生成Servlet源代码,在把Servlet源代码编译成java的ByteCode 生成Class文件.然后同Servlet的执行过程一样处理页面流程.

如果读者想更进一步了解Jsp技术,可以http://java.sun.com/products/jsp/ 该站点可以获得更多帮助.





JavaBean组件在Web应用程序的作用



JavaBean 是一种符合特定规范的Java类.在JavaBean中定义了以系列属性和方法.我们通常可以把业务对模型和业务流程模型封装在JavaBean中,简单的说JavaBean很适合在Web应用中充当模型组件的角色.

JSP标准标签中已经定义了一组对JavaBean支持的标签.并定义了JavaBean对象在执行过程中的生命周期.包括 page ,request,session 和 application 四种范围.并提供了对JavaBean访问时的属性支持.

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:扬扬的J2EE学习笔记(三)Components and Roles组件和角色

下一篇:Jbuilder快捷键