【JavaEE进阶】导读

本节⽬标
  1. 了解什么是JavaEE
  2. 在JavaEE中, 我们学习什么, 如何学, 难点是什么

一、Java EE 发展历程

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

JavaSE:Java标准版 JDK
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
但是现在这个名字还未被⼤众普及, 为了更⽅便⼤家理解, 咱们课程中还是使⽤JavaEE. 以上历史⼤家作为了解即可.

二、Java EE 课程学习内容

        前⾯学习的是Java基础, JavaEE 主要学习Java的应⽤, 也就是学习Java在企业中是如何应⽤的
        Java更多场景是业务开发, 更狭义点可以理解为web开发. 所以咱们的学习也是围绕着如何使⽤Java来做web开发

1.什么是Web开发?

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

2.Web⽹站的⼯作流程

⽬前⽤⼾对PC端应⽤的开发结构模式主要分为C/S和B/S结构.
  • CS即Client/Server(客⼾机/服务器)结构. 常⻅的C/S架构的应⽤⽐如QQ,CCTALK,各种⽹络游戏等等,⼀般需要安装并且与服务器进⾏⽹络通信的都属于此类。
  • BS即Browser/Server(浏览器/服务器)结构. B/S架构全称是浏览器 / 服务器(Browser/Server)结构,分为Web浏览器、服务器程序、数据库服务三部分,可以理解为是对C/S架构⼀种改进, 由于所有的业务逻辑都由服务器程序处理, 所以客⼾端仅使⽤浏览器就可以完成所有操作,⼤⼤降低了客⼾端的维护
客户机(APP) 和 浏览器 都是 客户端
架构优点缺点
C/S•⼤部分业务都可以在客⼾端完成,充分利⽤本地的计算机资源
•响应速度快
•个性化定制能⼒强
•⾯向相对固定的⽤⼾群,对信息安全的控制能⼒强
•需要安装客⼾端才能使⽤
•维护成本⾼,任何⼀台电脑上的客⼾端出现问题都需要进⾏维护,升级过程繁琐
B/S•客⼾端零维护,只需要安装⼀个浏览器即可
•所有业务都集中在服务器端,业务扩展⾮常⽅便
•维护成本低,只需要维护服务器即可
•服务器安全与业务处理能⼒需要花费很⼤精⼒与成本
•不同浏览器⽀持不尽⼈意

咱们这儿的JavaEE项⽬都是基于 B/S架构的.

  1. 通过浏览器访问前端程序. 前端程序返回前端代码.
  2. 前端程序调⽤后端程序, 进⾏数据的获取(也可能由浏览器进⾏访问)
  3. 后端返回数据后 , 前端根据后端返回的数据进⾏⻚⾯渲染, 显⽰⻚⾯

3. 学习内容

1. 前端Web开发[了解]
  • HTML
  • CSS
  • JavaScript
  • JQuery
本部分⽬标是能够借助⽹络看懂前端代码即可. 不做深⼊
2. 后端Web开发[重点]
  • Maven
  • Spring家族框架: Spring, SpringBoot,Spring MVC
  • Mybatis
  • Linux
本部分为JavaEE课程的重. 会从0到1完成项⽬的开发到部署.

三、Java EE 怎么学

        在JavaEE中, 我们主要是对各种框架的学习, 以及如何把这些框架应⽤在企业中, 来实现⼀些web开发.
那什么是框架呢? 学习哪些框架呢

1 什么是框架

        随着技术的发展, ⽆论是后端开发还是前端开发, 开发的时候都很少使⽤原⽣的代码,⽐如:JDBC、JS 等. 取⽽代之的是各种开发框架. 如:后端框架:Spring, SpringBoot, Mybatis等,前端常⽤的框架: Vue、Node等. 这些框架都有⼀个共同的特点, 就是简单, ⾼效. 这极⼤的提⾼了我们的开发效率. 那什么是框架呢?
        框架(Framework) , 意思是框架、机制、准则. 最早是源于建筑⾏业,是⼀个框⼦⸺指其约束性,也是⼀个架⼦⸺指其⽀撑性. 是⼀个基本概念上的结构,⽤于去解决或者处理复杂的问题。在计算机领域, 可以看做是为应⽤开发者定制的应⽤⻣架.
        
        通俗的来讲: 框架是实现某种功能的半成品, 他提供了⼀些常⽤的⼯具类, 我们在框架的基础上, 可以更加⾼效的进⾏开发.
        也就是⼀些程序员把之前你需要写的, ⼀些复杂的功能写好了, 并且封装了起来, 放在那⾥, 你只需要调⽤他提供的接⼝就可以实现⼀些之前你需要花费很⼤功⼒才能实现的功能.
