云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 论文基于J2EE Struts的教学管理信息系统

论文基于J2EE Struts的教学管理信息系统

  • 62 次阅读
  • 3 次下载
  • 2025/6/4 6:33:57

=设计(论文)

(控制器)接受用户请求调用模型响应用户请求选择视图显示响应结果业务处理选择视图用户请求(视图)显示模型状态接受数据更新请求把用户输入数据传给控制器(模型)代表应用程序状态响应状态查询处理业务流程通知视图业务状态更新状态查询通知数据更新 图2.3 MVC模式处理过程

2.5.3 为什么要使用MVC模式

首先,最重要的是应该有多个视图对应一个模型的能力。在目前用户需求的快速变化下,可能有多种方式访问应用的要求。

其次,由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。

最后,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。一个应用的业务流程或者业务规则的改变只需改动MVC的模型层。 2.5.4 MVC模式的优点

MVC要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。

(1)把软件分成三个部分,同时它们之间是松耦合的关系,极大地减少了它们之间的相互影响。把显示、业务逻辑数据分开,这样一方面的改变不会影响另一方面,或者说把影响降低到了最小的程度,这样增加了组件的灵活性,可以在不更改视图的情况下,更改控制器,以达到更改视图与用户交互的响应模式,同样,也可以在不改变模型和控制器的情况下改变用户的显示界面,满足用户的显示要求,多个视图能可以共享一个模型。

(2)增加了组件的可移植性。因为模型是独立于视图的,所以可以把一个模型独立地移植到新平台工作,而这样需要做的只是在新平台上对视图和控制器进行修改。

9

=设计(论文)

(3)提高了代码和组件的重用性。在基于MVC模式构架的软件中,同一个模型组件可以被多个视图共享,而一个视图可以使用多个模型。

(4)程序的可扩展性。MVC模式的引入,系统的模块化程度高,这些模块之间是松耦合的关系,就象电源的插座、插头,可以很轻松地更换,视图和控制器对象,也可以根据需要动态地打开或者关闭、甚至在运行期间进行对象替换。 2.6 struts框架 2.6.1 Struts框架简介

所谓的框架(Framework)是指软件的架构方式。为框架的体系提供了一套明确机制,从而让开发人员很容易的扩展和控制整个应用的结构,框架是可以进行扩展的软件系统或子系统的半成品

一个成功的软件需要有一个成功的架构,但软件架构的建立是一个复杂而又持续改进的过程,不可能对每个不同的项目做不同的架构,而总是尽量重用以前的架构,或开发出尽量通用的架构方案,Struts就是其中一个。

Struts是一项开放源码项目,它为Java Web应用提供了MVC框架,它是一种适合于多层软件开发项目的,可重用的,易扩展的,而且是经过良好测试的软件框架。Struts为Web应用提供了一个通用的框架,使得开发人员可以把精力用在如何解决实际业务问题上。此外,Struts框架提供了许多供扩展定制的地方,应用程序可以方便的扩展框架,来更好的适应用户的实际需求。Struts由一组相互协作的类(组件)、Servlet以及JSP标签库组成。框架中所使用的组件:

1, ActionServlet控制器,它提供了一个中心位置来主要负责将Http客户请求组装后,根据配置文件指定的描述,转发到适当的处理器。 2, Action响应用户请求,业务逻辑的实现者

3,ActionForm负责封装JSP视图中的表单数据,它的子类的属性与表单中的字段一一对应。

4, ActionMapping帮助控制器将请求映射到Action类,并且将Action类与ActionForm bean相关联。

5, ActionForward用来指示操作转移的对象,就是对将要转向的视图的地址的一个封装。

6, ActionError用来存储和回收错误

10

=设计(论文)

7, Struts标记库可以减轻开发显示层次的工作 2.6.2 Struts的配置文件

Struts 的核心是控制器ActionServlet ,而ActionServlet 的核心是配置文件是struts - config.xml( XML即可扩展标记语言,HTML算是它的一个子集,是一种用于创建自定义标记的标记语言) , 主要用于Struts框架的配置,该配置文件的主要作用是建立控制器与模型之间的联系。它描述了控制器将客户请求映射到对应处理的请求法则,同时还描述了客户提供的数据与ActionForm 组件的对应映射关系。此外,该配置文件的另一作用是将逻辑名映射到物理路径,使得物理路径与程序路径无关。在该配置文件中,每个Action的映射信息都通过一个元素来配置。这些配置信息在系统启动的时候被读入内存,供Struts在运行期间使用。 2.6.3 Struts实现MVC机制

Struts实质上就是在JSP Model2的基础上实现的一个MVC框架。使用Struts框架可以减少使用MVC架构模式来开发Web应用的时间。其开源性,使开发者能更深入的了解其内部实现机制。

在Struts框架中,模型由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionFrom里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等;

控制器接受请求并决定将这个请求发往何处,由ActionServlet和Action来实现,ActionServlet类是Struts框架中的核心组件。ActionServlet主要负责接收HTTP请求信息,根据配置文件Struts-config.xml的配置信息,把请求转发给适当的Action对象。如果该Action对象不存在,ActionServlet会先创建这个Action对象。Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程;

视图由一组JSP文件构成,JSP页面显示数据并负责向模型提交页面数据,在这些文件之中只有标签,还包括Struts框架中的ActionForm Bean。Struts框架利用ActionForm Bean来进行视图和控制器之间表单数据的传递。 2.6.4 Struts工作流程

采用Struts的Web应用,在应用启动时就会加载并初始化ActionServlet,ActionServlet从Struts-config.xml文件中读取配置信息

11

=设计(论文)

流程为:

(1) 用户发出一个以. do 作为后缀的HTTP 请求,所有的.do 请求均被控制器ActionServlet 截取

(2) ActionServlet通过对struts-config.xml查询路径的映射,映射标明改请求是否对应FromBean,如果没有,就返回用户请求路径无效的信息。有则查看是否己经生成FromBean实例,如果没有则创建一个,把客户提交的表单数据保存到ActionForm对象中

(3)如果请求FromBean,根据配置信息决定是否需要进行表单验证。如果需要验证,就调用ActionForm的validate()方法,如果验证成功,则进入Action中,否则依照规则返回相应的JSP页

(4) ActionServlet根据根据映射文件ActionMapping实例包含的映射信息决定将请求转发给哪个Action。如果相应的Action实例不存在,就先创建这个实例,Action对象接受请求,从ActionForm中获得数据,然后调用Action的execute()方法,进行数据处理

(5) Action运算结束后,execute()方法返回一个ActionForward对象,依照控制器里的mapping查询,寻找forward的下一个目标,JSP或者另一个Action,进行跳转。 (6)如果完成跳转,结果显示给用户,则完成此次请求。

客户端从发出请求到获得响应整个过程的图解说明如图2.4所示:

图2.4 Struts工作流程

2.6.5 Struts中的数据传递

12

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

=设计(论文) (控制器)接受用户请求调用模型响应用户请求选择视图显示响应结果业务处理选择视图用户请求(视图)显示模型状态接受数据更新请求把用户输入数据传给控制器(模型)代表应用程序状态响应状态查询处理业务流程通知视图业务状态更新状态查询通知数据更新 图2.3 MVC模式处理过程 2.5.3 为什么要使用MVC模式 首先,最重要的是应该有多个视图对应一个模型的能力。在目前用户需求的快速变化下,可能有多种方式访问应用的要求。 其次,由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。 最后,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。一个应用的业务流程或者业务规则的改变只需改动MVC的模型层。 2.5.4 MVC模式的优点 MVC要

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com