Java web的发展历史

news/2024/12/22 14:28:24 标签: 面试, 职场和发展

目录

前言:

一.Model I和Model II

1.Model I开发模式

​编辑

2.Model II开发模式

二. MVC模式


前言:

该篇文章主要介绍了Java web的发展历史,以及MVC相关内容

一.Model I和Model II

1.Model I开发模式

Model1的开发模式是:JSP+JavaBean的模式,它的核心是Jsp页面,在这个页面中,Jsp页面负责整合页面和JavaBean(业务逻辑),而且渲染页面。

它的基本流程如下:

这样的设计模式到这一个jsp页面负责了视图的展示和业务流程的控制高度耦合的结果是Jsp代码十分复杂,后期维护困难!

2.Model II开发模式

在Model II的模式下。利用jsp页面、servlet和JavaBean组件分工协作共同完成系统的所有任务。其中jsp负责数据显示逻辑任务,servlet负责程序的流程控制任务,JavaBean负责处理业务逻辑任务。

它的基本流程如下:

Model2 相对于Model1来说,职责分工更为明确,在Model1的基础上,抽取了Servlet层,体现了一个分层的思想,适合大型的项目开发!(该评判适合大型项目开发仅针对当时的情况,现在已经过时)

二. MVC模式

Spring mvc是基于Spring的一个模块,专门做web开发,可以理解为是Servlet的升级

在Spring MVC框架当中,Controller替代Servlet担负控制器的职能

M:指model:模型层,指工程当中的Java Bean,作用是处理数据

Java Bean分两类:

一类是实体类Bean:专门存储业务数据的
一类为业务处理Bean:指Servlet或Dao对象,专门处理业务逻辑和数据


V:View,视图层指项目当中的html或jsp等页面,作用是与用户进程交互,展示数据

C:Contoller,控制层,指工程当中的servlet,作用是接受请求和响应数据

MAC思想不是那个语言所特有的设计模式,也不是web应用所特有的思想,而是一种规范。

MVC思想将一个应用分成三个基本部分:Model(模型)、View(视图)和Controller(控制器),这三个部分以最少的耦合协同工作,从而提高了应用的可扩展性和可维护性。他们三者的关系如下图所示:

基本流程如下:

执行原理如下图所示:

PS:WEB-INF里面的东西不能直接访问,要从controller里面去发动请求访问 


http://www.niftyadmin.cn/n/5795445.html

相关文章

【JavaEE初阶】线程安全问题

本节⽬标 掌握什么是线程不安全及解决思路掌握 synchronized、volatile 关键字 一、多线程带来的的⻛险-线程安全 (重点) 1 观察线程不安全 package Thread.ThreadUnsecurity;public class Unsecurity {public static int count0;public static void main(String[] args) t…

Linux中部署项目

1.下载JDK17 进入 /usr/local 目录,创建 java 文件夹。并将 JDK17 上传到 java 目录下。 上传成功后,通过cd命令进入Java文件夹目录,解压 JDK17 压缩包,命令 unzip zulu17.44.53-ca-jdk17.0.8.1-linux_x64.zip。 如果报错说 u…

详解 Qt WebEngine 模块

Qt WebEngine 模块是 Qt 提供的一个功能强大的模块,用于在 Qt 应用中嵌入和显示现代网页内容。该模块基于 Chromium 引擎,支持丰富的 Web 技术(如 HTML5、CSS3、JavaScript 等),适合需要嵌入网页浏览、Web 应用、JavaS…

在 .NET 5.0 运行 .NET 8.0 教程:使用 ASP.NET Core 创建 Web API

前言 因为我本机安装的是vs2019,所以我在使用vs创建项目的时候,只能选择.NET 5.0,而无法选择.NET 8.0 在网上有看到说用vs2019使用.net 8.0 ,但是感觉不可靠,要用还是安装vs2022吧。 我因为不想要安装vs2022。 但是微…

【原生js案例】让你的移动页面实现自定义的上拉加载和下拉刷新

目前很多前端UI都是自带有上拉加载和下拉刷新功能,按照官网配置去实现即可,比如原生小程序,vantUI等UI框架,都替我们实现了内部功能。 那如何自己来实现一个上拉加载和下拉刷新的功能? 实现效果 不用浏览器的css滚动条,自定义实现滚动效果 自定义实现滚动,添加上拉加载…

对 MYSQL 架构的了解

MySQL 是一种广泛使用的关系型数据库管理系统,其架构主要包括以下几个关键部分: 一、连接层 客户端连接管理:MySQL 服务器可以同时处理多个客户端的连接请求。当客户端应用程序(如使用 Java、Python 等语言编写的程序)…

各个领域的常用编程语言

高级编程语言: Python - 易于学习,广泛应用于Web开发、数据科学、人工智能等。 Java - 用于企业级应用、安卓开发。 C# - 微软开发,主要用于.NET框架。 JavaScript - Web开发的核心语言,也可以用于服务器端编程(Node.j…

音视频入门基础:MPEG2-TS专题(21)——FFmpeg源码中,获取TS流的视频信息的实现

一、引言 通过FFmpeg命令可以获取到TS文件/TS流的视频压缩编码格式、色彩格式(像素格式)、分辨率、帧率信息: ./ffmpeg -i XXX.ts 本文以H.264为例讲述FFmpeg到底是从哪个地方获取到这些视频信息的。 二、视频压缩编码格式 FFmpeg获取TS文…