【JavaEE】JavaEE、web 开发、框架(Spring) 、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

Tephra旨在构建一个稳定、高效、易于集群、快速扩展的JavaEE开发框架。目前,Tephra已经具备了以下特性: 提供类级别的热更新,但仅建议在需要快速修正严重BUG、并且无法立即进行全更新时使用。 提供全冗余方式的缓存,自动在每个节点间同步缓存数据,而每个节点都仅从本地内存中获取缓存数据,从而提供高效的执行效率,并且当部分节点宕机时仍旧能正常提供服务。当然,也允许使用Redis提供统一的中心节点缓存。此特性可用于多节点负载时提供不停服更新。 提供数据库读写分离、及读负载均衡,并且允许配置多个不同的数据库,甚至允许在运行期间增加新的数据库配置,并自动映射ORM。允许执行标准的SQL或存储过,同时提供了一个简单、轻量的ORM工具,并集成Hibernate、MyBatis为复杂ORM需求提供支持。 提供MongoDB工具实现对NoSQL的支持,支持负载均衡。 提供轻量级、快速响应的控制器,允许设置最大并发峰值,以确保在突如其来的并发攻击后能继续正常提供服务;也允许设置单IP最大并发量,确保小量IP并发攻击时仍能正常提供服务。允许发布为HTTP(S)WebSocket、Socket服务。 提供JavaScript脚本引擎支持,允许JavaScript与JavaBean自由交互,并且可以发布JavaScript为服务;以及使用Javacript作为复杂规则验证器。 提供Hadoop存取支持。 模块化开发,使用注解简化配置,增强代码可读性与维护性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值