SSH-Struts(一)——基本原理「建议收藏」

2022-07-08 16:29:31 浏览数 (1)

大家好,又见面了,我是全栈君。

简单介绍

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在应用程序中担当了多种角色:负责与client的通信、处理请求、处理回复。

这种结构的长处是简单、方便,能够高速的完毕应用开发。同一时候。也由于这种结构也导致了其开发的分配以及后期的维护的困难。如图为Model1的结构(注:图片来源《STRUTS有用开发指南 基于MVC MYECLIPSE的JAVA WEB应用开发》3页)

Model2

为了改善Model中JSP页面的指责过多而带来的问题,Model2引入了Servlet充当控制器,同一时候不在JSP中写入Java代码来直接訪问数据库。这样就是程序的各个部分职责单一明白了。即JSP页面仅仅负责显示。Servlet负责流转。

这样维护起来就相对easy。同一时候开发时的分工的界限也能够非常确定。这样做的导致的缺点则是处理流程变的复杂,本来一个JSP就能够搞定的事情如今则须要分多个步骤才干够完毕。Model2的结构例如以下图(注:图片来源同上一张,5页):

Struts

Mode1和Model2仅仅是概念,Sturts则是实现。Struts是MVC的一种实现。说的准确一点应该是Model2的实现。

直接看图吧:

Struts对Model2的各个部分都做了实现,可是其最重点的是页面流转的部分。

即图中的ActionServlet struts-config.xml的部分,使得页面流转的路径非常清晰。同一时候灵活性也非常好。 小结:本篇博客主要是从MVC的概念到Struts的架构的实现一步一步的了解。从而可以知道Struts各个部分相应的MVC的什么概念。以及在应用程序中的角色。至于具体的Struts内的组件将在兴许的博客中介绍。

这样吧!

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116151.html原文链接:https://javaforall.cn

0 人点赞