J2EE 是 Java 2 Enterprise Edition 的缩写形式,以前称为 Java 2 Platform Enterprise Edition,其规范扩展了 Java 2 Standard Edition(J2SE)。 J2EE 提供了一组大规模使用的内置服务,支持多层、基于组件的分布式体系结构。通常,J2EE 是一组帮助构建大型应用程序的 API。 J2EE 技术使用 API,是构建和部署企业应用程序的标准。它承诺“一次编写,随处运行”。
广告
该类别中的热门课程
J2EE - 专业化 | 14 门课程系列 | 6 次模拟测试
开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
Java 企业版包含多种用于各种目的的规范,例如生成网页、从数据库读取和写入以及管理分布式队列。
J2EE 技术列表
J2EE 平台的图形表示。
1. Java Servlet
Java servlet 运行在 Web 服务器上,生成动态网页,处理来自 Web 浏览器的请求,处理请求,并将处理后的数据发送回浏览器。
通用网关接口(CGI)也用于开发动态网页,但它有一些限制,例如性能、可扩展性、可重用性等。为了克服这个限制,我们可以使用servlet。
CGI 最重要的缺点之一是 - 每次来自用户的任何新请求 CGI 程序都会通过创建一个新进程来处理它。如果大量用户增加,那么CGI就必须为每个请求创建一个新的进程;为每个进程创建一个新进程对于服务器端来说是无效的,因为它的资源有限。与 CGI 不同,单独的线程处理 servlet 程序。
Servlet 执行过程:
- 客户端发送请求。
- 网络服务器接收请求。
- Web 服务器将请求传递给相应的 servlet。
- Servlet 处理请求并以输出的形式生成响应。
- Servlet 将响应发送回 Web 服务器
- 网络服务器向客户端发送响应。
2. Java 服务器页面 (JSP)
开发人员使用 Java Server Pages 进行服务器端编程来创建动态网页并构建基于 Web 的应用程序。
JSP 的特点:
- JSP 性能显着提高,因为它允许用户在 HTML 中嵌入 Java 代码。
- 像 servlet 一样,JSP 也可以访问 Enterprise Java API
- 开发人员还将 JSP 页面与 servlet 结合使用。
- 允许在 HTML 中嵌入 java 代码的 JSP 标签是
- 在 HTML 中嵌入 JSP 代码使 HTML 页面变得动态,例如注册表单、下拉框等
- JSP 用于访问 Java Beans 对象。
- JSP 将表示层与业务逻辑分开。
- 与 servlet 相比,它提供了生成动态网页的最简单方法。
- Web 容器可以处理 JSP 代码中的任何更改,无需重新编译。
- 与 servlet 一样,JSP [不需要额外的文件类文件和 web、XML。
- JSP 不需要额外的 web.xml 映射。
JSP 的架构:
建筑工作#1
在此架构中,JSP 在处理客户端请求方面发挥着重要作用。
- 客户端向 JSP 发送请求
- JSP 创建 JavaBean 对象。
- 如果需要,JavaBeans 使用数据库中的必要数据处理请求。
- 服务器将响应发送回客户端。
建筑工作#2
在这个架构中,Servlet扮演着重要的角色。 servlet 充当控制器。
- 客户端发送请求。
- Servlet 处理客户端发送的请求。
- servlet 创建一个 bean 对象并调用特定的 JSP 页面。
- 此处 JSP 不处理任何客户端请求。
- JSP 执行演示部分。
3.企业 Java Bean (EJB)
Enterprise Java Beans 是一种用于构建高度可扩展且强大的企业级应用程序的开发架构。
EJB 的特性:
- 开发人员必须专注于应用程序的业务逻辑,因为应用程序服务器提供了大部分系统级服务,事务、日志记录、异常处理等
- EJB 容器管理所有 EJB 实例。
- EJB 组件可以在任何兼容 EJB 的服务器上运行。这些好处与平台无关。
Enterprise Bean 类型:
a。会话 Bean
会话 bean 为客户端执行任务。客户端可以通过编程方式调用封装的业务逻辑。
会话 Bean 分为三种类型:
-
有状态会话 Bean:有状态会话 Bean 的实例代表唯一客户端的状态,通常称为会话状态。它也称为交互式会话,并且仅与一个用户关联。一旦客户端删除 beans 会话结束,状态就会保留,并且状态消失。
-
无状态会话 Bean:无状态会话实例不维护与客户端的会话状态。当客户端调用时,无状态 bean 变量包含特定于该客户端的方法,但仅在调用期间有效。该实例适用于所有客户端。可以实现网络服务。
-
单例会话 Bean: 每个应用程序实例化一次,并在应用程序的生命周期中存在。当单个实例 bean 在所有并发客户端之间共享时使用。服务器维护客户端调用之间的状态,但不需要在服务器关闭期间维护状态。它应该在应用程序启动时实例化。
b。消息驱动
消息驱动 Bean 是特定消息类型的侦听器,例如 Java 消息服务器 API。
EJB 架构:
4. Java 数据库连接 (JDBC)
Java 数据库连接是用于连接和执行查询的 Java API。它使用 JDBC 驱动程序进行连接。
驱动程序类型:
- JDBC-ODBC 桥驱动程序
- 本地驱动程序。
- 网络协议驱动程序。
- 瘦驱动程序。
特点:
- ODBC 使用 ODBC 驱动程序进行连接,因为这些驱动程序依赖于平台,因此 Java 开发了自己的 JDBC API。
- Java 可用于编写不同类型的可执行文件,包括 - Java Applet、JSP、EJB、Servlet 等
JDBC 架构:
JDBC架构分为两种
a。两层架构
两层架构的图形表示。
在这种两层架构中,Java 应用程序是直接从数据库访问的。客户端使用 JDBC 驱动程序直接访问数据。数据库可能位于同一台计算机上,也可能位于客户端-服务器配置中的另一台计算机上。
b。三层架构
三层架构的图形表示。
该架构将命令发送到中间层,中间层处理请求,然后将其转发到数据源。数据源处理请求,并将结果发送回中间层,然后再发送给用户。三层保持对企业数据的数据访问和更新的控制。
5. Java 消息服务 (JMS)
Java 消息服务是一种 API,它在称为消息服务的网络中的计算机之间提供正式通信。
- 消息交换可以是同步或异步模式。
- JMS API 允许其他 Java 平台语言之间的互操作性。
- 应用程序构建在概念消息队列、发送者和接收者的基础上。
JMS 中有两种类型的消息传递域。
a。点对点消息域
- 应用程序基于队列、发送者和接收者的概念。
- 发送到消息队列接收者的每条消息都会将消息存储在消息队列中。
- 队列存储所有消息,直到消耗或过期。
- 如果接收者在网络中不可用,则消息将保留在消息代理中,直到接收者消耗该消息。
- 接收方确认消息消费。
b。发布/订阅消息域
- 应用程序将消息发送到称为主题的消息代理。
- 主题向所有订阅者发布消息。
- 主题保留所有消息,直到接收者消耗它。
- 这里多个消费者,消费者订阅后都会收到消息。
JMS 架构:
6. Java 事务 API (JTA)
JTA 允许执行分布式事务以通过网络中的多台计算机访问和更新数据。 JTA API 充当事务管理器和客户端之间的 Java 接口。
应用程序服务器和资源管理器控制对共享资源事务的访问。
-
原子性:事务管理器负责做出最终决定是提交还是回滚。
-
提供一致性:如果事务失败,则保留数据完整性。
- 在其他应用程序或线程提交或回滚事务之前,无法逐步停止事务。
- 即使系统出现故障,承诺也可以保留。
- 三种类型的事务管理器。
-
数据库:事务可防止数据库因更新不完整而处于不一致状态。
- JMS 提供程序 - 使用事务确保消息可靠传递。
- J2EE 连接器架构组件。
-
容器管理的事务: EJB 容器设置事务的边界,并且它可以使用任何企业 bean。该代码不包含开始和结束事务的语句。
-
组件管理事务:事务由 JDBC API 管理,它允许应用程序本身进行事务管理。消息驱动 Bean 显式标记事务的边界。
JTA 建筑:
7. Java 邮件
Java Mail 是 API。这使我们能够撰写、阅读和撰写电子邮件。该API提供协议无关和平台无关。
与 Java Mail API 一起使用的协议:
-
SMTP:SMTP(简单邮件传输协议)是一种传输电子邮件的机制。 Apache James Server 和其他邮件服务器软件可以用作 SMTP 服务器来发送和转发电子邮件。
-
POP:POP 是邮局协议/POP3。这是一种接收电子邮件的机制。支持每个用户使用一个邮箱。 Apache James Server,邮件服务器,可用于 POP 功能。
-
IMAP:互联网消息访问协议是一种用于接收消息的高级协议。支持每个用户多个邮箱。
-
MIME:多个互联网邮件扩展告诉浏览器正在发送的内容,例如电子邮件的格式、附件等
Java 邮件架构:
8. Java 命名和目录接口 (JNDI)
Java 命名和目录接口是用于命名和目录服务的 API,允许用户使用特定名称发现数据。
- JNDI 独立于实现。
- 它提供服务提供商接口 (SPI) – 允许将目录服务插入框架。
- 开发人员使用 API 将 Java 应用程序连接到外部目录。
- 它提供了一种将对象绑定到名称的机制。
- 事件接口允许客户端确定目录条目何时被修改。
JNDI 使用以下命名和目录服务。
- 轻量级目录访问协议 (LDAP)。
- 通用对象请求代理架构 (CORBA)。
- 通用对象服务(COS)
- Java 远程方法调用 (RMI)。
- 域名服务 (DNS)。
JNDI 架构:
9. J2EE 连接器架构 (JCA)
应用程序服务器使用 JCA 连接到 EIS。
- 启用 JCA 的应用程序服务器可与任何符合 JCA 的 EIS 集成。
- 资源适配器允许Java应用程序访问EIS的资源管理器并与之交互。
- 它还提供基于消息的事务集成、基于 Java EE 的 Web 服务与 EIS。
JCA 定义了 Java 应用程序服务器和资源适配器之间的一组标准系统级契约。
-
连接管理:启用应用程序服务器池与 EIS 的连接。使应用程序组件能够连接。这有利于可扩展的应用程序环境并支持大量客户端。
-
事务管理:允许应用服务器使用事务管理器来管理多个资源管理器的事务。该软件支持交易的内部管理,无需外部交易管理者的参与。
-
安全管理:防止对 EIS 的安全威胁并保护 EIS 管理的宝贵资源。
-
生命周期管理:使应用程序服务器能够管理资源适配器从开始到终止的生命周期。
-
工作管理:使资源适配器能够将工作分配给应用程序服务器执行。应用服务器调度线程来完成指定的工作。
-
事务流入管理:允许资源适配器将导入的事务传播到应用程序服务器。允许资源适配器传输 EIS 发起的事务完成和崩溃恢复。
-
消息流入管理:允许将消息异步传递到驻留在应用程序服务器的消息端点。
JCA 建筑:
结论 – J2EE 技术
2EE 优化企业计算或提供客户端增强功能的企业应用程序。几乎所有J2EE技术提供的容器或应用服务器都有助于快速开发和部署,因为Java独立于平台的标准确保了可以在多个平台上运行的跨平台开发。 J2EE中的大部分技术都是分开设计和开发的。
以上是J2EE技术的详细内容。更多信息请关注PHP中文网其他相关文章!