这个系列的文章原本叫《Java EE 从入门到放弃》,是我在博客上发表的一个专栏,这里做一个整理和备份,希望能够为更多想要学习 Java EE 的人提供帮助。
为什么选择 Java?
想必有很多初学者会像我一样,不知选择什么语言入门。在尝试了 C、C++、C#、Python、PHP 后,我决定把 Java 作 为第一门深入学习的编程语言。这个路着实有点长......
不过放心,你可以大胆地选择 Java。如果说 C++ 是编程界的曹操,那 Java 就是司马懿,近三十年踏惊涛骇浪如履平地,熬死了无数对手。
诞生之初,Java 饱受争议。而如今,那些受到攻击的弱点一个个被解决甚至反超对手。人们开始惊叹 Java 的生命力,长期以来,Java雄踞编程语言排行榜首位,拥有最多的受众、最大的市场、最活跃的社区。
TIOBE 编程语言排行榜:https://www.tiobe.com/tiobe-index/
当然,每个时期都有冉冉升起的新星。现在 Python 如日中天,Go 野心勃勃,选择Java 的你,可以选择喝杯茶看它们闹腾了(逃......)
什么是 JavaEE?
Java EE 概念
Java EE,Java 平台企业版(Java Platform Enterprise Edition),之前称为Java 2 Platform, Enterprise Edition (J2EE),2018年3月更名为 Jakarta EE(这个名称应该还没有得到群众认可)。是 Sun 公司为企业级应用推出的标准平台,用来开发B/S架构软件。Java EE 可以说是一个框架,也可以说是一种规范。
Java EE 是 Java 应用最广泛的部分。
Java EE 与 Java SE 的区别与联系
Java EE 是在 Java SE 的基础上构建的,是对 Java SE 的扩展,增加了一些更加便捷的应用框架。
除了 EE 和 SE,还有为移动端而生的 Java ME,但目前应用不算广泛。三者的关系可以用下图概括:
Java EE主要技术
Java EE 号称有十三种核心技术。它们分别是:JDBC、JNDI、EJB、RMI、Servlet、JSP、XML、JMS、Java IDL、JTS、JTA、JavaMail和JAF。
简单介绍下需要重点关注的技术。
JDBC
Java 数据库连接,(Java Database Connectivity,JDBC)是 Java 语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。
JNDI
Java 命名和目录接口(Java Naming and Directory Interface,JNDI),是 Java 的一个目录服务应用程序界面(API),它提供一个目录系统,并将服务名称与对象关联起来,从而使得开发人员在开发过程中可以使用名称来访问对象。
EJB
企业级 JavaBean(Enterprise JavaBean, EJB)是一个用来构筑企业级应用的服务器端可被管理组件。
Servlet
Servlet(Server Applet),是用 Java 编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。
狭义的 Servlet 是指 Java 语言实现的一个接口,广义的 Servlet 是指任何实现了这个 Servlet 接口的类,一般情况下,人们将 Servlet 理解为后者。
JSP
JSP(全称JavaServer Pages)是由 Sun 公司主导创建的一种动态网页技术标准。JSP 部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成 HTML、XML 或其他格式文档的 Web 网页,然后返回给请求者。
Java EE框架
Java EE 拥有广泛市场的原因之一就是可以使用多种框架来使开发变得简单。对于框架的选择多种多样,目前比较常见的框架组合有 SSH和SSM。在后面的章节中会作详细介绍。另外Spring本身也提供了多种层次的框架供选择,可以到Spring官网了解详情。
Spring: https://spring.io/
SSH
Structs + Spring + Hibernate
SSM
Spring +SpringMVC + MyBatis
JavaEE 学习路径
一般来讲,初学者应该遵循以下路径
Servlet -> JSP -> Spring -> 组合框架
Servlet 和 JSP 在日后的开发中虽然很少直接应用,但却是各种框架的基础,应该放在开始去了解。这两部分也并不难,相信经过了 Java SE 的洗礼,只需要进行短期的学习,知道它们都是什么,就可以投入实践中了。
推荐一个学习 Java 的良心网站,里面有 Java 全栈知识,在每个阶段都设置了练习内容,谁用谁知道。
这个系列的文章我会逐步更新,主要是希望帮助大家对 Java Web 开发建立一个大概的认识,感兴趣的小伙伴可以戳下面的连接——
Java EE 极简教程(二):读懂 Servlet
Java EE 极简教程(三):为什么要用 JSP?
Java EE 极简教程(四):MVC 模式
Java EE 极简教程(五):如何理解 Spring
Java EE 极简教程(六):框架的选择
(持续更新中)
另外我用 Vue + Spring Boot 做了一个前后端分离的小项目,并做了一些教程,有兴趣的小伙伴可以点击以下链接查看——