Geronimo!第1部分: 让J2EE编程更加简单

J2EE 是一个不依赖于平台的环境,设计这个环境是为了开发和配置在企业范围内使用 的基于网络的应用程序。这个平台曾被喻为元语言或语言超集。但在本质上,J2EE 仅仅是 Java 编程语言和一些特定的 Java 类的最小集合。(参见 参考资料 中 J2EE 类文档的链 接。)

J2EE 由用于开发多层且基于网络的应用程序的应用编程接口(API)、服务 以及协议组成。它是一个复杂的标准,要想写一篇使之简化的文章,其难度不亚于撰写一 篇简化联邦税务代码的文章,这可不是一件容易的事。但是,让我们从它的一些基本原则 开始讲起,直至少量的实现细节,整个旅程还是会让您有所启发的。现在扣紧安全带,让 我们开始吧!

基本原则

J2EE 多层设计中的客户机层是由纯 HTML 协议表示 的,这些 HTML 由 JavaServer Pages(JSP)和 Java servlet 生成,并用传输协议(当 然是 TCP/IP)潜在地部署多个 Java 小程序。任何符合标准的 Web 浏览器都能够作为 J2EE 系统的客户机正常运行。

服务器层包含 Enterprise JavaBean(EJB)技术, 用这些技术定义了企业应用程序的平台逻辑。EJB 服务器提供线程管理、并发管理、内存 管理以及安全方面的功能,并自动完成这些任务,以便于应用程序程序员摆脱这些细节方 面的负担。这就是 J2EE 设计的威力所在。

处在最底层的是企业珍贵数据的核心, 在这里,可以通过 Java 数据库连接(Java Database Connectivity,JDBC)接口访问标 准的数据库工具,如 IBM DB2、Oracle、MySQL 或任何数量的基于结构化查询 语言(Structured Query Language,SQL)的其他数据库引擎。

J2EE 的全部都是 关于定义 Web 服务的 —— 对于定义动态页面的方式而言这是一个很不错的名 字,在这种方式下程序动态地生成网页,而不是仅向进行调用的客户机浏览器返回一般的 HTML 文本文件。J2EE 是一个真正的各种技术缩写词的大杂烩,每种技术用一个容易记住 的缩写词来描述。作为程序员,您不需要苛求自己掌握所有这些技术以在 J2EE 环境中成 就辉煌的事业,但是您只要学到更多这方面的知识,就能够使您的事业获益。

快速参考:J2EE 技术

接下来要介绍的是对众多 J2EE 技术中某些技术的一个快速参考。掌握了所有这些技术 的程序员在如今的职场上需求极旺。这些技术如此受欢迎,我认为这是由于它们的重要性 以及部署的简单性,当然,这纯粹是我主观的观点。

我提供这份清单既是为了解释 J2EE 的复杂性,也是为了提供一份帮助您继续学习这些 技术的粗略的地图。重要的技术包括:

JSP: HTML 模板的文件,该文件含有在执行前编译成 servlet 的内嵌的 Java 代码。

EJB: 代表了企业 Web 应用程序的平台逻辑。EJB 技术的两种类型是实体 bean 和会 话 bean。

JDBC: 一个用于从 Java 环境连接到数据库的 API。它是 Java 程序员针对开放数据 库连接(Open Database Connectivity,ODBC)的替代品。

XML 处理的 Java API(Java API for XML Processing,JAXP): 用于协助应用程序 分析及转换 XML 文档。

Java 命名及目录接口(Java Naming and Directory Interface,JNDI): 用于定义 执行目录操作的方法,如使用其属性来搜索对象并将属性和对象关联起来。

基于 XML 的远程过程调用的 Java API(Java API for XML-based Remote Procedure Call,JAX-RPC): 允许开发人员创建由 Web 服务描述语言(Web Service Description Language,WSDL)所描述的客户机及服务。WSDL 将服务描述为一个端点集,这些端点在消 息上进行操作并用 XML 进行定义。

基于 XML 的 Web 服务的 Java API(Java API for XML-based Web Services,JAX-WS ): 它允许开发人员实现由 WSDL 描述的客户机和服务,在这一点上同 JAX-RPC 类似, 但是 JAX-WS 不需要部署描述符,这是由于它使用 @WebService 这样的标注来声明 Web 服务端点。使用 JAX-WS 时,无需使用部署描述符就能部署 Web 服务!

XML 绑定的 Java 架构(Java Architecture for XML Binding,JAXB): 提供一个绑 定的编译器和一个运行时框架将 Java 对象映射到 XML 文档。此功能确保系统只接受和处 理有效的消息。编译器自动将万维网联盟(World Wide Web Consortium,W3C)的 XML 模 式转换成 Java 类,使您不必自己编写任何复杂的解析代码。

XML 消息的 Java API(Java API for XML Messaging,JAXM): 允许应用程序在互联 网上交换 XML 形式的业务文档。这样的例子包括存货清单、发票和数不清的其他业务文档 ,这些文档的存在使得现代商业得以有效运行。

