This eBook made by bullboss@163.com 2003-04-19
WebSphere 快速入门
瞿裕忠 张剑锋 王丛刚 陈峥
东南大学计算机科学与工程系
摘要
我们已经走进电子商务时代,本书将带您进入电子商务应用开发的世界。本书第一章介绍电子商务理念及
有关技术基础,包括 Internet、Web 和 Java。第二章介绍 IBM 电子商务应用框架,包括 WebSphere。第
三章给您带来 WebSphere Studio 应用开发技术。第四、五章分别介绍新一代 Web 应用的关键技术:Java
Servlet 和 JSP。第六章介绍新一代 Web 应用服务器软件:WebSphere 应用服务器。第七章带给您新一
代 Web 应用编程技术:WebSphere 应用编程技术。本书附录中的实验指导带您一起走过使用 WebSphere
技术开发电子商务应用的过程。
本书特别适合于信息技术类的高年级大学生和研究生,以及从事电子商务应用开发的技术人员。通过学习
本书,您将了解电子商务应用开发的先进技术,并快速掌握 WebSphere 电子商务应用开发的基本技术。
第一章 电子商务基础知识
Web 正改变着我们生活的方方面面,但任何领域都没有象商务运作方式那样经历着一场快速而巨大的
变革。众多商家正在准备或已经走向转变到电子商务的道路,即使用 Internet 技术转变关键的商务过程。
本章介绍电子商务理念及有关技术基础,包括 Internet、Web 和 Java。
1.1 电子商务理念
从 20 世纪 70 年代以来,很多机构依靠电子数据交换(EDI、Electronic Data Interchange)
实现业务处理的自动化。EDI 着重于商业伙伴之间的事务处理标准化,但是 EDI 标准缺乏灵
活性和可扩展性。进入 20 世纪 90 年代,随着 Web 技术的发展,尤其是在 1995 年 Java 出现
以后,许多机构开始采用 Web 应用系统来支持电子商务。电子商务(e-business)是指借助
Internet 及相关技术进行商务活动,而
一个电子商务(an e-business)是这样的一个机构,它通过内部
网、外部网和 Web 将关键业务系统直接连接到客户、员工、供应商和业务伙伴。一个机构要转型为一个电
子商务,就要使用 Internet 技术转变关键的业务过程,如客户关系管理、电子商贸、供应链管理、企业内
部管理。这个转变过程也是一个综合使用 Internet 技术、信息技术、商务技术转变业务方式的过程。
然而,电子商务不仅仅是技术更新。转变到电子商务必须对需要做什么有一个明确的蓝图,以及对实
现这个蓝图有一个清晰的发展指南。电子商务周期模型正是为企业开展电子商务提供了一个模型。电子商
务周期(参见图 1-1)由四个组成阶段,包括转变、构造、运行和利用。想要转变到电子商务的机构无论
何时均可以从任何一个阶段开始。这也是一个重复的过程。
1
This eBook made by bullboss@163.com 2003-04-19
2
图 1-1:电子商务周期模型
1) 转变阶段是关于转变核心的商务过程,也就是要将现有的商务模型扩展到网络世界以创造一个电子商
务模型。应用 Internet 技术为商务创造最大限度的价值,电子商务改变着客户关系管理、供应链和
电子商贸的传统准则。在转变商务过程时,每一个商务过程应该放在整体环境中加以考虑。否则,充
其量只是离散的各个更好的商务过程,无法带来期望的改善客户服务和提高电子商务价值的效果。
2) 构造阶段是关于构造新的应用系统。转变核心的商务过程需要新一代的应用系统。构造阶段也包括使
用一个基于开放标准的途径将已有应用系统迁移到 Web 上。要求电子商务应用系统是基于标准的、以
服务器为中心的、可伸缩的、可快速部署、易用和易管理的。
3) 运行阶段涉及一个可伸缩的、可用的、安全的运行环境。围绕着商务和应用系统通常有一个基础设施。
基础设施提供的服务要求是可用的、可伸缩的、易管理的和安全的。
4) 利用阶段是关于知识和信息的利用。这里的焦点是知识管理,也就是说利用我们知道的东西。与信息
管理不同,知识管理包括对显式知识和隐式知识的管理。传统的 IT 系统处理的是显式知识,即能写
下来并能编程处理的。而隐式知识是人们知道的但没有被写下来的东西,它基于直觉、经验和洞察力。
从简单的开始,快速地增长。从现有的基础上构造电子商务应用系统,逐步将核心业务扩展到 Internet
上,最终实现电子商务带来的巨大的投资回报。然而,电子商务的技术基础主要包括 Internet、Web 和 Java,
本章以下各节介绍这些技术的基础知识。
1.2 Internet 基础知识
Internet 已经成为企业、政府和研究机构共享信息的基础设施,同时也是开展电子商务的基础。Internet
的先驱是 ARPANET。美国国防高级研究计划局 (Defense Advanced Research Project Agency、简称 DARPA)
于 20 世纪 60 年代后期资助开发了一种叫做 ARPANET 的实验性通讯系统。起初,它仅用于连接美国军
事机构的计算机网络,但随后不久,这个网络很快扩展到与国防有关的公司和研究机构。从此,面向特定
应用需求的不同网络协议及网络技术相继出现,同时也带来了网络互连的问题。如果两个网络使用不同的
协议,即使采用某种网络技术将它们在物理上互相连接起来,应用系统(如邮件系统)之间也无法相互沟
通。为此,很多组织,如 CCITT(Consultative Committee on International Telephony and
Telegraphy,现在成为 ITU-T,即 International Telecommunications Union - Telecommunication
Standardization Sector)和 ISO(国际标准化组织),开始考虑定义一套分层协议族,使得应用系统之间
能相互通信,即使这些应用系统运行在不同的网络环境中(如不同的操作系统和不同的网络技术)。DARPA
从 1970 年左右开始研究一套称之为 TCP/IP 的分层协议族,于 1978 年左右基本定形。ARPANET 于 1980
年左右开始采用 TCP/IP 协议族,并于 1983 年全面实现。与此同时,TCP/IP 协议族在 UNIX 操作系统中
This eBook made by bullboss@163.com 2003-04-19
也得到了实现(由加利福尼亚大学伯克利分校完成),并免费分发。从此,TCP/IP 在大学和研究机构中迅
速传播,并成为连接 UNIX 系统的标准协议。这些互相连接的网络广泛深入到大学和其它组织(一开始主
要是非赢利组织)。由于个人计算机的迅速普及,该网络扩展到全球大部分地方,并且开始吸引成千上万
的个人以及赢利组织加入,由此逐渐形成了所谓的 Internet(因特网)。Internet 指的是全球性互连网络。
它由下列网络群构成:
1) 主干网:通常为大规模网络,这些网络主要用来与其它网络互连,如美国的NSFNET(NSF是指美国
国家自然科学基金会)、欧洲的EBONE、大型的商用主干网。
2) 区域网:如连接大专院校的区域网。
3) 商用网络:为客户提供连接骨干网的服务的网络,或只供公司内部使用且连接到Internet的网络。
4) 局域网:如校园网。
90年代,Internet发展十分迅猛,这与1991年HTML的问世和Gopher的免费发放有关,也与1993年
Mosaic的问世有关,Internet的商用也加速了Internet的扩张。到20世纪末,Internet已经成为一种通过服务
器将小型网络连接起来的错综复杂的网络结构。大部分情况下,服务器通过专门进行 Internet 通讯的线路
来传送数据。个人计算机则通过直接线路,或者通过电话线和调制解调器连接到这些服务器上。直接线路
一般是高速的电讯线路,专门用于在建筑物之间或组织之间传送数据。而标准的电话线路,现在主要是综
合业务数字网络(ISDN)的线路,则通常用于连接个人计算机。
1.3 Web 基本知识
Web(World Wide Web、万维网)技术是电子商务的核心技术。Web 的思想可追溯到 Tim Berners-Lee
于 1989 年 3 月在 CERN (Centre European pour la Recherche Nucleaire,或称 European Laboratory for Particle
Physics、欧洲粒子物理实验室)写的一个关于信息管理的项目建议书(Information Management: A Proposal)。
该建议书提出了分布式超文本系统的设想,旨在将 CERN 已有的几个信息服务器一体化,并提供一个简单
的用户界面来存取各种形式的信息。1990 年 Web 浏览器和 Web 服务器使用面向对象技术相继在 CERN 实
现。Berners-Lee 和他的合作伙伴成功引入了构成 Web 体系结构的基本元素:Web 服务器、Web 浏览器、
浏览器与服务器之间的通信协议 HTTP(Hypertext Transfer Protocol 、超文本传输协议)、写 Web 文档的语
言 HTML(Hypertext Markup Language、超文本标记语言)、以及用来标识 Web 上资源的 URL(Universal
Resource Locator 、统一资源定位器)。1993 年,美国伊利诺斯大学国家超级计算应用中心 NCSA (National
Center for Supercomputing Applications)的 Marc Andreesen 及其合作者发布了称为 Mosaic 的浏览器,这是第
一个较健壮的易用的浏览器,它具有友善的图形用户界面。从此,Web 迅速成长为全球范围内的信息宝库。
1994 年,W3 联盟在 Tim Berners-Lee 的领导下成立,该组织通过制定技术规范与提供参考软件来发展 Web
的技术标准并促进 Web 产品之间的互操作性。
URL(Universal Resource Locator 、统一资源定位器)用来唯一标识 Web 上的资源,包括 Web 页面、图
象文件(如 gif 格式文件和 jpeg 格式文件)、音频文件(如 au 格式)、视频文件 (如 mpeg 格式文件)。URL 的
格式为:协议://主机名<:端口号>/标识符(例如 http://www.seu.edu.cn:80/index.html )。协议可以是 HTTP、
HTTPS(安全的超文本传输协议)、FTP;主机名用来标识被请求的服务器;端口通常为不同协议保留,例
如 FTP 和 HTTP 守护进程侦听不同的端口,FTP 缺省的端口号为 21,HTTP 缺省的端口号为 80;标识符
说明被请求的是什么,可以是文件名(含路径)或一个应用关键字 (如/cgi-bin/和/servlet/)加上一些信息(如
一个脚本的名字和 servlet 的名字)。例如,用户键入 URL 格式的地址( 例如
http://www.seu.edu.cn:80/index.html );浏览器请求主机www.seu.edu.cn 在 80 端口提供的 HTTP 服务,并要
求取得该服务器上的 index.html 文件;服务器接受请求,取得该文件;服务器把文件返回浏览器,并告诉
浏览器这是一个 HTML 文件;浏览器在显示器上显示这个页面。在浏览器和 web 服务器之间使用的协议
是 HTTP。
HTTP(Hyper Text Transfer Protocol、超文本传输协议)是用来在互连网上传输文档的协议,它是 Web
上最常用也是最重要的协议,也是 Web 服务器和 Web 客户(如浏览器)之间传输 Web 页面的基础。HTTP
是建立在 TCP/IP 之上的应用协议,但并不是面向连接的,而是一种请求/应答(Request/Response)式协议。
3
This eBook made by bullboss@163.com 2003-04-19
浏览器通常通过 HTTP 向 Web 服务器发送一个 HTTP 请求,其中包括一个方法、可能的几个头、一个体。
常用的方法类型包括:GET(请求一个网页)、POST(传送一个表单中的信息)、PUT(存入这个信息、类
似于 FTP 中的 PUT)和 DELETE(删除这个信息)。Web 服务器接受到 HTTP 请求之后,执行客户所请求
的服务,生成一个 HTTP 应答返回给客户。HTTP 应答有一个状态行、可能的几个头、一个体。在头中可以
定义返回文档的内容类型(MIME 类型)、Cache 控制、失效时间。MIME 类型包括:“text/html”(HTML
文本)、“image/jpeg”(JPEG 图)、“audio/ra”(RealAudio 文件)。HTTP 本身也在不断完善和发展,目前,
常用的是 HTTP1.1,它更好地利用 TCP 的特性,对 HTTP1.0 作了改进。
HTML (Hypertext Markup Language、超文本标记语言)是 Web 诞生与发展的要素之一,它旨在使得
Web 页面能显示在任何 HTML 使能的浏览器中,而与连网的机器平台无关。HTML 并不是一个程序设计
语言,而是一个标记语言,它所提供的标记是由 SGML(Standard Generalized Markup Language,标准的
通用标记语言)定义的。SGML 是 ISO(国际标准化组织)在 1986 年推出的一个用来创建标记语言的语
言标准,它源自 IBM 早在 1969 年开发的 GML(Generalized Markup Language),该语言的名称也正好包
含了三位创始人姓字的第一个字母,他们分别是 Charles F. Goldfarb, Edward Mosher,Raymond Lorie。SGML
是一种元语言,即用来定义标记语言的语言,它提供了一种将数据内容与显示分离开来的数据表示方法,
使得数据独立于机器平台和处理程序。这些特性促使 Tim Berners-Lee 采用 SGML 来创建称之为 HTML
的标记语言。1993 年形成 HTML 1.0,以后不断完善,HTML 4.0 发表于 1997 年。特别需要指出的是 HTML
提供的链接机制是 Web 的本质特性之一。但是,HTML 更多的关注 Web 浏览器如何在页面上安排文本、
图象和按钮等,过多地考虑外观使其缺乏对结构化数据的表示能力。另外,HTML 中有限的标记不能满
足很多 Web 应用的需要,如基于 Web 的大型出版系统和新一代的电子商务,而为各种应用需要不断地往
HTML 中增加标记显然不是最终的解决方法,究其原因是 HTML 缺乏可扩展性。解决方案应该是简化
SGML 使之能应用到 Web 上。为此,从 1996 年开始,W3C(World Wide Web Consortium) 的一个工作
组在 Jon Bosak 的领导下致力于设计一个超越 HTML 能力范围的新语言,这个语言后来被命名为 XML
(Extensible Markup Language,可扩展标记语言)。1998 年 2 月,W3C 发布了 XML 1.0 作为其推荐标准。
现在,W3C 已经用 XML 设计出一个与 HTML4.01 功能等价的语言,称为 XHTML1.0 (Extensible HyperText
Markup Language)。
Web 客户通常指的是 Web 浏览器,如 Netscape Navigator 和 Microsoft Internet Explorer。这种浏览器能
理解多种协议,如 HTTP、HTTPS、FTP;也能理解多种文档格式,如 text、HTML、JPEG(一种图象文件
格式)、XML(有的尚未支持);也具备根据对象类型调用外部应用的功能。需要指出的是 HTML 文档中的
链接在 Web 浏览器中通常以带下划线的方式显示,用户点击某个链接就能浏览到所链接的 Web 资源,这
也是 Web 的魅力所在。
Web 服务器(或称 HTTP 服务器)提供 HTTP 服务。本来 Web 服务器只提供“静态”内容,即返回在
URL 里指定的文件的内容,一般具备将 URL 名映射到文件名的功能,并能实施某种安全策略。现在,可
采用 CGI(通用网关接口)技术或 Java Servlet 技术从一个运行的程序里得出“动态”内容,可以采用应用
关键字(如/cgi-bin/和/servlet/)来组织脚本文件和 Servlet 文件,而且现在的 Web 服务器通常还具备连接数
据库的功能,这些形成了 Web 应用的出现。通常,一个 Web 服务器还提供其它服务,如 FTP 服务。有的
还可作为代理服务器。一个代理服务器是一个可以从别的服务器上为它的客户取文件的服务器。代理服务
器可以通过缓存应答(页面)使得响应时间更快,也可以降低网络流量,对外能隐藏内部网信息。
总之,URL、HTTP、HTML(以及 XML)、Web 服务器和 Web 浏览器是构成 Web 的五大要素。Web 的
本质内涵是一个建立在 Internet 基础上的网络化超文本信息传递系统,而 Web 的外延是不断扩展的信息空
间。Web 的基本技术在于对 Web 资源的标识机制(如 URL)、应用协议(如 HTTP 和 HTTPS)、数据格式
(如 HTML 和 XML)。这些技术的发展日新月异,同时新的技术不断涌现,因此 Web 的发展前景不可限
量。
1.4 Java 简介
现代技术的发展,尤其是网络技术,给现代企业带来了许多新的机遇和挑战,如改善客户服务、全球
4
This eBook made by bullboss@163.com 2003-04-19
化和信息检索等,这些在技术上反映为信息的获取、系统管理、系统集成、新技术的开发、Internet、Intranet
等等与商业的结合。而这些要求一个随处可用的开放的结构和在不同的平台之间低成本的信息传递方式,
Java 正好满足这些要求。
Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言(以下简称 Java 语言)和
Java 平台的总称。用 Java 实现的 HotJava 浏览器(支持 Java applet)显示了 Java 的魅力:跨平台、动
感的 Web、Internet 计算。从此,Java 被广泛接受并推动了 Web 的迅速发展,常用的浏览器现在均支持
Java applet。另一方面,Java 技术也不断更新。
Java 平台由 Java 虚拟机(Java Virtual Machine)和 Java 应用编程接口(Application Programming
Interface、简称 API)构成。Java 应用编程接口为 Java 应用提供了一个独立于操作系统的标准接口,可
分为基本部分和扩展部分。在硬件或操作系统平台上安装一个 Java 平台之后,Java 应用程序就可运行。
现在 Java 平台已经嵌入了几乎所有的操作系统。这样 Java 程序可以只编译一次,就可以在各种系统中运
行。Java 应用编程接口已经从 1.1.x 版发展到 1.2 版。目前常用的 Java 平台基于 Java1.2。
Java 语言是一个支持网络计算的面向对象程序设计语言。Java 语言吸收了 Smalltalk 语言和 C++语言
的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。主要特性如下:
1) Java 语言是简单的。Java 语言的语法与 C 语言和 C++语言很接近,使得大多数程序员很容易学习和使
用 Java。另一方面,Java 丢弃了 C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符
重载、多继承、自动的强制类型转换。特别地,Java 语言不使用指针,并提供了自动的废料收集,使
得程序员不必为内存管理而担忧。
2) Java 语言是一个面向对象的。Java 语言提供类、接口和继承等原语,为了简单起见,只支持类之间
的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements)。Java
语言全面支持动态绑定,而 C++ 语言只对虚函数使用动态绑定。总之,Java 语言是一个纯的面向对
象程序设计语言。
3) Java 语言是分布式的。Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个
网络应用编程接口(java.net),它提供了用于网络应用编程的类库,包括 URL、URLConnection、Socket、
ServerSocket 等。Java 的 RMI(远程方法激活)机制也是开发分布式应用的重要手段。
4) Java 语言是健壮的。Java 的强类型机制、异常处理、废料的自动收集等是 Java 程序健壮性的重要保
证。对指针的丢弃是 Java 的明智选择。Java 的安全检查机制使得 Java 更具健壮性。
5) Java 语言是安全的。Java 通常被用在网络环境中,为此,Java 提供了一个安全机制以防恶意代码的
攻击。除了 Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类
ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制
(类 SecurityManager)让 Java 应用设置安全哨兵。
6) Java 语言是体系结构中立的。Java 程序(后缀为 java 的文件)在 Java 平台上被编译为体系结构中
立的字节码格式(后缀为 class 的文件), 然后可以在实现这个 Java 平台的任何系统中运行。这种
途径适合于异构的网络环境和软件的分发。
7) Java 语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java 还严格规定了各个基本数
据类型的长度。Java 系统本身也具有很强的可移植性,Java 编译器是用 Java 实现的,Java 的运行环
境是用 ANSI C 实现的。
8) Java 语言是解释型的。如前所述,Java 程序在 Java 平台上被编译为字节码格式, 然后可以在实现
这个 Java 平台的任何系统中运行。在运行时,Java 平台中的 Java 解释器对这些字节码进行解释执行,
执行过程中需要的类在联接阶段被载入到运行环境中。
9) Java 是高性能的。与那些解释型的高级脚本语言相比,Java 的确是高性能的。事实上,Java 的运行
速度随着 JIT(Just-In-Time)编译器技术的发展越来越接近于 C++。
10) Java 语言是多线程的。在 Java 语言中,线程是一种特殊的对象,它必须由 Thread 类或其子(孙)类
来创建。通常有两种方法来创建线程:其一,使用型构为 Thread(Runnable) 的构造子将一个实现了
Runnable 接口的对象包装成一个线程,其二,从 Thread 类派生出子类并重写 run 方法,使用该子类
创建的对象即为线程。值得注意的是 Thread 类已经实现了 Runnable 接口,因此,任何一个线程均有
5