JavaEE 从入门到放弃(一):Java EE 是个什么东西「建议收藏」

从整体上认识JavaEE,看看JavaEE的主要内容。

大家好,又见面了,我是你们的朋友全栈君。

为什么选择 Java

想必有很多初学者会像我一样,不知选择什么语言入门。在尝试了 C、C++、C#、Python、PHP 后,我决定把 Java作 为第一门深入学习的编程语言。这个路着实有点长…

不过放心,你可以大胆地选择 Java。如果说 C++ 是编程界的曹操,那 Java 就是司马懿,近三十年踏惊涛骇浪如履平地,熬死了无数对手。

诞生之初,Java 饱受争议。而如今,那些受到攻击的弱点一个个被解决甚至反超对手。人们开始惊叹 Java 的生命力,长期以来,Java雄踞编程语言排行榜首位,拥有最多的受众、最大的市场、最活跃的社区。

TIOBE 编程语言排行榜:https://www.tiobe.com/tiobe-index/

就在我写这篇博客的今天(18.07.09),我看到了一则消息,JDK 11中将会引入新的GC(Garbage Collection,垃圾回收)算法 ZGC,能够处理 TB 级别的 HEAP GC,GC 停顿时间不超过10s,意味着,几乎所有的民用场合,都可以用Java来写了,而且可以随心所欲地造对象,不用像以前一样小心翼翼了。

当然,每个时期都有冉冉升起的新星。现在 Python 如日中天,Go 野心勃勃,选择Java 的你,可以选择喝杯茶看它们闹腾了(逃…)

什么是 JavaEE

JavaEE 概念

Java EE,Java 平台企业版(Java Platform Enterprise Edition),之前称为Java 2 Platform, Enterprise Edition (J2EE),2018年3月更名为 Jakarta EE(这个名称应该还没有得到群众认可)。狭义的 Java EE 是 Sun 公司为企业级应用推出的标准平台,用来开发B/S架构软件,可以说是一个框架,也可以说是一种规范。

广义的 Java EE 包含各种框架,其中最重要的就是 Spring 全家桶。Spring 诞生之初是为了改进 Java EE 开发的体验,后来逐渐成为了 Java Web 开发的实际标准。后面的文章里,会对 Spring 进行进一步的说明。

JavaEE 与 JavaSE 的区别与联系

JavaEE 是在 JavaSE 的基础上构建的,是对 JavaSE 的扩展,增加了一些更加便捷的应用框架。

除了 EE 和 SE,还有为移动端而生的 JavaME,但目前应用不算广泛。三者的关系可以用下图概括:

JavaSE\EE\ME关系

JavaEE主要技术

JavaEE 号称有十三种核心技术。它们分别是:JDBCJNDIEJB、RMI、ServletJSP、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)是一个用来构筑企业级应用的服务器端可被管理组件。不过这个东西在 Spring 问世后基本凉凉了,知道是什么就行。

Servlet

Servlet(Server Applet),是用 Java 编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。

狭义的 Servlet 是指 Java 语言实现的一个接口,广义的 Servlet 是指任何实现了这个 Servlet 接口的类,一般情况下,人们将 Servlet 理解为后者。

JSP

JSP(全称JavaServer Pages)是由 Sun 公司主导创建的一种动态网页技术标准。JSP 部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成 HTML、XML 或其他格式文档的 Web 网页,然后返回给请求者。

JavaEE框架

JavaEE 拥有广泛市场的原因之一就是可以使用多种框架来使开发变得简单。对于框架的选择多种多样,目前比较常见的框架组合SSHSSM。在后面的章节中会作详细介绍。另外Spring本身也提供了多种层次的框架供选择,可以到Spring官网了解详情。

Spring: https://spring.io/

SSH

Structs + Spring + Hibernate

SSM

Spring +SpringMVC + MyBatis

JavaEE 学习路径

一般来讲,初学者应该遵循以下路径

Servlet -> JSP -> Spring -> 组合框架

Servlet 和 JSP 在日后的开发中虽然很少直接应用,但却是各种框架的基础,应该放在开始去了解。这两部分也并不难,相信经过了 JavaSE 的洗礼,只需要进行短期的学习,知道它们都是什么,就可以投入实践中了。

至于上面提到的其它内容,在实践中遇到了再去了解也不妨,现在也只能在一些老旧的应用中看到这些东西了。JDBC 可以稍微重点关注一下,其它的知道有这么个词就差不多啦。

