回顾 | 学习笔记

简介: 快速学习回顾,介绍了回顾系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【Java Web开发系列课程 - Struts2框架入门:回顾】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/537/detail/7291


回顾

 

内容介绍:

一、设计模式

二、MVC 概述

三、Struts2概述

四、Struts1、struts2、webwork 关系

五、为什么要使用 struts2框架

六、 struts2的流程


一、设计模式

Model1--- Model2(mvc 框架)

(1)框架实际是一个模板、模型,半成品。

我们使用框架,也就是在框架本身的结构下填写相应的内容,按照框架的规则去做事情,框架的根本原因是没有技术含量的重复劳动太多。

(2)程序员为了偷懒(不做重复的劳动),从而出现了框架

(3)当一个方法中有部分的代码在不断的重复使用时---抽出来作为一个单独的方法

当有很多同类型的方法时---抽出来作为一个类

当有很多个类在重复处理一类事情时---抽出来作为一个 jar 包---框架

(4)要学习框架,主要是学习框架的规则,在框架的规则下去做事。

框架是为了满足绝大多数人而设计的,针对部分人的应用以及部分领域的应用,框架可能并不适合,那就需要我们自己设计出适合自己的框架,所以在很多公司里面都有自己的框架。

(5)使用框架的原因:提高开发效率

(6)当项目达到一定规模时,维护起来很麻烦,所以提出了 mvc 设计模式,即Model2,对业务的控制及业务分离开来,形成 mvc 框架。

 

二、MVC 概述

Mvc 是三个单词的缩写,分别为:模型(Model),视图(view)和控制Controller)。MVC 模式的目的就是实现 web 系统的职能分工。

Model 层实现系统中的业务逻辑,通常可以用 JavaBean 或 EJB 来实现。

View 层用于与用户的交互,通常用 JSP 来实现。

Controller 层是 Model 与 view 之间勾通的桥梁,可以分派用户的请求并选择恰当的图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。

 

三、Struts2概述

struts 这个名字来源于在建筑和旧式飞机中使用的金属支架。struts2比内部实现更加复杂,但是使用起来更加简单,功能更加强大。

struts 是 apache 基金会 jakarta 项目组的一个开源项目,采用 MvC 模式,能够很好的帮助我们提高开发 web 项目的效率。

Struts 主要采用了 servlet 和 isp 技术来实现,把 serxlet、isp、标签库等技术整合到整个框架中。

 

四、Struts1、struts2、webwork,关系

struts1是第一个广泛流行的 mwc 框架,使用及其广泛。

但是,随着技术的发展,尤其是 usF、ajax 等技术的兴起,struts1有点跟不上时代的步伐,以及他自己在设计上的一些硬伤,阻碍了他的发展。

同时,大量新的 mvc,框架渐渐大踏步发展,尤其是 webworko。 webwork是open5xmphony 组织开发的。Webwork,实现了更加优美的设计,更加强大而易用的功能。

后来,struts 和 webwork 两大社区决定合并两个项目,完成 struts2.事实上,struts2是以 webwork 为核心开发的,更加类似于 webwork 框架,跟 struts1相差甚远。

 

五、为什么要使用 struts2框架

框架可以大大提高我们的开发效率。并且框架是一种主动式的设计,我们使用框架必须遵守框架制定好的开发流程。

Rickard 0berg(webwork 和 jiboss 的创造者)曾经说过:"框架的强大之处不是源自他能让你做什么,而是他不能让你做什么"。也就是说,使用框架进行开发,我们可以使用标准的流程工作,避免了开发的混乱,避免杂乱的 jsp 造成的混乱。

struts2无疑是当今最新的 mvc 框架,发展前景无可限量。事实上,早已经在众多项目中开始使用。

mvc 框架做的事情:

1、将 url 映射到一个 java 类中

2、获取用户提交的数据

3、渲染数据

4、控制显示视图

简单介绍了 mvc 框架

truts2介绍,下载

搭建框架:

1、新建项目

2、导入 jar 包

3、配置核心过滤器 web. xml

4、编辑 struts. Xml


六、struts2的流程

当用户提交一个请求,服务器接收,并且交给struts2的核心过滤器来进行处理,struts2的过滤器调用struts2的一系列处理器来进行处理如:解析 struts.xml 配置文件,和用户提交的请求对比,如果找不到返回404,如果找到进行下一步处理。

直到调用对应的 Action 类中的 execute 方法执行,执行完后再进行一系列处理到核心过滤器。

