本节目标
1.了解什么是 Java EE
2.在 Java EE 课程中,我们学习什么,如何学,课程难点是什么
3.课程学完之后,我们可以做什么
1.Java EE 发展历程
Java EE(Java Platform Enterprise Edition),Java 平台企业版,是 Java SE 的扩展,用于解决企业级的开发需求,所以也可以称之为是一组用于企业开发的 Java 技术标准,所以,学习 Java EE 主要是学习 Java 在企业中如何应用
闲聊:
Java SE:Java 标准版(JDK 的内容,在各行各业都可以使用,包括 SE、数据结构、EE初阶)
Java EE:Java 企业版
1.最早的时候,Java 企业扩展还是核心,JDK 的一部分(核心 JDK 通常指 Java SE)
2.到了 1999 年,Java 企业扩展被剥离出 Java SE,成为了 Java 2 的一部分,也就是 J2EE,或者 Java 2 平台企业版(Java 2 Platform Enterprise Edition).J2 EE 这个称呼一直维持到 2006 年
3.2006年,J2EE 被重命名为 Java EE,或者说 Java 平台企业版(Java Platform Enterprise Edition)
4.2017年,Oracle 决定将 Java EE 捐赠给 Eclipse 基金会,但是附加条件是不允许开源组织使用 Java 的名号
这就迫使 Eclipse 基金会不得不对 Java EE 进行改名,但是,在给项目命名的时候,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 的前世今生参考:Jakarta EE 的前世今生 - MyBatis中文官网
但是现在这个名字还未被大众普及,为了更方便大家理解,咱们课程中还是使用 Java EE,以上历史大家作为了解即可
2.Java EE 课程学习内容
前面的课程中,学习的是 Java 基础,Java EE 主要学习 Java 的应用,也就是学习 Java 在企业中是如何应用的
Java 更多场景是业务开发,更狭义点可以理解为 Web 开发,所以咱们的学习也是围绕着如何使用 Java 来做 Web 开发
答疑:什么是网站?什么是网页?
一个网站由多个网页组成,比如 LeetCode 是一个网站👇
那么以下这些都是它的网页👇
2.1 什么是 Web 开发?
Web(World Wide Web)即全球广域网,也称为万维网
简单来说,就是可以通过浏览器来和我们的程序进行交互
比如京东,淘宝,天猫,美团等网站项目
2.2 Web 网站的工作流程
目前用户对 PC 端应用的开发结构模式主要分为 C/S 和 B/S 结构
CS 即Client/Server(客户机/服务器)结构,常见的 C/S 架构的应用比如 QQ,CCTALK,各种网络游戏等等,一般需要安装并且与服务器进行网络通信的都属于此类
BS 即Browser/Server(浏览器/服务器)结构,B/S 架构全称是浏览器 / 服务器(Browser/Server)结构,分为 Web 浏览器、服务器程序、数据库服务三部分,可以理解为是对 C/S 架构一种改进,由于所有的业务逻辑都由服务器程序处理,所以客户端仅使用浏览器就可以完成所有操作,大大降低了客户端的维护成本
架构 优点 缺点 C/S ①大部分业务都可以在客户端完成,充分利用本地的计算机资源
②响应速度快
③个性化定制能力强
④面向相对固定的用户群,对信息安全的控制能力强
①需要安装客户端才能使用
②维护成本高,任何一台电脑的客户端出现问题都需要进行维护,升能过程繁琐
B/S ①客户端零维护,只需要安装一个浏览器即可
②所有业务都集中在服务器端,业务扩展非常方便
③维护成本低,只需要维护服务器即可
①服务器安全与业务处理能力需要花费很大精力与成本
②不同浏览器支持不尽人意
闲聊:客户端在不同的地方有不同的含义
在这里表示 APP
在网络部分就表示使用方
咱们课程中的 Java EE 项目都是基于 B/S 架构的
1.通过浏览器访问前端程序,前端程序返回前端代码
2.前端程序调用后端程序,进行数据的获取(也可能由浏览器进行访问)
3.后端返回数据后,前端根据后端返回的数据进行页面渲染,显示页面
2.3 课程学习内容
课程内容分 2 部分:
1.前端 Web 开发[了解]
HTML
CSS
JavaScript
JQuery
本部分课程的目标是能够借助网络看懂前端代码即可,不做深入学习
2.后端 Web 开发[重点]
Maven
Spring 家族框架:Spring,SpringBoot,Spring MVC
Mybatis
Linux
本部分课程为 Java EE 课程的重点,会带领大家从 0 到 1 完成项目的开发到部署
3.Java EE 怎么学
在 Java EE 课程中,我们主要是对各种框架的学习,以及如何把这些框架应用在企业中,来实现一些 Web 开发
那什么是框架呢?学习哪些框架呢?
3.1 什么是框架
随着技术的发展,无论是后端开发还是前端开发,开发的时候都很少使用原生的代码,比如:JDBC、JS 等,取而代之的是各种开发框架,如:后端框架:Spring,SpringBoot,Mybatis 等,前端常用的框架:Vue、Node 等,这些框架都有一个共同的特点,就是简单、高效,这极大的提高了我们的开发效率
那什么是框架呢?
框架(Framework),意思是框架、机制、准则,最早是源于建筑行业,是一个框子——指其约束性,也是一个架子——指其支撑性,是一个基本概念上的结构,用于去解决或者处理复杂的问题
在计算机领域,可以看做是为应用开发者定制的应用骨架
通俗的来讲:框架是实现某种功能的半成品,他提供了一些常用的工具类,我们在框架的基础上,可以更加高效的进行开发
也就是一些程序员把之前你需要写的,一些复杂的功能写好了,并且封装了起来,放在那里,你只需要调用他提供的接口就可以实现一些之前你需要花费很大功力才能实现的功能
比如盖房子:之前你需要一砖一瓦自己盖,有了框架之后,就有了一个现成的架子,你只需要往现成的架子上添东西就可以了,框架可以理解为一个毛坯房,有了这个毛坯房之后,你就可以自己装修成你想要的样子,没有这个毛坯房的话,你就需要自己盖房子主体结构等
比如制作衣服,之前制作衣服需要自己测量,计算,画图,现在可以直接买现成的图纸,按照图纸来剪裁就可以了
3.2 学习哪些框架
Java EE 课程共涉及 4 个框架的学习:Spring,Sprinig Boot,Spring MVC,Mybatis,Mybatis-Plus
其中 Sring,SpringBoot,Spring MVC 可以看做是一家人,属于 Spring 家族的产品
Mybatis 是一个持久层框架,主要是用来帮助我们更好的操作数据库
3.3 如何学习
多练习!!!
多练习!!!
多练习!!!
Java EE 课程和以往课程不同,以往课程大多先讲理论,再讲使用
Java EE 课程学习理念是先使用,再理解
以往课程:理论>实践,Java EE 课程 实践>>理论(远远大于)
整个课程代码量比较大,切忌不可眼高手低,如果不勤加练习,那一定是学不好的
4.课程中的难点
1.建立 Web 开发的思维模式,写代码不仅仅是为了实现某个功能,更是学习解决问题的思维方式(解决问题的思维>技术)
2.先使用,再理解,会导致刚开始比较懵,不知其所以然,切忌不可深陷其中
3.涉及简单的软件工程的设计思想(前后端分离思想,后端工程的分层思想)
4.理解前后端交互的过程
5.遇到的问题更加多样,除了代码带来的问题,还有环境带来的问题(各种缓存,导致现象看起来莫名其妙)
6.需要大量的反复练习,来加深对这个知识点的理解
7.知识点上下文会经常有关联,需要仔细听才能搞懂各个知识点的逻辑关系
5.本门课程的特点
1.课堂练习是学习本门课程的关键,一定要多练
2.和以往知识学习的不同,框架的学习更建议先使用再理解
3.关于框架实现思想和原理,由于学习方式的变化,先使用再理解,会导致刚开始学会比较懵,这个没关系,先保证会用,会用之后再回过头来看实现思想和原理就会豁然开朗
4.无需过度纠结概念,以避免钻牛角尖,同一个词汇,在不同的上下文中,表示的概念不同,要结合上下文去理解,更多以实践为主
6.学完课程,我们能收获什么
1.项目开发能力
a.掌握主流的前后端分离开发模式,使用主流的SSM框架实现简单项目或者模块的开发
b.掌握 SSM 从搭建从发布的全部流程
闲聊:
SSH:Spring Struts Hibernate
SSM:Spring SpringBoot MyBatis
有的也叫 SpringBoot SpringMVC MyBatis
这个叫法可以说是随着时代发展而变化的,但主流框架还是:Spring MyBatis
c.掌握常见的 Web 开发解决方案,比如登录认证等
d.掌握数据库表的设计,操作能力
2.自我解决问题的能力
a.学习查看日志,分析日志,具备自我解决问题和调试 SSM 项目的能力
3.了解一些企业开发标准
a.作为一名准职业人,我们不仅需要掌握如何实现这个功能,也需要了解企业开发规范