【JavaEE基础学习打卡03】Java EE 平台有哪些内容?

news2024/11/26 18:48:34

目录

  • 前言
  • 一、Java EE平台说明
  • 二、Java EE平台容器及组件
    • 1.平台容器
    • 2.平台组件
  • 三、JavaEE平台API服务
    • 1.API服务概览
    • 2.平台API
  • 总结


前言

📜 本系列教程适用于Java Web初学者、爱好者,小白白。我们的天赋并不高,可贵在努力,坚持不放弃。坚信量最终引发质变,厚积薄发。
🚀 文中白话居多,尽量以小白视角呈现,帮助大家快速入门。
🎅 我是 蜗牛老师,之前网名是 Ongoing蜗牛,人如其名,干啥都慢,所以更新也慢。希望大家多多支持,让我动力十足!

本文主要是介绍了 Java EE 平台到底有哪些内容:有容器、组件及众多 API。API 也就是应用程序接口(英语:Application Programming Interface,简称:API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。这些 API 可以帮助我们实现特定功能。在介绍了各种 API 后,我们可以知道 Java EE 中 API 众多,但是在入门学习阶段只有三个就够了。


一、Java EE平台说明

我们先来看一下 Java EE 7 平台架构图,大家可以从图中看出什么吗?
在这里插入图片描述

从图中可以看出,整个平台分为两大块:客户端系统和 Java EE 服务。客户端系统有浏览器和应用客户端容器,Java EE 服务有 Web 容器和 EJB 容器。整个流程是通过 EJB 容器与数据库通信,也就是操作数据库进行增删改查数据。EJB 容器可以与 Web 容器协作,EJB 将业务处理的结果通过 Web 容器展示在浏览器中。而且 EJB 容器也可以直接与应用客户端容器协作展示界面。

在容器中有应用组件及众多的 API 服务,蓝色是 Java EE 7 中新增的 API 服务。而这些 API 服务和组件都是以 Java SE 为基础的。

所以,Java EE 平台是由一系列容器、应用组件和 API 服务组成的。

二、Java EE平台容器及组件

1.平台容器

下图显示了 Java EE 容器之间的关系,我们一起来看一下。
在这里插入图片描述

Java EE 平台容器是一种软件容器,它提供了一种在虚拟机中运行应用程序的方式。Java EE 平台容器的主要作用是将 Web 组件、企业 Bean 或应用程序客户端装配至 Java EE 模块中,并部署至其容器中。根据组件构成,将 JavaEE 项目开发中的容器分为以下几类:Applet 容器、(ApplicationClient)应用客户端容器、Web 容器、EJB 容器 。

Applet 容器: 也就是小程序容器,管理 Applet 的执行。这个小程序并不是我们现在的微信、支付宝小程序。Java Applet(Java 小程序)是指从 Web 层接收的网页可以包含嵌入式小程序。 用 Java 编程语言编写,小程序是一个小客户端安装在浏览器。但是,客户端系统可能需要 Java 插件以及可能的安全策略文件,以便小程序成功在 Web 浏览器中执行。

常见的 Java Applet 应用包括嵌入 Flash、音频、视频、动画等多媒体元素,同时也可用于游戏、表单验证、图像处理等。在刚开始有网页的那个年代,大家学习 Java 的主要目的就是编写 Applet 程序,许多网站都使用 Java Applet 来实现动态效果、图形呈现、在线游戏等功能,例如知名的在线游戏“俄罗斯方块”正是基于 Java Applet 实现的。Flash 逐渐崛起,并取代了 Java Applet 成为 Web 浏览器中多媒体和动态效果的主要应用技术。同时,HTML5 和 CSS3 等 Web 技术的不断发展和完善,为 Web 开发人员提供了更丰富、更灵活的工具和技术方案,包括 canvas、SVG、WebGL 等,这些技术可以取代 Java Applet,实现更先进的图形和动画呈现效果。

所以目前,已经没有人再使用 Java Applet,大家知道有就行了。

应用客户端容器: 管理应用程序客户端组件的执行。应用程序客户端在用户的机器上运行,并提供一种处理需要比标记语言更丰富的界面的任务的方法。它通常具有由 Swing API 或 AWT API 创建的图形用户界面(GUI),但也可以使用命令行界面。大家不要忘记,Java 是可以开发桌面应用程序的。

应用程序客户端直接访问在业务层运行的企业 Bean。然而,如果应用程序需求允许,应用程序客户端可以打开 HTTP 连接,与运行在 Web 层的 Servlet 建立通信。用 Java 以外的语言编写的应用程序客户机可以与 Java EE 服务器交互,从而使 Java EE 平台能够与遗留系统、客户端和非 Java 语言进行互操作。

这个容器大家能懂则懂,理解不了,暂时也没啥关系。

Web 容器: 管理网页、Servlet 和一些的执行用于 Java EE 应用程序的 EJB 组件。Web 组件及其 容器在 Java EE 服务器上运行。Web 容器是给处于其中的应用程序组件(JSP、Servlet)提供一个环境,使得 JSP,Servlet 能直接和容器中的环境变量、接口交互而不必关注其他系统问题。主要是由 Web 服务器来实现,例如 Tomcat、WebLogic 和 Websphere 等。该容器提供的接口严格遵守 J2EE 规范中的 Web Application 标准 。

Web 容器是重点,我们需要将 Web 项目部署至 Web 容器中,这样才能进行访问。

EJB 容器: 管理 Java EE 企业 Bean 的执行应用。企业 Bean 及其容器在 Java EE 上运行服务器。

这个 EJB 容器,了解即可。

上述4个容器中我们要重点关注 Web 容器。

2.平台组件

Java EE 应用程序由组件组成。Java EE 组件是一个自包含的功能软件单元,它与相关的类和文件一起组装到 Java EE 应用程序中,并与其他组件通信。

Java EE 规范定义了以下 Java EE 组件:

  • 应用程序客户端和 Applet 是在客户机上运行的组件。
  • Java Servlet、JavaServer Faces 和 JavaServer Pages (JSP) 技术组件是运行在服务器端的 Web 组件。
  • EJB 组件(企业 Bean)是运行在服务器上的业务组件。

Java EE 组件也是用 Java 编程语言编写的,并以与该语言中的任何程序相同的方式进行编译。Java EE 组件和“标准” Java 类之间的区别在于,Java EE 组件被组装到 Java EE 应用程序中,它们被验证为结构良好且符合 Java EE 规范,并且它们被部署到生产环境中,在生产环境中由 Java EE 服务器运行和管理。

这里我们关注 Java Servlet 和 JSP 组件。

三、JavaEE平台API服务

1.API服务概览

在 Web 容器、EJB 容器和应用程序客户端容器中有众多 API 服务。这些 API 服务可以帮助我们解决更加实际的一些问题。

(1)Web容器中 Java EE API

在这里插入图片描述

(2)EJB 容器中 Java EE API

在这里插入图片描述

(3)应用程序客户端容器中的 Java EE API

在这里插入图片描述

2.平台API

(1) Enterprise JavaBeans(了解即可)

Enterprise JavaBeans (EJB) 组件或企业 Bean 是一个代码体,它具有实现业务逻辑模块的字段和方法。您可以将企业 Bean 视为一个构建块,它可以单独使用,也可以与其他企业 Bean 一起使用,在 Java EE 服务器上执行业务逻辑。

企业 Bean 要么是会话 Bean,要么是消息驱动的 Bean。

  • 会话 Bean表示与客户端的短暂对话。当客户端完成执行时,会话 Bean 及其数据将消失。
  • 消息驱动 Bean 结合了会话 Bean 和消息侦听器的特性,允许业务组件异步接收消息。通常,这些消息是 Java 消息服务(JMS)消息。

Java EE 8 平台需要 Enterprise JavaBeans 3.2 和 Interceptors 1.2。拦截器规范是 EJB 规范的一部分。

(2) Java Servlet(非常重要)

Java Servlet 技术允许定义特定于 Http 的 Servlet 类。Servlet 类扩展了服务器的功能,这些服务器承载通过 请求-响应 编程模型访问的应用程序。虽然 Servlet 可以响应任何类型的请求,但它们通常用于扩展由 Web 服务器托管的应用程序。

在 Java EE 8 平台中,新的 Java Servlet 技术特性包括:

  • 服务器推送
  • HTTP Trailer

Java EE 8 平台需要 Servlet 4.0。

(3) JavaServer Faces(了解即可)

JavaServer Faces 技术是一个用于构建 Web 应用程序的用户界面框架。JavaServer Faces 技术的主要组成部分如下:

  • GUI 组件框架。
  • 用于以不同类型的 HTML 或不同标记语言和技术呈现组件的灵活模型。对象生成标记以呈现组件,并将存储在模型对象中的数据转换为可以在视图中表示的类型。渲染器
  • 生成 HTML 4.01 标记的标准。

Java EE 8 平台需要 JavaServer Faces 2.3 和 Expression Language 3.0。

(4) JavaServer Pages(基本使用)

JavaServer Pages (JSP) 技术允许您将 Servlet 代码片段直接放入基于文本的文档中。JSP 页面是基于文本的文档,包含两种类型的文本:

  • 静态数据,可以用任何基于文本的格式表示,例如 HTML 或 XML
  • JSP 元素,它决定了页面如何构造动态内容

Java EE 8 平台要求 JavaServer Pages 2.3 与早期版本兼容,但建议在新应用程序中使用 Facelets 作为显示技术。

(5) JavaServer Pages Standard Tag Library(按需使用)

JavaServer Pages 标准标记库(JSTL)封装了许多 JSP 应用程序通用的核心功能。不用在 JSP 应用程序中混合使用来自众多供应商的标记,而是使用单一的标准标记集。这种标准化允许您在任何支持 JSTL 的 JSP 容器上部署应用程序,并使标记的实现更有可能得到优化。

JSTL 具有用于处理流控制的迭代器和条件标记、用于操作 XML 文档的标记、国际化标记、用于使用 SQL 访问数据库的标记以及用于常用函数的标记。

Java EE 8 平台需要 JSTL 1.2。

(6) Java Persistence API(了解即可)

Java Persistence API (JPA) 是一种基于 Java 标准的持久性解决方案。持久性使用对象/关系映射方法来弥合面向对象模型和关系数据库之间的差距。Java Persistence API 还可以在 Java EE 环境之外的 Java SE 应用程序中使用。Java 持久化包括以下几个方面:

  • Java 持久性 API
  • 查询语言
  • 对象/关系映射元数据

Java EE 8 平台需要 Java Persistence API 2.2。

(7) Java Transaction API(了解即可)

Java 事务 API (JTA) 为划分事务提供了一个标准接口。Java EE 体系结构提供了默认的自动提交来处理事务提交和回滚。自动提交意味着任何其他正在查看数据的应用程序将在每次数据库读写操作之后看到更新的数据。但是,如果应用程序执行两个相互依赖的独立数据库访问操作,您将希望使用 JTA API 来界定整个事务(包括这两个操作)开始、回滚和提交的位置。

Java EE 8 平台需要 Java Transaction API 1.2。

(8) Bean Validation(了解即可)

Bean 验证规范定义了用于验证 JavaBeans 组件中的数据的元数据模型和 API。可以在一个地方定义验证约束,并在不同的层之间共享它们,而不是在多个层(如浏览器和服务器端)上分布数据验证。

在 Java EE 8 平台中,新的 Bean 验证特性包括以下内容:

  • 支持 Java SE 8 中的新特性,例如 Date-Time API
  • 增加了新的内置 Bean 验证约束

Java EE 8 平台需要 Bean Validation 2.0。

(9) JavaMail(了解即可)

Java EE 应用程序使用 JavaMail API 发送电子邮件通知。JavaMail API 有两个部分:

  • 应用程序组件用于发送邮件的应用程序级接口
  • 服务提供者接口

Java EE 平台包括带有服务提供者的 JavaMail API,该服务提供者允许应用程序组件发送 Internet 邮件。

Java EE 8 平台需要 JavaMail 1.6。

(10) WebSocket 的 Java API(目前了解)

WebSocket 是一种应用协议,它通过 TCP 在两个对等体之间提供全双工通信。用于 WebSocket 的 Java API 使 Java EE 应用程序能够使用注释创建端点,这些注释指定端点的配置参数并指定其生命周期回调方法。

Java EE 8 平台需要 WebSocket 1.1 的 Java API。

(11) Java数据库连接API(基本使用)

Java 数据库连接 (JDBC) API 允许您从Java编程语言方法调用 SQL 命令。当您使用会话 Bean 访问数据库时,您可以在企业 Bean 中使用 JDBC API。还可以使用来自 Servlet 或 JSP 页面的 JDBC API 直接访问数据库,而无需通过企业 Bean。

JDBC API 有两个部分:

  • 应用程序组件用来访问数据库的应用程序级接口
  • 将 JDBC 驱动程序附加到 Java EE 平台的服务提供程序接口

Java EE 8 平台需要 JDBC 4.1。

(12) Java Naming and Directory Interface API(了解即可)
Java 命名和目录接口(JNDI) API 提供了命名和目录功能,使应用程序能够访问多个命名和目录服务,如 LDAP、DNS 和 NIS。JNDI API 为应用程序提供了执行标准目录操作的方法,例如将属性与对象关联以及使用其属性搜索对象。使用 JNDI, Java EE 应用程序可以存储和检索任何类型的命名 Java 对象,从而允许 Java EE 应用程序与许多遗留应用程序和系统共存。

平台有众多 API,这里只介绍了部分,大家有个基本印象就可以了。在入门阶段需要掌握的 API 是Servlet、JDBC、JSP。


总结

Java EE 平台是由一系列容器、应用组件和API服务组成的。

Java EE 平台有 Applet 容器、(ApplicationClient)应用客户端容器、Web 容器、EJB 容器。

JavaEE 平台组件有:

  • 应用程序客户机和 applet 是在客户机上运行的组件。
  • Java Servlet、JavaServer Faces 和 JavaServer Pages (JSP) 技术组件是运行在服务器端的 Web 组件。
  • EJB 组件(企业 Bean)是运行在服务器上的业务组件。

Java EE 平台有众多 API,这里我们要重点学习和掌握 Servlet、JDBC、JSP 即可。

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

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

相关文章

Opencv特征检测之ORB算法原理及应用详解

Opencv特征检测之ORB算法原理及应用详解 特征是图像信息的另一种数字表达形式。一组好的特征对于在指定 任务上的最终表现至关重要。视觉里程 (VO) 的主要问题是如何根据图像特征来估计相机运动。但是,整幅图像用来计算分析通常比较耗时&…

算法通过村第三关-数组基础笔记|爱不起的数组

文章目录 前言线性表的概念什么是线性表从语言实现的角度看从存储的角度看从访问限制的角度看从扩容的角度看数组的概念数组元素的特征 数组的基本操作数组的创建和初始化查找一个元素增加一个元素删除一个元素 总结 前言 提示:孩子们有时候挺伤人的,他…

两个数组的交集-C语言/Java

描述 给定两个数组 nums1 和 nums2 &#xff0c;返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序。&#xff08;1 < nums1.length, nums2.length < 1000&#xff0c;0 < nums1[i], nums2[i] < 1000&#xff09; 示例1 输入…

Linux源码剖析匿名共享内存shmem原理

如下问题如果都清楚了就不用看本文了&#xff1a; 1. shmem ram文件系统的初始化流程是怎样的 2. shmem思想上想复用基于文件的操作流程&#xff0c;实现上shmem也引入了一个文件&#xff0c;那么类似文件open会生成struct file&#xff0c;shmem的struct file怎么生成的 3.…

C语言 棱形图案

目录 一、问题分析 上部分&#xff1a; 下部分&#xff1a; 二、代码演示 一、问题分析 如上图所示&#xff0c;我们可以将棱形进行拆解&#xff0c;分为上下两个部分。 上部分&#xff1a; 通过观察&#xff0c;我们得到 单边空格数 上半部分总行数 - 行数 - 1 …

graphab 教程 ——安装

graphab 软件致力于从图论的框架对生态网络进行建模。Graphab是基于图论原理建立生态网络模型的软件,它可以实现景观组分可视化、连通性分析等,且易于与地理信息系统兼容。Graphab 是基于Java平台开发的,可直接在 Windows、Linux,Mac等操作系统中运行,界面友好且易于使用。Grap…

HCIP学习--BGP实验

一、实验拓扑 二、实验需求 除R5的5.5.5.0环回外&#xff0c;其他所有的环回均可互相访问 三、实验步骤 首先配置IP&#xff0c;配置好IBGP 建立直连的EBGP邻居关系 R1和R2建立直连的EBGP邻居关系 [r1]bgp 1 [r1-bgp]router-id 1.1.1.1 [r1-bgp]peer 12.1.1.2 as-number …

MyBatis插件开发

目录 一、项目简单搭建二 、一个接口了、两大注解、四大对象三、脱敏插件开发 一、项目简单搭建 demo结构&#xff0c;已经搭建了无数次了&#xff0c;懒的粘贴了 o(╥﹏╥)o pom文件 <dependency><groupId>org.springframework.boot</groupId><artifa…

AIGC商用实例—大模型技术助力AI测谎仪,实现视频通话实施测谎!

大家好&#xff0c;我是千寻哥&#xff0c;最近一段时间&#xff0c;给大家分享了不少的AI绘画相关的项目教程&#xff0c;很多星友都反映真的不错&#xff0c;我自己也是感觉很有意义&#xff01; 哈哈哈&#xff0c;今天我在看到了一个项目柑感觉是一个不错的idea&#xff0c…

下一代深度学习的思考与若干问题

下一代深度学习的思考和若干问题

OpenCV基本操作——图像的基础操作

目录 图像的IO操作读取图像显示图像保存图像 绘制几何图形绘制直线绘制圆形绘制矩形向图像中添加文字效果展示 获取并修改图像中的像素点获取图像的属性图像通道的拆分与合并色彩空间的改变 图像的IO操作 读取图像 cv2.imread()import numpy as np import cv2 imgcv2.imread(…

Postman: 前端必备工具还是后端独享利器

目录 Postman 的使用场景&#xff1a;适用于前端和后端 Postman 适用于前端的场景 Postman 适用于后端的场景 结论 Postman 的使用场景&#xff1a;适用于前端和后端 Postman 是一个流行的 API 测试与开发工具。它被广泛地应用在前后端开发的过程中&#xff0c;但是很多人…

SCAU操作系统知识点之(八)虚拟内存

1、虚拟地址概念&#xff0c;实地址概念 实存储器&#xff08;实存&#xff09;&#xff1a;内存 虚存储器&#xff08;虚存&#xff09;&#xff1a;磁盘 虚拟地址&#xff1a;在虚拟内存中分配给某一位置的地址&#xff0c;它使得该位置可被访问&#xff0c;就好像是主内的一…

机器学习---对数几率回归

1. 逻辑回归 逻辑回归&#xff08;Logistic Regression&#xff09;的模型是一个非线性模型&#xff0c; sigmoid函数&#xff0c;又称逻辑回归函数。但是它本质上又是一个线性回归模型&#xff0c;因为除去sigmoid映射函 数关系&#xff0c;其他的步骤&#xff0c;算法都是…

网络中的一些基本概念整理总结

1.IP地址 是用来定位主机的网络地址,主要是用于标识主机和其他的一些网络设备. 比如路由器是用点分十进制来表示的 2.端口号 用于标识网络协议中不同的服务或应用程序。 3.协议 这里主要说网络协议,是网络通信时,所有经过的网络设备都必须遵守的一套规定,包含怎么建立连接…

机器学习笔记:李宏毅diffusion model

1 概念原理 首先sample 一个都是噪声的vector然后经过denoise network 过滤一些杂质接着继续不断denoise&#xff0c;直到最后出来一张清晰图片 【类似于做雕塑&#xff0c;一开始只是一块石头&#xff08;噪声很杂的雕塑&#xff09;&#xff0c;慢慢雕刻出想要的花纹】 同一个…

简单易懂的 Postman Runner 参数自增教程

目录 什么是 Postman Runner&#xff1f; Postman Runner 如何实现参数自增&#xff1f; 步骤一&#xff1a;设置全局参数 步骤二&#xff1a;将全局参数带入请求参数 步骤三&#xff1a;实现参数自增 资料获取方法 什么是 Postman Runner&#xff1f; Postman Runner 是…

Redis集群 (三十九)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、Redis主从复制 1.1 概念 1.2 作用 1.3 缺点 1.4 流程 1.5 搭建 1.6 验证 二、Reids哨兵模式 2.1 概念 2.2 作用 2.3 缺点 2.4 结构 2.5 搭建 2.6 验证 三、Red…

一文揭秘饿了么跨端技术的演进、实践与落地

跨端技术背景与演进历程 跨端&#xff0c;究竟跨的是哪些端&#xff1f; 自 90 年的万维网出现&#xff0c;而后的三十多年&#xff0c;我们依次经历了 PC 时代、移动时代&#xff0c;以及现在的万物互联&#xff08;的 IoT &#xff09;时代&#xff0c;繁荣的背后&#xff…

SpringBoot后端服务开启Https协议提供访问(使用阿里云资源)

目录 概述 申请/下载证书 部署证书 本地测试访问 服务器部署访问 最后/扩展 总结 概述 本篇博客说明如何将SpringBoot项目开启Https协议提供访问。 博文以步骤【申请/下载证书】&#xff0c;【部署证书】&#xff0c;【本地测试访问】&#xff0c;【服务器部署访问】 &a…