>XML 注册库的 Java API(Java API for XML Registries,JAXR): 为访问不同 种类的 XML 注册库提供了一个标准的 API,这在构建、部署以及发现 Web 服务时非常有 用。

Java 消息服务(Java Message Service,JMS): 允许使用一个统一的 API 来编写基 于消息的应用程序,该 API 能对许多消息系统产品的共同特征进行访问。

Java 管理扩展(Java Management Extensions,JMX): 这是一个专为监控及管理 J2EE 应用程序服务而创建的 Java 标准。

时间: 2024-08-04 12:31:05

Geronimo!第1部分: 让J2EE编程更加简单的相关文章

利用Spring框架改进J2EE编程

j2ee|编程 摘要 J2EE编程正在变得越来越复杂.J2EE已经发展为一个API.复杂化的编程和配置的复杂网络.为了应对这种复杂性,新的框架和方法不断涌现.这些框架高度依赖于一个称为IoC(Inversion of Control,反向控制)的概念.本文将探讨这种方法的一些特性和优点,因为这种方法与J2EE编程相关,而且可以使J2EE编程变得更轻松. 简介 马克·吐温的一句话常被引用:"--关于我死亡的报道是一种夸张."现在已经出现了很多关于.Net的流言,以及认为J2EE API的

J2EE编程起步(一)

j2ee|编程 为了帮助国内J2EE初学者,将J2EE部分文档进行编译,期望能够对广大Java爱好者有所帮助. 本文将通过简单例子,描述如何利用EJB开发.部署和运行一个客户机/服务器应用.例子的客户端作为Java独立应用运行,由 ConverterClient.java类实现.它实现一个简单的实时会话,主要通过客户端应用调用服务器端EJB类 ConverterEJB.java来实现.如果你已经安装了J2EE,则可以在doc/guides/ejb/examples/converter目录中找到这

J2EE编程起步(二)

j2ee|编程 创建J2EE应用 你不能够直接将企业组件(EJB)部署到J2EE服务器,必须将组件加到一个J2EE 应用中然后再部署.在本节,你将创建一个叫做ConverterApp的新J2EE应用并保存为ConverterApp.ear. 1. 在命令行提示符下启动J2EE服务器: j2ee ?verbose (停止服务器命令 j2ee -stop.) 2. 在另一个终端窗口运行部署工具: deploytool (按F1获取部署工具帮助) 3. 创建新的J2EE应用 a. 在部署工具中选择"文

有关pl/sql编程的简单问题

问题描述 有关pl/sql编程的简单问题 declare my_name VARCHAR2(10):='张三';begin if length(my_name)<=2 THEN dbms_output.put_line('我的名字是两个字!');end; 解决方案 缺少'end if;' 解决方案二: declare type v_record is RECORD ( v_name emp.ename% TYPE; v_salary emp.sal% TYPE; v_job emp.job% T

Java网络编程之简单的服务端客户端应用实例_java

本文实例讲述了Java网络编程之简单的服务端客户端应用.分享给大家供大家参考.具体如下: 在Java中,我们使用java.net.Socket及其相关类来完成有关网络的相关功能.Socket类非常简单易用,因为Java技术隐藏了建立网络连接和通过连接发送数据的复杂过程.下面所说的内容只适用于TCP协议. 一.连接到服务器 我们可以使用Socket类的构造函数来打开一个套接字,如 Socket sk = new Socket("210.0.235.14",13); 其中,210.0.23

Android编程实现简单的UDP Client实例_Android

本文实例讲述了Android编程实现简单的UDP Client.分享给大家供大家参考,具体如下: 该代码在4.2.2内调试通过 1.记得加权限 <uses-permission android:name="android.permission.INTERNET"/> 注意:Android 4.0之后,就不能在主线程进行socket通信,否则会抛异常. 2.代码 MainActivity.java: package mao.example.quicksend; import

Android编程实现简单流量管理功能实例_Android

本文实例讲述了Android编程实现简单流量管理功能的方法.分享给大家供大家参考,具体如下: package cn.itcast.mobilesafe.ui; import java.util.List; import android.app.Activity; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import

Java Socket编程实现简单的问候服务_java

本文实例讲解了Java Socket编程实现简单的问候服务的详细代码,供大家参考,具体内容如下 服务器端: 实现一个最简单的Hello服务,打印输出客户端IP地址到控制台,对任何连接的客户端都会发送一串字符(Hello, Java Socket)然后关闭与客户端连接.等待下一个客户端的连接请求到来. 客户端: 实现一个最简单的Socket连接到Hello服务器端,接受服务器端发送过来的字节数据打印并输出内容到控制台. 关键技巧: 由于JAVA中提供非常多的输入与输出流API,导致很多初学者接触J

Android编程之简单计时器实现方法_Android

本文实例讲述了Android编程之简单计时器实现方法.分享给大家供大家参考,具体如下: 这里利用ContextMenu(上下文菜单),Chronometer实现简单计数器. Main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android