【JavaEE】JavaEE、web 开发、框架(Spring) 、Maven

文章目录

  • 一、JavaEE 发展历程
  • 二、什么是 web 开发
    • 1、什么是 web 开发?
    • 2、web 网站的工作流程
  • 三、框架
    • 1、什么是框架?
    • 2、为什么要学框架?
    • 3、框架的优点(Spring Boot VS Servlet)
  • 四、Maven

一、JavaEE 发展历程

JavaSE: Java标准开发,适合所有行业,主要是 Java 语法。
JavaEE: Java企业开发,主要面向企业开发。

Java EE(Java Platform Enterprise Edition),Java 平台企业版。是 JavaSE 的扩展,用于解决企业级的开发需求,所以也可以称之为是一组用于企业开发的Java技术标准。所以,学习JavaEE 主要是学习 Java 在企业中如何应用。

  1. 最早的时候,Java 企业扩展还是核心 JDK 的⼀部分(核心 JDK 通常指 Java SE)
  2. 到了 1999 年,Java 企业扩展被剥离出 Java SE,成为了 Java 2的⼀部分,也就是 J2EE,或者Java 2 平台企业版(Java 2 Platform Enterprise Edition)。J2EE 这个称呼⼀直维持到2006年。
  3. 2006年,J2EE 被重命名为 Java EE,或者说 Java 平台企业版(Java Platform Enterprise Edition)。
  4. 2017年,Oracle 决定将 Java EE 捐赠给 Eclipse 基金会,但是附加条件是不允许开源组织使用Java的名号。
    这就迫使 Eclipse 基金会不得不对JavaEE进行改名。但是,在给项目命名的时候,Eclipse基金会⼀筹莫展。为了起出合适的名字,Eclipse决定开始⺠意投票,并给出了 “Jakarta EE” 和 “Enterprise Profile” 两个备选名字。最后,Jakarta 以 64.4% 的票数获胜。从此之后,Java EE 正式更名为 Jakarta EE(雅加达)。
  5. 2018年3月更名为 Jakarta EE
    但其实Jakarta这个名字并不新鲜,⼀个早期的 Apache 开源项⽬就叫 Jakarta,也是为Java而生。从民意投票上来看,Jakarta 这个名字其实也是重新回归⼤众了。
    Jakarta EE 的前世今生参考:http://www.mybatis.cn/archives/857.html

二、什么是 web 开发

Java 更多场景是业务开发,更狭义点可以理解为 web 开发。

1、什么是 web 开发?

web(World Wide Web(www))即全球广域网,也称为万维网。简单来说,就是可以通过浏览器来和我们的程序进行交互,⽐如京东,淘宝,天猫,美团等网站项目。

2、web 网站的工作流程

目前用户对PC端应用的开发结构模式主要分为 C/S 和 B/S 结构。

CS 即 Client/Server(客户机/服务器)结构。常见的 C/S 架构的应用比如 QQ,微信,各种网络游戏等等,⼀般需要安装并且与服务器进行网络通信的都属于此类。

BS 即 Browser/Server(浏览器/服务器)结构。B/S 架构全称是浏览器/服务器(Browser/Server)结构,分为 Web 浏览器、服务器程序、数据库服务三部分,可以理解为是对 C/S 架构⼀种改进,由于所有的业务逻辑都由服务器程序处理,所以客户端仅使用浏览器就可以完成所有操作,大大降低了客户端的维护成本。

架构优点缺点
C/S① 大部分业务都可以在客户端完成,充分利用本地的计算机资源;② 响应速度快;③ 个性化定制能力强;④ 面向相对固定的用户群,对信息安全的控制能力强① 需要安装客户端才能使用;② 维护成本高,任何⼀台电脑上的客户端出现问题都需要进行维护,升能过程繁琐
B/S① 客户端零维护,只需要安装⼀个浏览器即可;② 所有业务都集中在服务器端,业务扩展非常方便;③ 维护成本低,只需要维护服务器即可① 服务器安全与业务处理能力需要花费很大精力与成本;② 不同浏览器支持不尽人意

B/S 架构

  1. 通过浏览器访问前端程序,前端程序返回前端代码
  2. 前端程序调用后端程序,进行数据的获取(也可能由浏览器进行访问)
  3. 后端返回数据后,前端根据后端返回的数据进行页面渲染,显示页面

三、框架

1、什么是框架?

随着技术的发展,无论是后端开发还是前端开发,开发的时候都很少使用原生的代码,比如:JDBC、JS 等。取而代之的是各种开发框架,如:后端框架:Spring,SpringBoot,Mybatis等,前端常用的框架:Vue、Node等。这些框架都有⼀个共同的特点,就是简单、高效,这极大的提高了我们的开发效率。

