当前位置 : 主页 > 编程语言 > java >

JSP编程专题3之系统开发模型

来源:互联网 收集:自由互联 发布时间:2021-06-25
- 系统开发模型,即系统架构,是指整合应用系统程序大的结构。经常提到的系统结构有两种:三层架构与MVC。这两种结构既有区别,又有联系。但是这两种结构的使用,均是为了降低

-  系统开发模型,即系统架构,是指整合应用系统程序大的结构。经常提到的系统结构有两种:三层架构与MVC。这两种结构既有区别,又有联系。但是这两种结构的使用,均是为了降低系统模块间的耦合度。

-  传统的JavaWeb项目的系统开发模型大体经历了四个阶段:纯JSP、JSP+JavaBean的Model1、MVC的Model2、MVC+三层架构。



1、开发模型:

a、纯JSP开发模型:

650) this.width=650;" src="http://img.558idc.com/uploadfile/allimg/210625/1H12HN5-0.png" title="截图00.png" alt="78376a313fbad375569f960a42e9eb91.png" d="14540328" s="55e_328" t="png">

-  “纯JSP”开发模型中所有业务处理、数据显示功能都是由JSP页面完成。其缺点是很明显的:JSP页面中的代码结构很乱,显示功能与业务处理功能代码没有划分,维护和升级相当麻烦。


2、JSP + JavaBean的Model1开发模型:

650) this.width=650;" src="http://img.558idc.com/uploadfile/allimg/210625/1H12HN5-0.png" title="截图01.png" alt="9668659d70d71d89790a44da06ac2e43.png" d="14540329" s="1c2_c39" t="png">

-  这种开发模型将绝大多数业务处理功能交给了专门的JavaBean来完成,而JSP页面主要完成数据显示功能。已经较“纯JSP页面”的开发模型有了很大的改进。但是该开发模式对于来自客户端的请求的解析,以及对于JavaBean对象的选择与创建,仍然由JSP页面通过Java代码块来完成的。也就是说,JSP页面还承担这大量的请求解析、业务处理功能。


-  JavaBean根据其具体的概念的不同,可以分为两大类:广义JavaBean与狭义JavaBean:

650) this.width=650;" src="http://img.558idc.com/uploadfile/allimg/210625/1H12HN5-0.png" title="截图02.png" alt="05a6765d3fbb10eacfc4db3437a50d89.png" d="14540330" s="7ec_694" t="png">

-   所谓广义JavaBean,就是指一般意义上的Java类。其主要功能有两个:承载数据和业务处理,所以广义的JavaBean有分为两类:数据承载Bean和业务处理Bean。数据承载Bean就是指的是实体类,专门用于承载业务数据的,如Student、User等。而业务处理Bean则是指Service或者Dao对象,专门用于处理用户提交请求的。

-  狭义JavaBean,指的是符合SUN公司提出的“JavaBean”规范的Java类。JavaBean规范规定,满足以下四点的Java类,称之为JavaBean:

a、该类需要是公共的,即public class...

b、该类需要实现Serializable接口。

c、该类需要具备无参数构造器,无论是默认的,还是显示定义的。

d、该类若有成员变量,则这些成员变量必须是私有的,且需要提供这些私有成员变量的公共getter和setter。

-  在实际项目中,实体类一般会被定义为狭义的JavaBean。即,广义的JavaBean的数据承载Bean一般会被定义为满足“JavaBean规范”的狭义JavaBean。


3、MVC的Model2开发模型:

650) this.width=650;" src="http://img.558idc.com/uploadfile/allimg/210625/1H12HN5-0.png" title="截图03.png" alt="571e03f137dc52d3d0a27a9b84b989bc.png" d="14540331" s="e1e_7f1" t="png">

-  MVC,即Model模型、View视图以及Controller控制器。

a、View:视图,为用户提供使用界面,与用户直接进行交互。

b、Model:模型,承载数据,并对用户提交请求进行计算的模块。其分为两类,一类称之为数据承载Bean,一类称之为业务处理Bean。所谓数据承载Bean是指实体类,专门用于承载业务数据的,如Student、User等。而业务处理Bean则是指Servlet或者Dao对象,专门用于处理用户提交请求的。

c、Crotroller:控制器,用于将用户请求转发给相应的Model进行处理,并根据Model的计算结果向用户提交相应响应。


4、MVC + 三层架构开发模型:

a、三层架构的概念:

650) this.width=650;" src="http://img.558idc.com/uploadfile/allimg/210625/1H12HN5-0.png" title="截图04.png" alt="f493cdfe47125e56e58b983c86410585.png" d="14540332" s="68c_ea8" t="png">

-  三层架构是指:视图层View、服务层Service,与持久层Dao。它们分别完成不同的功能。

i、View层:表现层、视图层,对于Web开发来说,也称之为Web层。接收用户提交请求的代码在这里编写。

ii、Service层:业务层、逻辑层,系统的业务逻辑主要在这里完成。

iii、Dao层:持久层、数据访问层,直接操作数据库的代码在这里编写。DAO,即Data Access Object,数据访问对象。

-  为了更好的降低各层间的耦合度,在三层架构程序设计中,采用面向抽象编程。即上层对下层的调用,是通过接口实现的。而下层对上层的真正服务提供者,是下层接口的实现类。(即相对于Service层来说,View层是上层,Dao层是下层。)


b、MVC + 三层架构:

650) this.width=650;" src="http://img.558idc.com/uploadfile/allimg/210625/1H12HN5-0.png" title="截图05.png" alt="6dd78c9ca622d84e82b3e93060f28c18.png" d="14540333" s="d6b_219" t="png">

-  所谓“MVC + 三层架构”的开发模型,主要是指将MVC的业务处理Model分为两层:Service层和Dao层,分别用于处理业务逻辑和持久化操作。

-  “MVC + 三层架构”的开发模型,是传统的JavaWeb项目的最常用的开发模型。

网友评论