【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.rhkb.cn/news/482501.html

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

相关文章

虚拟机玩游戏,轻松实现多开不同IP

嘿,亲爱的游戏小伙伴们!今天要和大家分享一个超级实用的技巧,让你在游戏中轻松多开不同IP,享受开挂的乐趣! 第一步:准备虚拟机 首先,你需要下载一个虚拟机软件,比如VMware或者Virt…

MySQL常用语句整理

《SQL必知必会》(第3版)SQL是目前使用最为广泛的数据库语言之一。本书没有涉及理论,而是从实践出发,由浅入深地讲解了广大读者所必需的SQL知识,适用于各种主流数据库。实例丰富,便于查阅。本书涉及不同平台上数据的排序、过滤和分…

【MATLAB】基于RSSI的蓝牙定位与例程,设置4个基站、二维定位

目录 ​编辑 商品描述 主要功能 技术细节 适用场景 下载链接 商品描述 这款基于接收信号强度指示(RSSI)原理的蓝牙定位程序,专为需要高效、可靠定位解决方案的开发者和研究人员设计。它能够在二维平面内,通过4个锚点实现对未…

DreamCamera2相机预览变形的处理

最近遇到一个问题,相机更换了摄像头后,发现人像角度顺时针旋转了90度,待人像角度正常后,发现 预览时图像有挤压变形,最终解决。在此记录 一人像角度的修改 先放示意图 设备预览人像角度如图1所示,顺时针旋…

鸿蒙修饰符

文章目录 一、引言1.1 什么是修饰符1.2 修饰符在鸿蒙开发中的重要性1.3 修饰符的作用机制 二、UI装饰类修饰符2.1 Styles修饰符2.1.1 基本概念和使用场景2.1.2 使用示例2.1.3 最佳实践 2.2 Extend修饰符2.2.1 基本概念2.2.2 使用示例2.2.3 Extend vs Styles 对比2.2.4 使用建议…

phpmyadmin导出wordpress数据教程

网站搬家或网站修改,需要导出数据或备份数据,一般主机控制面板最常用phpmyadmin。下面这个是一个有详细图文操作步骤的phpmyadmin导出wordpress数据教程。 1、先登陆到你主机的管理面板,找到数据库,再找到phpmyadmin,…

阅读笔记——SVD本质+计算+应用

摘要:本文讨论了正交相似对角化的方法,几何含义;方阵,非方阵的奇异值分解的计算,矫正方法以及与正交相似对角化存在区别;最后讨论了奇异值分解的应用。 1.实对称矩阵A的变换是一种线性变换,对应…

Linux网络_网络协议_网络传输_网络字节序

一.协议 1.概念 协议(Protocol) 是一组规则和约定,用于定义计算机网络中不同设备之间如何进行通信和数据交换。协议规定了数据的格式、传输方式、传输顺序等详细规则,确保不同设备和系统能够有效地互联互通。 在网络通信中&#…

数据结构 (16)特殊矩阵的压缩存储

前言 特殊矩阵的压缩存储是数据结构中的一个重要概念,它旨在通过找出特殊矩阵中值相同的矩阵元素的分布规律,把那些呈现规律性分布的、值相同的多个矩阵元素压缩存储到一个存储空间中,从而节省存储空间。 一、特殊矩阵的定义 特殊矩阵是指具有…

ehr系统建设方案,人力资源功能模块主要分为哪些,hrm平台实际案例源码,springboot人力资源系统,vue,JAVA语言hr系统(源码)

eHR人力资源管理系统:功能强大的人力资源管理工具 随着企业规模的不断扩大和业务需求的多样化,传统的人力资源管理模式已无法满足现代企业的需求。eHR人力资源管理系统作为一种先进的管理工具,能够为企业提供高效、准确、实时的人力资源管理。…

搭建AD域服务器

搭建AD域服务器 使用深信服HCI搭建AD域服务器 1、新建虚拟机 2、填写参数 3、省略安装过程 4、进入服务器管理器 5、 6、 7、 8、 9、 10、 11、 12、 13、 14、 15、 16、 17、 18、 19、 20、 21、 22、 23、

MOH: MULTI-HEAD ATTENTION AS MIXTURE-OFHEAD ATTENTION

当前的问题 多头注意力使用多个头部可以提高模型的精度。然而,并不是所有的注意力头都具有同样的重要性。一些研究表明,许多注意力头可以被修剪而不影响准确性。 此外,在多头注意中,每个注意头并行操作,最终输出是所…

Spring boot之BeanDefinition介绍

在spring框架中IOC容器进行bean的创建和管理。Bean的创建是一个比较复杂的过程,它并不像我们创建对象一样只是直接new一下就行,虽然有些bean确实就是New一下。但在Spring中可以通过一些途径对bean进行增强扩展。在这个过程中,BeanDefinition作…

Ubuntu 服务器部署 Tomcat 并配置 SSL/TLS 证书

本文目录 准备登陆云服务器安装 Java下载 tomcat 包配置防火墙浏览器访问 Tomcat 默认页面以服务的形式运行 Tomcat创建 Tomcat 用户和组创建 systemd 服务文件启动 tomcat 服务 Tomcat webapps 文件目录部署一个静态网站tomcat 的配置文件 将域名解析到服务器Tomcat 配置 SSL/…

C++小问题

怎么分辨const修饰的是谁 是限定谁不能被改变的? 在C中,const关键字的用途和位置非常关键,它决定了谁不能被修改。const可以修饰变量、指针、引用等不同的对象,并且具体的作用取决于const的修饰位置。理解const的规则能够帮助我们…

PPT不能编辑,按钮都是灰色,怎么办?

PPT文件打开之后,发现无法编辑,再仔细查看发现工具栏中的功能按钮都是灰色的,无法使用,这是什么原因?该如何解决? 原因:无法编辑PPT文件,并且功能按钮都是灰色,这是因为…

相交链表和环形链表

(一)相交链表 相交链表 思路:先分别计算出A列表和B列表的长度,判断它们的尾节点是否相等,如果不相等就不相交,直接返回空。然后让两个列表中的长的列表先走它们的差距步,然后再一起走&#xff…

ARM架构下安装新版docker及docker-compose

一、常见CPU 架构: 二、环境信息 CPU架构操作系统配置HUAWEI Kunpeng 920 5220 aarch64openEuler 22.03 (LTS-SP3)64C128g15T 三、安装docker 3.1 二进制包下载 docker-ce 社区下载地址: wget https://mirrors.nju.edu.cn/docker-ce/linux/static/s…

LeetCode-315. Count of Smaller Numbers After Self

目录 题目描述 解题思路 【C】 【Java】 复杂度分析 LeetCode-315. Count of Smaller Numbers After Selfhttps://leetcode.com/problems/count-of-smaller-numbers-after-self/description/ 题目描述 Given an integer array nums, return an integer array counts whe…

【NLP 4、数学基础】

此去经年,应是良辰美景虚设 —— 24.11.28 一、线性代数 1.标量和向量 ① 标量 Scalar 一个标量就是一个单独的数 ② 向量 Vector 一个向量是一列数 可以把向量看作空间中的点,每个元素是不同坐标轴上的坐标 向量中有几个数,就叫作几维…