那什么是框架呢?
框架(Framework),意思是框架、机制、准则。最早是源于建筑行业,是一个框子——指其约束性,也是一个架子指其支撑性,是一个基本概念上的结构,用于去解决或者处理复杂的问题。在计算机领域,可以看做是为应用开发者定制的应用骨架。

通俗的来讲:框架是实现某种功能的半成品,他提供了⼀些常用的工具类,我们在框架的基础上,可以更加高效的进行开发。也就是一些程序员把之前你需要写的,一些复杂的功能写好了,并且封装了起来,放在那里,你只需要调用他提供的接口就可以实现⼀些之前你需要花费很大功力才能实现的功能。框架就是一个封装了很多功能的东西,我们可以使用框架里的内容,然后也可以自定义一些自己的东西,就像继承重写一样。

Servlet 就是一个框架,Spring、Spring Boot、Spring MVC、Mybatis 都是一个框架。但是 Servlet 是一个旧一点的框架,Spring 开发比他高效的多,所以 Servlet 现在基本上不用了。而 Spring、Spring Boot、Spring MVC 可以看做是一家人,它们都是 Spring 家族的产品。Mybatis 是一个持久层框架,主要是用来帮助我们更好的操作数据库,通俗的来讲就是数据存在内存中只要服务器重启就会被清除,那么我们将数据存入硬盘里,也就是数据库,这样子就算服务器重启,内存中的数据被清除,我们也可以从数据库里面拿到原来的数据,这就是持久化的意思,而 Mybatis 就是一个让我们更好的来操作数据库的框架。

2、为什么要学框架?

  1. 学习框架相当于从 “小作坊” 到 “工厂” 的升级,小作坊什么都要自己做,工厂是组件式装配,特点就是高效。
  2. 框架更加易用、简单且高效。

3、框架的优点(Spring Boot VS Servlet)

使用 Spring Boot 项目框架相比于 Servlet 所具备的以下优点:

  1. 无需配置 Tomcat,点击 “运行” 按钮就可以运行项目,Spring Boot 内置了 Web 容器(可直接运行)。
  2. 快速添加外部 jar 包。
  3. 快速发布项目(使用 java -jar 方式就可以发布)。
  4. 对象自动装配。

四、Maven

这是作者写的 Maven 详解:https://blog.csdn.net/2301_79765510/article/details/144039274,所以本文就不详细介绍了,可以移步 Maven 详解篇了解 Maven

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/62717.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3项目中使用星火API

在node环境epxress中使用讯飞ai接口进行二次封装,通过ai对话回复提取,获得ai提取的文章摘要 本文章只是简单使用,更复杂功能比如调用星火API制作对话机器人可以查看文档,对于初次使用星火AI接口或许有帮助 讯飞星火大模型API-大模…

基于centos7.9容器编排Jumpserver堡垒机

Jum 基础环境容器化部署MySQL容器化部署Redis容器化部署Nginx容器化部署Koko容器化部署Guacamole容器化部署Core编排compose文件 基础环境 基于centos7.9容器化部署jumpserver tar -xf JumpServer.tar.gz导入centos7.9 docker镜像 docker load -i images/centos_7.9.2009.ta…

5G学习笔记之PRACH

即使是阴天,也要记得出门晒太阳哦 目录 1. 概述 2. PRACH Preamble 3. PRACH Preamble 类型 3.1 长前导码 3.2 短前导码 3.3 前导码格式与小区覆盖 4. PRACH时频资源 4.1 小区所有可用PRACH资源 4.2 SSB和RACH的关系 4.3 PRACH时频资源配置 1. 概述 随机接入…

14 - Java 面向对象(中级)

包(package) 声明 java的包,类似电脑系统中的文件夹,包里存放的是类文件。 当类文件很多的时候,通常会采用多个包进行存放管理,这种方式称为分包管理。 在项目中,我们将相同功能的类放到一个…

「Mac畅玩鸿蒙与硬件34」UI互动应用篇11 - 颜色选择器

本篇将带你实现一个颜色选择器应用。用户可以从预设颜色中选择,或者通过输入颜色代码自定义颜色来动态更改界面背景。该应用展示了如何结合用户输入、状态管理和界面动态更新的功能。 关键词 UI互动应用颜色选择器状态管理用户输入界面动态更新 一、功能说明 颜色…

【Maven】依赖冲突如何解决?

准备工作 1、创建一个空工程 maven_dependency_conflict_demo,在 maven_dependency_conflict_demo 创建不同的 Maven 工程模块,用于演示本文的一些点。 什么是依赖冲突? 当引入同一个依赖的多个不同版本时,就会发生依赖冲突。…