⽐如盖房⼦: 之前你需要⼀砖⼀⽡⾃⼰盖, 有了框架之后, 就有了⼀个现成的架⼦, 你只需要往现成的 架⼦上添东西就可以了.
框架可以理解为⼀个⽑坯房. 有了这个⽑坯房之后, 你就可以⾃⼰装修成你想要的样⼦.
没有这个⽑坯房的话, 你就需要⾃⼰盖房⼦主体结构等.
⽐如制作⾐服, 之前制作⾐服需要⾃⼰测量, 计算, 画图, 现在可以直接买现成的图纸, 按照图纸来剪裁 就可以了.

2 学习哪些框架

        Java EE 共涉及5个框架的学习: Spring, Spring Boot, Spring MVC,Mybatis,Mybatis-Plus
        其中Spring, SpringBoot, Spring MVC 可以看做是⼀家⼈, 属于Spring 家族的产品.
        Mybatis 是⼀个持久层框架, 主要是⽤来帮助我们更好的操作数据库.

3. 难点

1. 建⽴web开发的思维模式. 写代码不仅仅是为了实现某个功能, 更是学习解决问题的思维⽅式
2. 先使⽤, 再理解, 会导致刚开始⽐较懵, 不知其所以然. 切忌不可深陷其中.
3. 涉及简单的软件⼯程的设计思想(前后端分离思想, 后端⼯程的分层思想)
4. 理解前后端交互的过程
5. 遇到的问题更加多样, 除了代码带来的问题, 还有环境带来的问题(各种缓存, 导致现象看起来莫名其妙).
6. 需要⼤量的反复练习, 来加深对这个知识点的理解.
7. 知识点上下⽂会经常有关联,需要仔细听才能搞懂各个知识点的逻辑关系.

 4 特点

1. 练习是学习JavaEE的关键,⼀定要多练.
2. 和以往知识学习的不同, 框架的学习更建议先使⽤再理解.
3. 关于框架实现思想和原理, 由于学习⽅式的变化, 先使⽤再理解, 会导致刚开始学会⽐较懵, 这个没关系,先保证会⽤,会⽤之后再回过头来看实现思想和原理就会豁然开朗.
4. ⽆需过度纠结概念, 以避免钻⽜⻆尖, 同⼀个词汇, 在不同的上下⽂中, 表⽰的概念不同, 要结合上下⽂去理解, 更多以实践为主.

5 我们能收获什么

1. 项⽬开发能⼒
        a. 掌握主流的前后端分离开发模式, 使⽤主流的SSM框架实现简单项⽬或者模块的开发
        b. 掌握SSM从搭建到发布的全部流程
        c. 掌握常⻅的web开发解决⽅案, ⽐如登录认证等
        d. 掌握数据库表的设计, 操作能⼒
2. ⾃我解决问题的能⼒
        a. 学习查看⽇志, 分析⽇志, 具备⾃我解决问题和调试SSM项⽬的能⼒
3. 了解⼀些企业开发标准
        a. 作为⼀名准职业⼈, 我们不仅需要掌握如何实现这个功能, 也需要了解企业开发规范.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Javascript事件循环流程分析

基础概念 事件循环(Event Loop):事件循环是JavaScript运行时环境中的一个循环机制,它不断地检查调栈用和任务队列。当调用栈为空时,事件循环会首先检查微任务队列,并执行其中的所有任务。只有当微任务队列…

单元/集成测试解决方案

在项目开发的前期针对软件单元/模块功能开展单元/集成测试,可以尽早地发现软件Bug,避免将Bug带入系统测试阶段,有效地降低HIL测试的测试周期,也能有效降低开发成本。单元/集成测试旨在证明被测软件实现其单元/架构设计规范、证明被…

【C++】C++的单例模式、跟踪内存分配的简单方法

二十四、C的单例模式、跟踪内存分配的简单方法 1、C的单例模式 本小标题不是讨论C的语言特性,而是一种设计模式,用于确保一个类在任何情况下都只有一个实例,并提供一个全局访问点来获取这个实例。即C的单例模式。这种模式常用于资源管理&…

LangGPT结构化提示词编写实践

基础任务 如果直接询问大模型strawberry有几个r,大模型会给出错误的答案: 这里我们引入思维连Chain of Thought,我们让大模型遍历一遍单词,每次累加得到最终结果 之前怎么都做不对的题,让大模型一步一步思考&#xf…

【Python系列】使用 Poetry 进行 Python 项目管理

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Linux内核USB2.0驱动框架分析--USB设备枚举过程

一 USB特点 1.1 USB协议版本介绍: USB1.0/1.1(low/fullspeed):传输速率最大为12Mbps,是较早的USB协议版本。 USB2.0(highspeed):传输速率最大为480Mbps,相比USB1.0/1.1…

解决ultralytics的YOLO模型训练中验证集Loss为NaN(或mAP为0)的问题