由核心过滤器返回给服务器,服务器对浏览器进行相应的响应。

image.png

image.png

image.png

struts2的简单流程及具体流程如上表所示

 

相关文章
|
机器学习/深度学习 数据可视化 计算机视觉
YOLOv8改进 | 2023注意力篇 | MSDA多尺度空洞注意力(附多位置添加教程)
YOLOv8改进 | 2023注意力篇 | MSDA多尺度空洞注意力(附多位置添加教程)
899 0
|
10月前
|
测试技术 API 开发者
通义千问Qwen2.5-Max登上大模型盲测榜单全球前十,数学及编程能力夺冠
通义千问Qwen2.5-Max登上大模型盲测榜单全球前十,数学及编程能力夺冠
|
人工智能 物联网 Shell
今日 AI 开源|共 12 项|开源的DIY健康追踪项目,基于低成本的智能戒指构建私人的健康监测应用
本文介绍了多个开源项目,涵盖了从量子计算错误纠正到视频生成和编辑的广泛应用领域。这些项目展示了AI技术在不同领域的创新和应用潜力。
928 10
今日 AI 开源|共 12 项|开源的DIY健康追踪项目,基于低成本的智能戒指构建私人的健康监测应用
|
SQL 关系型数据库 MySQL
体验使用DAS实现数据库SQL优化,完成任务可得羊羔绒加厚坐垫!
本实验介绍如何通过数据库自治服务DAS对RDS MySQL高可用实例进行SQL优化,包含购买RDS实例并创建数据库、数据导入、生成并优化慢SQL、执行优化后的SQL语句等实验步骤。完成任务,即可领取羊羔绒加厚坐垫,限量500个,先到先得。
426 19
|
机器学习/深度学习 传感器 边缘计算
基于深度学习的图像识别技术在自动驾驶中的应用####
随着人工智能技术的飞速发展,深度学习已成为推动自动驾驶技术突破的关键力量之一。本文深入探讨了深度学习算法,特别是卷积神经网络(CNN)在图像识别领域的创新应用,以及这些技术如何被集成到自动驾驶汽车的视觉系统中,实现对复杂道路环境的实时感知与理解,从而提升驾驶的安全性和效率。通过分析当前技术的最前沿进展、面临的挑战及未来趋势,本文旨在为读者提供一个全面而深入的视角,理解深度学习如何塑造自动驾驶的未来。 ####
563 1
|
XML 开发框架 前端开发
在WPF应用中,结合阿里矢量图标库使用Geometry图标
在WPF应用中,结合阿里矢量图标库使用Geometry图标
|
存储 监控 Linux
以 CentOS 7 为例,详细介绍了如何对未使用的硬盘进行分区、格式化和挂载的最佳实践
随着业务发展和技术进步,有效管理服务器磁盘空间变得至关重要。本文以 CentOS 7 为例,详细介绍了如何对未使用的硬盘进行分区、格式化和挂载的最佳实践。通过合理规划分区和设置挂载点,可以充分利用磁盘资源,提高系统的稳定性和可维护性。具体步骤包括确认硬盘、创建分区、格式化分区、创建挂载点、临时和永久挂载分区,以及最佳实践建议。
320 3
|
图形学 开发者
【Unity光照艺术手册】掌握这些技巧,让你的游戏场景瞬间提升档次:从基础光源到全局光照,打造24小时不间断的视觉盛宴——如何运用代码与烘焙创造逼真光影效果全解析
【8月更文挑战第31天】在Unity中,合理的光照与阴影设置对于打造逼真环境至关重要。本文介绍Unity支持的多种光源类型,如定向光、点光源、聚光灯等,并通过具体示例展示如何使用着色器和脚本控制光照强度,模拟不同时间段的光照变化。此外,还介绍了动态和静态阴影、全局光照及光照探针等高级功能,帮助开发者创造丰富多样的光影效果,提升游戏沉浸感。
709 1
|
存储 Shell 数据处理
深入探讨Bash脚本中的数组
【8月更文挑战第20天】
241 0
|
存储 Unix Linux
深入解析Linux命令:pwd
`pwd`命令在Linux中显示当前工作目录。它默认显示逻辑路径,含符号链接,但用`-P`参数可显示物理路径。在脚本中,`pwd`能确定脚本执行目录,常用于路径操作。注意事项包括:脚本中直接调用`pwd`获取目录,理解符号链接处理,以及考虑命令的跨平台兼容性。了解这些能提升系统管理和脚本编写效率。