【Vue3】从零开始创建一个VUE项目

【Vue3】从零开始创建一个VUE项目 手动创建VUE项目附录 package.json文件报错处理: Failed to get response from https://registry.npmjs.org/vue-cli-version-marker 相关链接: 【VUE3】【Naive UI】<NCard> 标签 【VUE3】【Naive UI】&…

Pytorch-GPU版本离线安装

最近在复现一项深度学习的工作,发现自己的pytorch是装的cpu版的(好像当时是直接加清华源,默认是cpu版本)。从官网在线下载速度太慢,还时不时断开连接,我们可以配置conda的清华源去这个问题,但是考虑到是在用…

.NET周刊【11月第4期 2024-11-24】

国内文章 C# 入门深度学习:万字长文讲解微积分和梯度下降 https://www.cnblogs.com/whuanle/p/18551532 这篇文章主要介绍了使用 C# 进行深度学习的方法,特别是微积分在此领域的应用。作者简要讲解了极限、导数等基本概念,并展示了如何在 …

How to monitor Spring Boot apps with the AppDynamics Java Agent

本文介绍如何使用 AppDynamics Java 代理监视 Azure Spring Apps 中的 Spring Boot 应用程序。 使用 AppDynamics Java 代理可以: 监视应用程序使用环境变量配置 AppDynamics Java 代理 在 AppDynamics 仪表板中检查所有监视数据 How to monitor Spring Boot app…

使用ECharts创建带百分比标注的环形图

在数据可视化领域,环形图是一种非常有效的图表类型,它能够清晰地展示各部分与整体的关系。今天,我们将通过ECharts来创建一个带百分比标注的环形图,并详细解释如何实现这一效果。 1. 数据准备 首先,我们定义了一些基础…

基于LSTM的文本多分类任务

概述: LSTM(Long Short-Term Memory,长短时记忆)模型是一种特殊的循环神经网络(RNN)架构,由Hochreiter和Schmidhuber于1997年提出。LSTM被设计来解决标准RNN在处理序列数据时遇到的长期依赖问题…

frp软件实现网络穿透

1. 名词 1.1. 网络穿透 网络穿透是一种技术,用于解决内网设备或服务无法直接被外部网络访问的问题。通常,内网设备位于路由器后面,并没有公网 IP 地址,因此外部用户不能直接连接到这些设备。网络穿透通过一些特定的技术手段&…

leetcode3250. 单调数组对的数目 I,仅需1s

题目: https://leetcode.cn/problems/find-the-count-of-monotonic-pairs-i/description/ 不为别的,只是记录下这个超过100%,而且比原先最快的快了一个量级 不知道咋分析,反正得出结论就是,变大不变,变小…

使用docker-compose部署搜索引擎ElasticSearch6.8.10

背景 Elasticsearch 是一个开源的分布式搜索和分析引擎,基于 Apache Lucene 构建。它被广泛用于实时数据搜索、日志分析、全文检索等应用场景。 Elasticsearch 支持高效的全文搜索,并提供了强大的聚合功能,可以处理大规模的数据集并进行快速…

Zabbix 模板翻译自动化教程

在企业 IT 运维管理中,Zabbix 作为一款强大的开源监控平台被广泛应用。而 Zabbix 模板作为监控配置的重要组成部分,用来定义监控项、触发器、图形等。随着国际化的需求增加,Zabbix 模板的翻译工作变得日益重要,特别是在需要为不同…

Springboot小知识(1):启动类与配置

一、启动类(引导类) 在通常情况下,你创建的Spring应用项目都会为你自动生成一个启动类,它是这个应用的起点。 在Spring Boot中,引导类(也称为启动类,通常是main方法所在的类)是整个…

数据集-目标检测系列- 海边漫步锻炼人检测数据集 person >> DataBall

数据集-目标检测系列- 海边漫步锻炼人检测数据集 person >> DataBall DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,持续增加中。 需要更多数据资源和技术解决方案,知识星球: “DataBall - X 数据球…

NLP信息抽取大总结:三大任务(带Prompt模板)

信息抽取大总结 1.NLP的信息抽取的本质?2.信息抽取三大任务?3.开放域VS限定域4.信息抽取三大范式?范式一:基于自定义规则抽取(2018年前)范式二:基于Bert下游任务建模抽取(2018年后&a…

手机中的核心SOC是什么?

大家好,我是山羊君Goat。 常常听说CPU,中央处理器等等的,它是一个电脑或单片机系统的核心,但是对于SOC可能相比于CPU了解的人没有那么广泛。 所以SOC是什么? SOC全称是System on Chip,就是片上系统&#…