【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. 作为⼀名准职业⼈, 我们不仅需要掌握如何实现这个功能, 也需要了解企业开发规范.

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

.NET 黑名单上传 突破WAF防护的SoapShell (免杀版)

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…

多线程和线程同步复习

多线程和线程同步复习 进程线程区别创建线程线程退出线程回收全局写法传参写法 线程分离线程同步同步方式 互斥锁互斥锁进行线程同步 死锁读写锁api细说读写锁进行线程同步 条件变量生产者消费者案例问题解答加强版生产者消费者 总结信号量信号量实现生产者消费者同步-->一个…

MySQL_第13章_视图

1. 常见的数据库对象 2. 视图概述 2.1 为什么使用视图? 视图一方面可以使用表的一部分而不是所有的表,另一方面也可以针对不同的用户制定不同的查询视图。 2.2 视图的理解 视图是一种虚拟表,本身是不具有数据的,占用很少的内存…

Python数据分析-Netflix数据分析和可视化

一、研究背景 在当今时代,流媒体技术迅猛发展,如风暴般席卷全球娱乐产业,重塑了大众的娱乐消费模式。Netflix 在这一潮流中一马当先,成为全球首屈一指的在线流媒体平台。自 2007 年开启流媒体服务后,Netflix 就马不停…

数据集市是什么?有什么优势?

一、数据集市是什么? 1、数据集市的产生背景: 因为数据仓库的工作范围和成本比较巨大,技术部门必须对所有的以全企业的眼光对待任何一次决策分析,这样就变成了成本高、耗时高的大项目,而且这种集中式的数据处理方式往往…

Cross Modal Transformer: Towards Fast and Robust 3D Object Detection

代码地址 https://github.com/junjie18/CMT 1. 引言 在本文中,我们提出了Cross-Modal Transformer(CMT),这是一种简单而有效的端到端管道,用于鲁棒的3D对象检测(见图1(c)&#xf…

Oracle数据库 查看SQL执行计划的几种方法

前言 在日常的运维工作中,SQL优化是DBA的进阶技能,SQL优化的前提是要看SQL的执行计划是否正确,下面分享几种查看执行计划的方法,每一种方法都各有各的好处,可以根据特定场景选择某种方法。 一.使用AUTOTRACE查看执行…

简单介绍Nginx服务器的反向代理、负载均衡

欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…

域名+服务器+Nginx+宝塔使用SSL证书配置HTTPS

前言 在我的前面文章里,有写过一篇文章 linux服务器宝塔从头部署别人可访问的网站 在这篇文章,有教学怎么使用宝塔和买的服务器的公网IP,以及教怎么打包vue和springboot去部署不用域名的网站让别人访问 那么,这篇文章将在这个…

Chromium 中chrome.webRequest扩展接口定义c++

一、chrome.webRequest 注意 :从 Manifest V3 开始,"webRequestBlocking" 权限不再适用于大多数扩展程序。以 "declarativeNetRequest" 为例,它允许使用 declarativeNetRequest API。除了 "webRequestBlocking&quo…

.NET中通过C#实现Excel与DataTable的数据互转

在.NET框架中,使用C#进行Excel数据与DataTable之间的转换是数据分析、报表生成、数据迁移等操作中的常见需求。这一过程涉及到将Excel文件中的数据读取并加载至DataTable中,以便于利用.NET提供的丰富数据处理功能进行操作,同时也包括将DataTa…

多个NVR同时管理EasyNVR多品牌NVR管理工具/设备:IP常见问题解决方案

随着视频监控技术的不断发展,NVR(网络视频录像机)已经成为现代安防系统的重要组成部分。而为了更高效地管理多个品牌的NVR设备,EasyNVR这一多品牌NVR管理工具应运而生。然而,在实际使用过程中,尤其是在多个…

虚幻引擎 CEO 谈元宇宙:发展、策略与布局

在当今科技领域,元宇宙无疑是最热门的话题之一。Epic Games 首席执行官 Tim Sweeney 对元宇宙的未来发展充满信心,他认为开放元宇宙将融合娱乐、游戏和科技产业,带来一个光明的未来。本文将深入探讨采访中的关键内容,分析元宇宙的…

支付宝与华为终端联手,移动支付即将进入“碰时代”

大家好,我是小悟。 支付宝与华为终端强强联手,达成了战略合作!这可不仅仅是个简单的合作哦,它预示着我们的移动支付方式即将迎来一场革命性的变革,正式进入“碰时代”! 支付宝,作为全球领先的…

常用机器人算法原理介绍

一、引言 随着科技的不断发展,机器人技术在各个领域得到了广泛应用。机器人算法是机器人实现各种功能的核心,它决定了机器人的行为和性能。本文将介绍几种常用的机器人算法原理,包括路径规划算法、定位算法和运动控制算法。 二、路径规划算法…

【go从零单排】迭代器(Iterators)

🌈Don’t worry , just coding! 内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。 📗概念 在 Go 语言中,迭代器的实现通常不是通过语言内置的迭代器类型&#x…

Java 连接操作 MySQL 数据库(增删查改操作)

环境 MySQL 5.5 版本eclipseMySQL 连接驱动 mysql-connector-java-5.1.18-bin.jar mysql8.0之前的版本与之后的版本使用的jar包是不同的,在使用时也有一定的区别。这里,我的 MySQL 版本为 5.5。 准备工作 将 jar 包添加到项目中,右键项目&a…

STL---迭代器

本文来源:《C语言程序设计》第10章 理解迭代器对于理解STL框架并掌握STL的使用至关重要。 迭代器是泛化的指针,STL算法利用迭代器对存储在容器中的元素序列进行遍历,迭代器提供了访问容器中每个元素的方法。 虽然指针也是一种迭代器&#…

TSMI252012PMX-3R3MT功率电感详细解析

TSMI252012PMX-3R3MT功率电感详细解析 一、引言 在现代电子设备的不断小型化和高性能化的趋势下,功率电感作为电路中的关键元件,其性能的好坏直接影响到整个电路的稳定性和效率。TSMI252012PMX-3R3MT作为深圳市时源芯微科技有限公司(TimeSo…

Ubuntu22.04安装DataEase

看到DataEase的驾驶舱,感觉比PowerBI要好用一点,于是搭建起来玩玩。Dataease推荐的操作系统是Ubuntu22.04/Centos 7。 下载了Ubuntu22.04和DataEase 最新版本的离线安装包 一.安装ubuntu22.04 在安装的时候,没有顺手设置IP地址信息&#xff…