前言 在使用ultralytics库的YOLO模型时,比如YOLOv8进行目标检测模型训练,遇到一个非常奇怪的问题:训练过程中的验证损失(loss)出现了NaN,而验证的评价指标如mAP50却能正常计算(有时mAP都也为0&…

微信支付现金红包,实现转账到零钱包功能

大家好,我是小悟。 上次说到微信商家转账到零钱要出新玩法,可能会对某些特定的业务产生影响,详细请阅读【微信商家转账到零钱新玩法,却是个不好接受的消息】。 微信支付还有个现金红包的产品,也可以实现转账到用户零…

掌握均值回归,外汇交易盈利新视角

外汇交易是全球金融市场的重要组成部分,它不仅用于国际间结算债权债务,还提供了一个充满盈利机会的金融市场。在这个市场中,货币价格的波动为投资者带来了丰富的交易机会。本文,EagleTrader将详细介绍外汇交易中的一种常用策略——…

mac-泛洪

泛洪攻击的类型 TCP SYN Flood: 攻击者向目标服务器发送大量的 TCP SYN 请求,但不完成握手过程。服务器为每个请求分配资源,最终可能耗尽其连接表,导致无法处理正常请求。 UDP Flood: 攻击者向目标发送大量的 UDP 数据…

【Windows修改Docker Desktop(WSL2)内存分配大小】

记录一下遇到使用Docker Desktop占用内存居高不下的问题 自从使用了Docker Desktop,电脑基本每天都需要重启,内存完全不够用,从16g扩展到24,然后到40G,还是不够用;打开Docker Desktop 运行时间一长&#x…

【06】A-Maven项目SVN设置忽略文件

做Web项目开发时,运用的是Maven管理工具对项目进行管理,在项目构建的过程中自动生成了很多不需要SVN进行管理的文件,SVN在对源码进行版本管理时,需要将其忽略,本文给出了具体解决方案。 SVN设置忽略Maven项目中自动生成…

【数据分享】2024年我国省市县三级的生活服务设施数量(46类设施/Excel/Shp格式)

人才市场、售票处、旅行社等生活服务设施的配置情况是一个城市公共基础设施完善程度的重要体现,一个城市生活服务设施种类越丰富,数量越多,通常能表示这个城市的公共服务水平越高! 本次我们为大家带来的是我国各省份、各地级市、…

【算法】Floyd多源最短路径算法

目录 一、概念 二、思路 三、代码 一、概念 在前面的学习中,我们已经接触了Dijkstra、Bellman-Ford等单源最短路径算法。但首先我们要知道何为单源最短路径,何为多源最短路径 单源最短路径:从图中选取一点,求这个点到图中其他…

【商用存储】希捷磁盘阵列部署实践

文章目录 一、前言1、盘阵类型2、性能规格 二、功能说明1、RAID配置1.1、虚拟池(virtual pool)1.2、线性池(linear pool) 2、磁盘休眠2.1、RBOD2.1.1、功能说明2.1.2、规格限制 3、ADAPT配置3.1、说明3.2、规格限制3.3、配置建议3…

Android Room框架使用指南

Room框架使用指南 项目效果创建应用,配置Gradle1、在app Module的build.gradle配置kapt插件2、配置依赖:3、配置依赖包版本号创建实体类创建DAO1、DAO简介2、WordDao设计以及相关注解说明3、监听数据变化添加Room数据库1、Room数据库简介2、实现Room数据库实现存储库实现View…

Read excerpt(eighteen)——The hidden value of Corporate Social Responsibility

“There is one and only one social responsibility of businesses,” wrote Milton Friedman, a Nobel prize-winning economist, “That is, to use its resources and engage in activities …

纯血鸿蒙系统 HarmonyOS NEXT自动化测试实践

1、测试框架选择 hdc:类似 android 系统的 adb 命令,提供设备信息查询,包管理,调试相关的命令ohos.UiTest:鸿蒙 sdk 的一部分,类似 android sdk 里的uiautomator,基于 Accessibility 服务&…

基于java宠物医院管理系统的设计与实现

一、环境信息 开发语言:JAVA JDK版本:JDK8及以上 数据库:MySql5.6及以上 Maven版本:任意版本 操作系统:Windows、macOS 开发工具:Idea、Eclipse、MyEclipse 开发框架:SpringbootHtmljQueryMysql…

施工企业为什么要用工程项目管理软件?工程项目管理软件的用处是什么?

施工企业一定会遇到哪些问题?工人怠工、材料浪费、数据造假、工期拖延、质量问题、安全隐患等。这些问题正在悄然侵蚀建施工业的经济效益。每一个环节的失控都可能导致巨大的经济损失,还可能损害企业的声誉。面对日益复杂的工程管理环境,如何…