Struts培训教程1概述在这份教程中,我将介绍struts框架和与struts框架有关的技术。该教程主要分为以下几部分:MVC模式Struts的概念和体系结构Struts中主要技术的介绍用jBuilder8开发struts应用程序2MVC模式所谓的MVC模式,即模型—视图—控制器(model—view--controller)模式。其结构图如下:Model端在MVC中,模型是执行某些任务的代码,而这部分代码并没有任何逻辑决定它对用户端的表示方法。Model只有纯粹的功能性接口,也就是一系列的公开方法,通过这些公开方法,便可以取得模型端的所有功能。在struts框架中,Model端是用Action和EJB技术实现的。View端在MVC模式里,一个Model可以有几个View端,而实际上复数的View端是使用MVC的原始动机。使用MVC模式可以允许多于一个的View端存在,ViewModelController并可以在需要的时候动态的登记上所需要的View.Controller端MVC模式的视图端是与MVC的控制器结合使用的。当用户端与相应的视图发生交互时,用户可以通过视窗更新模型的状态,而这种更新是通过控制器端进行的。控制器端通过调用模型端的方法更改其状态值。与此同时,控制器端会通知所有的登记了的视图刷新显示给用户的表示。在现在的j2ee应用中,我们在开发webserver时基本上都是采用MVC模式来开发的,j2ee规范也相应的为我们提供了技术支持,请看下图:1235471浏览器用户执行servlet的doGet方法;2servlet根据不同的请求,将他们分发到不同的Action中。在这里,servlet的作用就好比是controller;3Action调用EJB层的商务逻辑程序处理用户的请求;4EJB层返回给Action处理结果;5Action对将处理结果返回给servlet。在这里,可以将Action和EJB共同看成是model6servlet将信息发送给JSP页面。这里的JSP就相当于view;7browser用户浏览JSP页面;大家可以看到,JSP、servlet和EJB各自在MVC模式中所起到的作用。使用MVC的优点如下:可靠性(Reliability):将表示层和处理层完全分开,可以在不重新编译model和controller的情况下修改view层。复用性和适应性(reuse&adaptability):MVC使你可以使用多种view去访问相同的model。快速开发(Rapiddeployment):因为MVC清晰的将表示层和处理层分开,所以使得不同的程序员可以各司其则,增加开发速度。可维护性(Maintainability):清晰的分层同样使得代码清晰、程序的可维护性提高。BrowserWebServer265EJBServerServletJSPAction3Struts的概念和体系结构概述struts源自于apache的jakarta工程,是一个开源代码工程(http://jakarta.apache.org/)。现在struts最新的版本是1.2,而jBuilder自带的版本是1.02。struts是一个完全遵照MVC模型设计的,web层的框架。struts与MVC模式struts是一个完全遵照MVC模型设计的,web层的框架。在struts中,使用到了jsp、javabean、taglib和servlet技术。下图是一个描述了struts框架的应用请求的执行路径:这个过程大体可以被分成5个基本步骤:1view发起一个请求2ActionServlet(servlet技术实现)接受这个请求,它根据一份xml文件来得到处理这个请求的Action对象,并将请求发送给这个Action对象。3Action对象接受这个请求,并调用model(EJB)去处理这个请求,并将处理结果返回给ActionServlet。4ActionServlet根据Action的返回结果中的信息,决定将处理结果返回给对应的view。5view得到处理结果,并将他显示给用户。3.1THEMODELStruts框架提供Action作为model的一种实现。Action是继承org.apache.struts.action.Action的类,他用来处理用户的请求,并将处理结果封装在HttpServletRequest中,返回给ActionServlet。3.2THEVIEWStruts用JSP、taglib和javabean技术去实现view。JSP用来显示视图;struts通过使用自己定义的一组taglib来控制请求的流程、辅助处理结果的显示;javabean用来保存用户在JSP页面中的输入数据,他用来方便的向Action传递用户输入数据。3.3THECONTROLLERStruts用org.apache.struts.action.ActionServlet去实现controller的功能。这个servlet接收所有JSP页面发送的请求,根据一份配置文件得到处理相应用户请求的Action,并调用Action去处理用户的请求。...