推荐一个学习 Java 的良心网站,里面有 Java 全栈知识,在每个阶段都设置了练习内容,谁用谁知道——

「How2J 的 Java 教程」


这个系列的文章我会逐步更新,主要是希望帮助大家对 Java Web 开发建立一个大概的认识,感兴趣的小伙伴可以戳下面的连接——

JavaEE 从入门到放弃(二):一文读懂 Servlet
JavaEE 从入门到放弃(三):为什么要用 JSP?
JavaEE 从入门到放弃(四):MVC 模式
JavaEE 从入门到放弃(五):如何理解 Spring
JavaEE 从入门到放弃(六):框架的选择
(持续更新中)

另外我用 Vue + Spring Boot 做了一个前后端分离的小项目,并做了一下实践教程,有兴趣的小伙伴可以戳以下链接——

Vue + Spring Boot 项目实战

在学习中遇到问题,或者想与我交流学习经验,可以给我发送邮件,地址是:evan_nightly@163.com

有兴趣听我吹牛扯皮的同学可以关注我的公号,只讲故事,不谈技术。
heihei

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128441.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月15日 下午11:40
下一篇 2022年4月16日 上午6:00


相关推荐

  • cuda安装错误_n卡图形驱动安装失败

    cuda安装错误_n卡图形驱动安装失败win7安装cuda9时出现图形驱动程序安装失败,解决办法是右键计算机>管理>服务和应用程序>服务>找到“WindowsInstaller”,右键选择“启动”参考自http

    2022年8月4日
    9
  • vue生命周期钩子函数的正确使用方式

    vue生命周期钩子函数的正确使用方式对于 vue 生命周期我们还是要先了解清楚 因为不同的生命期用不同的钩子函数 先上图 遇到的一个问题在我的项目中 常用的生命周期钩子函数一直都是 mounted 对于大部分情况 都是屡试不爽 捷报频传 但是在前几天却遭遇了一个意外 我在 mounted 中获取后台数据并更新 data 在 template 中把 data fullname 与一个 p 元素的 innerHTML 绑定 这是一个简单到不能再简单 普通到不

    2026年3月18日
    2
  • wps合并重复项并求和_Excel中重复项求和的方法

    wps合并重复项并求和_Excel中重复项求和的方法在 Excel 统计数据时 经常会碰到重复项反复出现 很干扰视线 想要对重复项进行合并并求和 那要如何操作呢 下面 小编跟大家详细讲解 Excel 合并重复项数据并求和的操作方法 首先打开一个需要处理的 Excel 表格 比如对下列表格中相同型号的数量合并求和 先鼠标选中 A 列中所有的型号 A 列的数据复制粘贴到到空白的 E 列中 然后点击 数据 删除重复项 如图所示 在弹出的窗口选择列 E 并点 删除重复项

    2026年3月17日
    2
  • WPF中WrapPanel、StackPanel等添加滚动条ScrollViewer

    WPF中WrapPanel、StackPanel等添加滚动条ScrollViewerwpf中,在控件中直接设置ScrollViewer.HorizontalScrollBarVisibility和ScrollViewer.VerticalScrollBarVisibility属性,并不能显示滚动条。因为在wpf中,想要显示滚动条,需要把控件放在滚动条视图控件(ScrollViewer)中。ScrollViewer属性说明:VerticalScrollBarVisibili

    2022年7月23日
    14
  • 微信个人号机器人

    微信个人号机器人前段时间公司需求开发一套自定义的微信机器人,需求是可以自批量添加好友,自动聊天,自动回复,发朋友圈,转发语音,以及定时群发等,还可以提取聊天内容,进行数据汇总,what????微信还可以这样做!!调研开发了3个月,3个月啊!!!(主要被各种技术走偏路),终于成功了,都是走过的心酸泪,分享给大家,大家学习完,记得给我点个赞!!!大家一般需求点无非是以下几个需求:1.开发个人微信营销系统2.开发自定义的微信机器人,3.开发微信智能聊天客服系统4.定制行业内的群数据分析功能需求很

    2022年5月7日
    50
  • 激活码 clion 2021【2021.10最新】

    (激活码 clion 2021)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlF6EG2ZUBVX-eyJsa…

    2022年3月28日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号