Struts由入门到精通(第一章)- Struts Framework介绍

1.1 Struts Framework介绍

 

  Struts是一种当前非常流行的一个Java Web 框架(Web Framework)。

  我们先来看看什么是Framework

  Framework概念并不是很新了,伴随着软件开发的发展,在多层的软件开发项目中,可重用、易扩展的,而且是经过良好测试的软件组件,越来越为人们所青睐。这意味着人们可以将充裕的时间用来分析、构建业务逻辑的应用上,而非繁杂的代码工程。于是人们将相同类型问题的解决途径进行抽象,抽取成一个应用框架。这也就是我们所说的Framework

     Framework的体系提供了一套明确机制,从而让开发人员很容易的扩展和控制整个Framework开发上的结构。 通常,Framework的结构中都有一个“命令和控制”组件("command and control" component)——Framework Factory and Manager

Struts由入门到精通(第一章)- Struts Framework介绍

 

  通过基于请求响应(Request-Response)模式的应用Framework,基本上有如下几个表现逻辑结构组成。

  控制器Controller)——控制整个Framework中各个组件的协调工作。

  业务逻辑层Business Logic)——对Framwork本身来说,这里仅仅只是概念和几个提够服务的基础组件,真正的实现与客户的业务逻辑接轨,还需要开发人员在Framework上再次扩展。

  数据逻辑层Data Logic)——绝大应用系统都需要涉及到数据交互,这一层次主要包括了数据逻辑和数据访问接口。对于数据逻辑来说,如果你了解数据建模(Data Modeling)可能就很容易理解。   

 

  Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework 采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。

  Struts有如下的主要功能:

  1. 包含一个controller servlet,能将用户的请求发送到相应的Action对象。

  2. JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。

  3. 提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。

  Struts官方网站:http://jakarta.apache.org/struts

  Struts2.X最新的稳定版本:2.1.8下载地址:http://struts.apache.org/download.cgi#struts218

  Struts1.0最新的稳定版本:1.3.10下载:http://struts.apache.org/download.cgi#struts1310

  1、模型(Model

  模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑.

  2、视图(View

  视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。

  3、控制器(controller)

  控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。

 

Struts由入门到精通(第一章)- Struts Framework介绍

 

MVC 式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性

  早期的程序中,如果不注意对数功能和显示的解耦合,常常会导致程序的复杂及难以维护。很多VB,DelphiRAD程序都有这种问题。甚至现在的C#,Java有时候也会出现把业务逻辑写在显示模块中的现象

  管MVC设计模式很早就提出,但在Web项目的开发中引入MVC却是步履维艰。主要原因:一是在早期的Web项目的开发中,程序语言和HTML的分离一直难以实现。CGI程序以字符串输出的形式动态地生成HTML内容。后来随着脚本语言的出现,前面的方式又被倒了过来,改成将脚本语言书写的程序嵌入在HTML内容中。这两种方式有一个相同的不足之 处即它们总是无法将程序语言和HTML分离。二是脚本语言的功能相对较弱,缺乏支持MVC设计模式的一些必要的技术基础。直到基于J2EEJSP Model 2问世时才得以改观。它用JSP技术实现视图的功能,用Servlet技术实现控制器的功能,用JavaBean技术实现模型的功能

  JSP Model 1 JSP Model 2

  SUNJSP出现早期制定了两种规范,称为Model1Model2。虽然Model2在一定程度上实现了MVC,但是它的应用用并不尽如人意



Struts由入门到精通(第一章)- Struts Framework介绍

 

Model 1

 

 

 

 

Struts由入门到精通(第一章)- Struts Framework介绍

Model 2

 

model2 容易使系统出现多个Controller,并且对页面导航的处理比较复杂

  有些人觉得model2仍不够好,于是Craig R. McClanahan 20005 提交了一个WEB frameworkJava Community.这就是后来的
Struts.

  20017月,Struts1.0,正式发布。该项目也成为了Apache Jakarta
子项目之一



  Struts 质上就是在Model2的基础上实现的一个MVC架构。它只有一个中心控制器,他采用XML定制转向的URL。采用Action来处理逻辑

你可能感兴趣的:(设计模式,mvc,jsp,应用服务器,struts)