概述
简介
Struts框架是MVC的一个实现,它很好的结合了JSP、Servlet、JavaBean、Taglib等技术。它为MVC的各层提供了良好的支持,就像房地产商盖房子时先盖的大楼框架。只要引入到项目就相当于你已经有了基本的雏形。ok,在概念的层面去理解偏技术的知识,我不认为这是一个好的出发点。对于这类知识的学习最好的方法应该是,动手。所以,我们不寻求准确的概念定义,而是从使用中来认知。
回顾
MVC
作为MVC的一个实现,学习之前我们先简单的回顾一下MVC的内容。MVC架构模式,将一个应用程序的出入、处理、输出流程分为:模型层、视图层、控制层。MVC模式下的各层关系和功能如下图(注:图片来源于《征服JSP企业网站开发》443页):有关MVC的东西都在这张图里了,这里要提个题外话:MVC和三层的关系。听到也看到不少关于这两个的讨论,结论基本都是这两种模式没有关系。个人认为这是从两种不同的角度去优化程序结构的。MVC是从处理流程的角度去划分:显示、控制、处理;而三层则是从功能的角度出发:显示、逻辑处理、数据访问。这两种模式是不冲突的!他们的关系也就是这么个关系了,不能简单的说是有或者没有关系,有点太粗暴了。
Model1
Model1也是MVC的一种,通过JSP+JavaBean来实现。因为JSP页面可以很方便的写入JavaBean的代码涉及业务逻辑,也可以结合Html用用于显示,又可以通过Javascript来控制流转。也就是说JSP在应用程序中担当了多种角色:负责与客户端的通信、处理请求、处理回复。这样的结构的优点是简单、方便,可以快速的完成应用开发。同时,也因为这样的结构也导致了其开发的分配以及后期的维护的困难。如图为Model1的结构(注:图片来源《STRUTS实用开发指南 基于MVC+MYECLIPSE的JAVA WEB应用开发》3页)Model2
为了改善Model中JSP页面的指责过多而带来的问题,Model2引入了Servlet充当控制器,同时不在JSP中写入Java代码来直接访问数据库。这样就是程序的各个部分职责单一明确了,即JSP页面只负责显示,Servlet负责流转。这样维护起来就相对容易,同时开发时的分工的界限也可以很确定。这样做的导致的缺点则是处理流程变的复杂,本来一个JSP就可以搞定的事情现在则需要分多个步骤才可以完成。Model2的结构如下图(注:图片来源同上一张,5页):Struts
Mode1和Model2只是概念,Sturts则是实现。Struts是MVC的一种实现,说的准确一点应该是Model2的实现。直接看图吧:小结:本篇博客主要是从MVC的概念到Struts的架构的实现一步一步的了解,从而能够知道Struts各个部分对应的MVC的什么概念,以及在应用程序中的角色。至于详细的Struts内的组件将在后续的博客中介绍。这样吧!
最后
以上就是专一哑铃为你收集整理的SSH-Struts(一)——基本原理简介回顾Struts 的全部内容,希望文章能够帮你解决SSH-Struts(一)——基本原理简介回顾Struts 所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复