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

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

相关文章

【韩老师零基础30天学会Java 】07章 面向对象编程(基础)

第七章 面向对象编程(基础) 1. 类与成员方法 类与对象关系示意图 示例:代码 import java.util.Scanner;public class IntDetail{public static void main(String[] args){Cat cat1new Cat();cat1.name"小花";cat1.age12;cat1.co…

超子物联网HAL库笔记:定时器[外部模式]篇

超子物联网 HAL库学习 汇总入口: 超子物联网HAL库笔记:[汇总] 写作不易,如果您觉得写的不错,欢迎给博主来一波点赞、收藏~让博主更有动力吧! 一、资源介绍:STM32F103C8T6定时器资源介绍 高级定时器&#x…

谷歌浏览器的自动翻译功能如何开启

在当今全球化的网络环境中,能够流畅地浏览不同语言的网页是至关重要的。谷歌浏览器(Google Chrome)提供了一项强大的自动翻译功能,可以帮助用户轻松跨越语言障碍。本文将详细介绍如何开启和使用谷歌浏览器的自动翻译功能&#xff…

【大数据技术基础 | 实验十】Hive实验:部署Hive

文章目录 一、实验目的二、实验要求三、实验原理四、实验环境五、实验内容和步骤(一)安装部署(二)配置HDFS(三)启动Hive 六、实验结果(一)启动结果(二)Hive基…

使用 Vue 配合豆包MarsCode 实现“小恐龙酷跑“小游戏

作者:BLACK595 “小恐龙酷跑”,它是一款有趣的离线游戏,是Google给Chrome浏览器加的一个有趣的彩蛋。当我们浏览器断网时一只像素小恐龙便会出来提示断网。许多人认为这只是一个可爱的小图标, 但当我们按下空格后,小恐…

案例精选 | 河北省某检察院安全运营中异构日志数据融合的实践探索

河北省某检察院是当地重要的法律监督机构,肩负着维护法律尊严和社会公平正义的重要职责。该机构依法独立行使检察权,负责对犯罪行为提起公诉,并监督整个诉讼过程,同时积极参与社会治理,保护公民权益,推动法…

7天用Go从零实现分布式缓存GeeCache(学习)(3)

目录结构 ├── geecache │ ├── byteview.go │ ├── cache.go │ ├── consistenthash │ │ ├── consistenthash.go │ │ └── consistenthash_test.go │ ├── geecache.go │ ├── go.mod │ ├── http.go │ ├── lru │ …

力扣 LeetCode 142. 环形链表II(Day2:链表)

解题思路&#xff1a; 使用set判断是否重复添加&#xff0c;如果set加入不进去证明之前到达过该节点&#xff0c;有环 public class Solution {public ListNode detectCycle(ListNode head) {Set<ListNode> set new HashSet<>();ListNode cur head;while (cur …

CLion配置QT开发环境

一、将qmake工程转为cmake工程&#xff08;方法一&#xff1a;用工具转换并做适当修改&#xff09; 1、工具链接&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1grW2QY3sW8X2JaHWM_ePPw 提取码&#xff1a;7at4 工具源码:https://github.com/milahu/qmake2cmake 2、执行…

《AI 使生活更美好》

《AI 使生活更美好》 当我们步入科技腾飞的时代&#xff0c;人工智能&#xff08;AI&#xff09;如同一颗璀璨的新星&#xff0c;照亮了我们生活的每一个角落。它以惊人的速度改变着我们的世界&#xff0c;从医疗到教育&#xff0c;从交通到娱乐&#xff0c;AI 正以前所未有的力…

项目模块十七:HttpServer模块

一、项目模块设计思路 目的&#xff1a;实现HTTP服务器搭建 思想&#xff1a;设计请求路由表&#xff0c;记录请求方法与对应业务的处理函数映射关系。用户实现请求方法和处理函数添加到路由表&#xff0c;服务器只接受请求并调用用户的处理函数即可。 处理流程&#xff1a; …

ODOO学习笔记(1):ODOO的SWOT分析和技术优势是什么?

ODOO是一款开源的企业管理软件套件&#xff0c;广泛应用于企业管理中。它由比利时的Odoo S.A.公司开发&#xff0c;最初名为OpenERP&#xff0c;现在已经成为全球流行的ERP解决方案之一。ODOO集成了ERP、CRM、电子商务和CMS等多种功能模块&#xff0c;适用于各种规模的企业应用…

出海攻略,如何一键保存Facebook视频素材

提词宝&#xff1a;快速保存Facebook视频教程 目标人群与痛点 目标人群&#xff1a;经常在Facebook上浏览视频但不知道如何保存的用户&#xff0c;包括学生、内容创作者、营销从业者&#xff0c;以及需要保存重要视频素材的人。 痛点与场景&#xff1a; 看到喜欢的视频&…

【Playwright + Python】系列(十)利用 Playwright 完美处理 Dialogs 对话框

哈喽&#xff0c;大家好&#xff0c;我是六哥&#xff01;今天我来给大家分享一下如何使用playwight处理Dialogs对话框&#xff0c;面向对象为功能测试及零基础小白&#xff0c;这里我尽量用大白话的方式举例讲解&#xff0c;力求所有人都能看懂&#xff0c;建议大家先收藏&…

LLM - 使用 LLaMA-Factory 微调大模型 Qwen2-VL SFT(LoRA) 图像数据集 教程 (2)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/143725947 免责声明&#xff1a;本文来源于个人知识与公开资料&#xff0c;仅用于学术交流&#xff0c;欢迎讨论&#xff0c;不支持转载。 LLaMA-…

自动驾驶3D目标检测综述(一)

文章地址&#xff1a;[2206.09474] 3D Object Detection for Autonomous Driving: A Comprehensive Survey (arxiv.org) 这篇综述简单易懂&#xff0c;非常合适对自动驾驶和3D目标检测感兴趣的小白阅读&#xff0c;对相关算法进行初步理解。 目录 一、摘要 &#xff08;一&a…

回归分析学习

学习视频链接&#xff1a; 【回归分析,一套搞定】&#xff01;全网最通俗易懂的回归分析教程&#xff0c;我终于学明白了&#xff01;_哔哩哔哩_bilibili 相关分析&#xff1a;2个或两个以上的变量之间的相关程度及大小的统计方法&#xff1b; 回归分析&#xff1a;存在相关关…

LabVIEW 实现 find_nearest_neighbors 功能(二维平面上的最近邻查找)

1. 背景介绍 在数据分析和图像处理领域&#xff0c;经常需要查找给定点的最近邻居点。在LabVIEW中&#xff0c;计算二维平面上多个点之间的欧氏距离&#xff0c;并返回距离最近的几个点是一种常见操作。find_nearest_neighbors 函数用于实现这个功能。 2. 欧氏距离计算 在二维…

后端:Aop 面向切面编程

文章目录 1. Aop 初步学习面向切面编程&#xff0c;EnableAspectJAutoProxy2. AOP的核心概念3. 前置通知&#xff08;Before&#xff09;4. 后置通知&#xff08;After&#xff09;5. 返回通知&#xff08;AfterReturning&#xff09;6. 异常通知&#xff08;AfterThrowing&…

无插件H5播放器EasyPlayer.js网页web无插件播放器vue和react详细介绍

EasyPlayer.js H5播放器&#xff0c;是一款能够同时支持HTTP、HTTP-FLV、HLS&#xff08;m3u8&#xff09;、WS、WEBRTC、FMP4视频直播与视频点播等多种协议&#xff0c;支持H.264、H.265、AAC、G711A、Mp3等多种音视频编码格式&#xff0c;支持MSE、WASM、WebCodec等多种解码方…