本书结合大量示例与详尽的理论分析,系统地介绍了Java技术在Oracle9i中的实际应用。充分考虑 了Oracle 9i JDeveloper IDE与Oracle9i的紧密集成特性,从而使得开发人员能够借助这个IDE所提供的 强大功能,利用Java技术快速地构建Web应用。全书共包括4部分21章,内容涉及面向对象软件开发 技术与 UML、Oracle9i JDeveloper J2EE集成开发工具、Oracle9iAS J2EE容器、Servlet与JSP技术、JDBC技术与Java存储过程、Oracle9i Java商业组件技术、MVC设计模式与应用示例等。\r\n 本书适合计算机专业高年级本科生和Web应用开发人员阅读。
第1部分 IDE与软件开发技术\r\n\r\n第1章 Oracle9i JDeveloper概述\r\n\r\n1.1 Java 2企业版(JZEE)简介\r\n1.1.1 J2EE体系结构\r\n1.1.2 客户层\r\n1.1.3 表示层\r\n1.1.4 业务层\r\n1.1.5 企业信息系统层\r\n1.2 JDeveloper的功能与特点\r\n1.3 安装JDeveloper\r\n1.4 集成开发环境(IDE)\r\n1.4.1 命令工作区\r\n1.4.2 开发工作区\r\n1.4.3 信息浏览工作区\r\n1.4.4 使用联机帮助\r\n1.5 IDEI作环境配置\r\n1.6 JDeveloper对象库\r\n1.7 本章小结\r\n\r\n第2章 用JDeveloper开发Java程序\r\n\r\n2.1 开发Java Application程序\r\n2.2 开发Applet\r\n2.3 IDE工程配置\r\n2.3.1 文件类型\r\n2.3.2 IDEI程配置\r\n2.4 本章小结\r\n\r\n第3章 面向对象软件开发技术\r\n\r\n3.1 面向对象编程语言\r\n3.2 软件开发的方法与过程\r\n3.2.1 瀑布模型\r\n3.2.2 螺线模型\r\n3.3 面向对象软件开发方法\r\n3.3.1 面向对象的分析\r\n3.3.2 面向对象的设计\r\n3.3.3 对象模型化技术\r\n3.3.4 设计模式\r\n3.4 UML模型和视图\r\n3.5 UML图与软件开发阶段\r\n3.6 本章小结\r\n\r\n第4章 用UML进行对象建模\r\n\r\n4.1 用例图\r\n4.1.1 用例图的表示法\r\n4.1.2 用例之间的可视化表示\r\n4.2 类图和对象图\r\n4.2.1 类的可视化表示\r\n4.2.2 关系\r\n4.2.3 聚集、组成、接口和实现\r\n4.3 活动图\r\n4.4 顺序图\r\n4.5 协作图\r\n4.6 状态图\r\n4.7 组件图\r\n4.8 部署图\r\n4.9 本章小结\r\n\r\n第5章 UML建模工具\r\n\r\n5.1 Oracle9i JDeveloper UML建模工具\r\n5.2 Poseidon for UML建模工具\r\n5.3 Poseidon for UML CE设计环境\r\n5.3.1 工作区\r\n5.3.2 图形编辑\r\n5.4 模型的处理\r\n5.5 高级功能\r\n5.6 软件系统建模综合示例\r\n5.6.1 系统需求\r\n5.6.2 系统分析\r\n5.6.3 系统设计\r\n5.6.4 系统实现\r\n5.6.5 源代码生成\r\n5.7 本章小结\r\n\r\n第2部分 Web应用开发技术\r\n\r\n第6章 Oracleg9iAS Container for J2EE\r\n\r\n6.1 J2EE应用程序构成\r\n6.2 Oracle的 Java策略和 OraclegotS\r\n6.3 OC4J概述\r\n6.4 OC4J的应用开发特性\r\n6.5 初始化OC4J\r\n6.6 使用和部署Web应用\r\n6.6.1 注册Web应用\r\n6.6.2 Web应用结构\r\n6.7 开发J2EE应用程序\r\n6.8 本章小结\r\n\r\n第7章 基本servlet程序设计\r\n\r\n7.1 Servlet的基本概念\r\n7.2 基本Servlet结构\r\n7.2.1 GenericServlet与HttpServlet\r\n7.2.2 Servlet的生命周期\r\n7.3 在JDeveloper环境下开发Servlet\r\n7.3.1 创建基本的Servlet\r\n7.3.2 分析BasicServlet类\r\n7.4 Servlet与HTML表单\r\n7.5 本章小结\r\n\r\n第8章 Servlet 2.3 API程序设计\r\n\r\n8.1 javax.servlet包\r\n8.1.l javax.servlet接口\r\n8.1.2 javax.servlet类\r\n8.1.3 Servlet接口\r\n8.1.4 GenericServlet类\r\n8.1.5 ServletRequest接口\r\n8.1.6 ServletResponse接口\r\n8.2 javax.servlet.http包\r\n8.2.1 HttpServletRequest接口\r\n8.2.2 HttpServletResponse接口\r\n8.2.3 HttpServlet类\r\n8.3 构造一个HTTP请求头的Servlet\r\n8.4 Servlet会话处理\r\n8.4.1 HttpSession接口\r\n8.4.2 计数器Servlet\r\n8.4.3 网上书店 Servlet\r\n8.5 本章小结\r\n\r\n第9章 基本JSP程序设计\r\n\r\n9.1 JSP概述\r\n9.1.1 JSP运行原理\r\n9.1.2 JSP执行过程\r\n9.1.3 JSP生命周期\r\n9.2 JSP脚本元素\r\n9.3 在JDeveloper环境下开发JSP页面\r\n9.4 JSP隐含对象\r\n9.4.1 对象使用范围\r\n9.4.2 request/response对象\r\n9.4.3 表单和请求参数\r\n9.4.4 out对象\r\n9.4.5 session对象\r\n9.4.6 application对象\r\n9.4.7 page与config对象\r\n9.4.8 pageContext对象\r\n9.5 本章小结\r\n\r\n第10章 JSP指令与操作\r\n\r\n10.1 JSP指令\r\n10.1.1 page指令\r\n10.1.2 include指令\r\n10.1.3 taglib指令\r\n10.2 JSP操作\r\n10.2.1 <jsp:include>与操作\r\n10.2.2 10.2.3 10.3 JSP与 JavaBeans\r\n10.4 JavaBeans在JSP中的应用\r\n10.5 本章小结\r\n\r\n第3部分 Oracle9i Web应用开发技术\r\n\r\n第11章 基本JDBC程序设计\r\n\r\n11.1 JDBC体系结构\r\n11.2 java.sql包概述\r\n11.3 JDBC工作原理\r\n11.4 JDBC驱动程序\r\n11.5 用JDBC API连接通用数据库\r\n11.6 用JDBC API连接 Oracle9i数据库\r\n11.6.1 Oracle JDBC驱动程序\r\n11.6.2 目录服务与 JNDI\r\n11.6.3 javax.sql包\r\n11.6.4 JDBC数据源\r\n11.6.5 在JDeveloper环境下连接 Oracle9i数据库\r\n11.7 PL/SQL程序设计环境\r\n11.8 本章小结\r\n\r\n第12章 JDBC API程序设计\r\n\r\n12.1 Connection接口\r\n12.2 Statement接口\r\n12.3 ResultSet接口\r\n12.4 PreparedStatement接口\r\n12.5 CallableStatement接口\r\n12.6 DatabaseMetaData接口\r\n12.7 本章小结\r\n\r\n第13章 JDBC应用开发示例\r\n\r\n13.1 基本组成\r\n13.2 查询功能的页面设计\r\n13.3 添加功能的页面设计\r\n13.4 修改功能的页面设计\r\n13.5 删除功能的页面设计\r\n\r\n第14章 PL/SQL与JDBC程序设计\r\n\r\n14.1 PL/SQL程序设计\r\n14.1.1 程序结构\r\n14.1.2 变量和类型\r\n14.1.3 条件逻辑\r\n14.1.4 循环\r\n14.2 从JSP调用PL/SQL过程\r\n14.2.1 创建PL/SQL过程\r\n14.2.2 使用JDBC调用PL/SQL过程\r\n14.2.3 示例应用程序\r\n14.3 从JSP调用PL/SoL函数\r\n14.3.1 创建PL/SQL函数\r\n14.3.2 使用JDBC调用 PL/SQL函数\r\n14.3.3 示例应用程序\r\n14.4 本章小结\r\n\r\n第15章 Java存储过程\r\n\r\n15.1 Oracle JVM体系结构\r\n15.2 Java存储过程概述\r\n15.3 创建Java存储过程\r\n15.3.1 创建Java类\r\n15.3.2 创建数据库连接\r\n15.3.3 创建部署设置文件\r\n15.3.4 向部署设置文件添加Java方法\r\n15.3.5 使用部署设置文件装载类并公布Java方法\r\n15.4 从JSP调用Java存储过程\r\n15.5 本章小结\r\n\r\n第16章 Oracle JDBC连接池和缓存\r\n\r\n16.1 Oracle JDBC连接池和缓存包\r\n16.2 实现 Oracle JDBC连接池\r\n16.2.1 创建一个连接池数据源对象\r\n16.2.2 设置物理数据库连接的属性\r\n16.2.3 创建一个缓冲的连接对象\r\n16.2.4 请求、使用和最终关闭连接实例\r\n16.2.5 关闭缓冲的连接对象\r\n16.2.6 示例应用程序\r\n16.3 Oracle JDBC连接缓存\r\n16.3.1 创建连接缓存\r\n16.3.2 请求、使用和关闭连接实例\r\n16.3.3 关闭连接缓存\r\n16.3.4 示例应用程序\r\n16.3.5 控制PooledConnection对象数量\r\n16.4 本章小结\r\n\r\n第17章 Oracle9i Java商业组件\r\n\r\n17.1 BC4J概述\r\n17.2 BC4J应用结构\r\n17.3 BC4J的组件\r\n17.4 创建Java商业组件工程\r\n17.5 配置Java商业组件工程\r\n17.6 本章小结\r\n\r\n第18章 BC4J JSP程序设计\r\n\r\n18.1 BC4J JSP应用体系结构\r\n18.2 创建JSP应用的方法\r\n18.3 JSP元素\r\n18.3.1 数据标记库控件\r\n18.3.2 WebBean标记库控件\r\n18.4 用向导创建BC4J JSP应用\r\n18.4.1 创建BC4J JSP应用\r\n18.4.2 分析BC4J JSP应用\r\n18.4.3 部署与运行BC4J JSP应用\r\n18.5 手工创建BC4J JSP应用\r\n18.6 本章小结\r\n\r\n第19章 用户界面组件设计\r\n\r\n19.1 Java应用程序体系结构\r\n19.2 创建JClient窗体应用\r\n19.3 在JClient窗体中加入LOV功能\r\n19.3.1 创建JClient窗体\r\n19.3.2 启动“用户界面编辑器”\r\n19.3.3 加入JButton对象\r\n19.3.4 设定JButton对象的属性\r\n19.3.5 设定JButton对象的model属性\r\n19.3.6 定义LOV的绑定对象\r\n19.3.7 设定要显示的LOV字段\r\n19.3.8 执行程序\r\n19.4 在JClient窗体中加入JTree对象\r\n19.4.1 加入JTree对象\r\n19.4.2 设定JTree对象的数据模型\r\n19.5 本章小结\r\n\r\n第4部分 Web应用开发示例\r\n\r\n第20章 Web应用设计模式\r\n\r\n20.1 Web应用设计的重要性\r\n20.1.1 可维护性\r\n20.1.2 重用性\r\n20.1.3 扩充性\r\n20.2 问题的提出\r\n20.2.1 用户界面设计的可变性需求\r\n20.2.2 MVC解决方案\r\n20.3 MVC设计模式\r\n20.3.1 MVC体系结构\r\n20.3.2 MVC的动态行为关系\r\n20.3.3 MVC的CRC卡\r\n20.3.4 MVC的优缺点\r\n20.4 结构化Web应用\r\n20.4.1 Model 1结构\r\n20.4.2 Model 2结构\r\n20.5 本章小结\r\n\r\n第21章 Web应用开发示例\r\n\r\n21.1 功能概述\r\n21.2 体系结构\r\n21.3 显示功能模块设计\r\n21.4 删除功能模块设计\r\n21.5 修改功能模块设计\r\n21.6 添加功能模块设计\r\n21.7 本章小结\r\n\r\n附录 Java/Servlet/JSP/UML资源列表\r\n\r\n主要参考文献
对于软件开发人员来说,开发Web应用时有两个基本问题:一是选择哪些技术才能简化Web应用的开发;二是如何借助一个强有力的集成化开发环境(IDE)将Web应用 快速地部署到Web服务器,并使之具有高性能和扩展性,这是任何通过Internet访问的 Web应用所必须具有的共性。开发Web应用,要求不仅仅是匆忙地编写程序代码。作为 软件开发人员,必须理解并保证软件开发过程中各个步骤的正确性,主要包括面向对象的 分析与设计的软件开发方法、可视化建模及基本技术、Web应用设计模式等。
本书从Web应用开发的角度考虑,运用软件工程学的基本原理和方法,将与Web应 用开发密切相关的基本技术(Servlet、JSP、JDBC)、扩展技术(Java存储过程、JDBC连 接池和缓冲、Oracle9i Java商业组件)、集成开发环境(Oracle9i JDeveloper)、运行环境(Oracle9iAS Container for J2EE)、Oracle9i数据库、Web应用设计模式(MVC设计模式)有机地结合起来,为读者提供了一个Web应用开发的解决方案。
本书知识结构
本书包含21章,分成4个部分。
第1部分:IDE与软件开发技术
第1章,“Oracle9i JDeveloper概述”——Oracle9i JDeveloper是J2EE集成开发环境, 具有开发、调试和部署电子商务应用程序的端到端的支持功能,可以从Oracle公司网站 免费下载这个开发工具。本章简要介绍了Java 2企业版,详细介绍了Oracle9i JDeveloper 的功能与特点、安装与启动方法,以及IDE编程环境和怎样使用联机帮助。
第2章,“用JDeveloper开发Java程序”——通过示例介绍在Oracle9i JDeveloper环境下开发 Java Application程序和Applet的方法和步骤。
第3章,“面向对象软件开发技术”——介绍了面向对象的分析与设计,讨论了面向对象软件开发方法与UML模型的关系,对UML图在软件开发阶段所处的位置做了简要说明。
第4章,“用UML进行面向对象建模”——简要介绍了UML的9种图,重点讨论了类图、建立类图所应具备的建模元素,以及模型元素之间的语义连接。
第5章,“UML建模工具”——Oracle9i JDeveloper内嵌有UML建模工具,但是目 前的版本仅提供了对UML类图、对象图以及活动图的可视化建模功能。本书引入了可以 免费下载的建模工具软件Poseidon for UML CE。这个软件没有使用时间限制,能对所有 UML图和图元建模,具有保存和装入工程、生成Java源代码,以及从Java代码进行反 向工程的功能。本章介绍了Oracle9i JDeveloper UML建模工具,详细介绍了Poseidon for UML CE建模工具的运行环境、安装方法、主要功能,以及使用方法。本章以学生考试成 绩管理系统为例,阐述了如何运用面向对象的分析与设计的方法,以及使用UML建模工具为一个软件系统建模。
第2部分:Web应用开发技术
第6章,“Oracle9iAS Container for J2EE(OC4J)”——简要介绍了J2EE应用程序的 构成、开发的角色和阶段,详细介绍了Oracle9iAS提供的J2EE容器(OC4J)的应用开 发特性、初始化、启动与停止方法,以及在OC4J下怎样使用和部署Wall应用。
第7章,“基本Servlet程序设计”——介绍了Servlet的基本概念、Web服务器与容 器的关系、基本Servlet结构,以及Servlet与HTML表单。通过示例介绍了在Oracle9i JDeveloper环境下开发、部署和运行Servlet的方法和步骤。
第8章,“ Servlet 2.3 API程序设计”——介绍了Servlet 2.3 API中主要的接口和类。通过示例说明了这些接口和类的基本用法。
第9章,“基本JSP程序设计”——介绍了JSP的基本组成、基本语法与隐含对象,以及JSP的运行原理、执行过程与生命周期。通过示例介绍了在Oraclegi JDeveloper环境 下开发、部署和运行JSP页面的方法和步骤。
第10章,“JSP指令与操作”——介绍了JSP指令、JSP操作,以及Javalleans在JSP 中的应用。通过示例说明了JSP指令与操作的基本用法。
第3部分:Oracle9i Web应用开发技术
第11章,“基本 JDBC程序设计”——介绍了 JDBC概念、体系结构与工作原理,以 及JDBC驱动程序的类型。通过示例介绍了在Oracle9i JDeveloper环境下使用JDBC API 访问Oracle9i数据库的方法和步骤。
第12章,“JDBC API程序设计”——介绍了java.sql包中提供的主要的类和接口。通过示例说明了这些接口和类的基本用法。
第13章,“JDBC应用开发示例”——讨论了一个JDBC应用开发示例,其主要功能是:浏览图书信息;根据书号查询图书信息:添加、修改和删除图书信息。这个示例是在OC4J与Oracle9i数据库运行环境下用JSP与JDBC技术实现的。
第14章,“PL/SQL与JDBC程序设计”——介绍了PL/SQL程序设计语言。通过示例介绍了在JSP中使用JDBC调用 PL/SQL过程和函数的方法和步骤。
第15章,“Java存储过程”——讨论了Oracle JVM体系结构和Java存储过程。通过示例介绍了在Oracle9i JDeveloper环境下创建、部署和运行Java存储过程的方法和步骤,以及从JSP调用Java存储过程的方法。
第16章,“Oracle JDBC连接池与缓存”——通过示例讨论了JDBC连接池以及连接 缓冲的具体实现方式。
第17章,“Oracle9i Java商业组件(BC4J)”——介绍了 BC4J体系结构、工作原理及主要功能。通过示例介绍了在 Oracle9i JDeveloper环境下创建 BC4J的方法和步骤。
第18章,“ BC4J JSP程序设计”——通过示例介绍了在 Oracle9i JDeveloper环境下如何用向导创建BC4J JSP应用,以及如何利用Data Web Bean提供的数据感知控件来手工创建 BC4J JSP应用。
第10章,“用户界面组件设计”——介绍了在Oracle9i JDeveloner环境下使用 JClien Form与JClient Data Model对象模板,创建基于BC4)的JClient窗体应用程序的方法和步骤,以及在JClient窗体上添加具有值列表和树状节点功能的组件的方法。
第4部分:Web应用开发示例
第20章,“Web应用设计模式”——讨论了目前在软件应用开发中广泛使用的MVC 设计模式的概念及应用体系结构。
第21章,“Web应用开发示例”——讨论了一个基于MVC设计模式的Web应用开发示例,这个示例在第13章中是用JSP与JDBC技术实现的。本章根据MVC设计模式 的基本原理和方法,综合运用Servlet、JSP和JDBC技术实现这个Web应用。
本书读者对象
本书内容丰富,知识结构完整,强调基本技术与实际应用开发相结合。重视对面向 对象设计和编程有指导作用的解决方案(设计模式)的运用,突出对学生知识运用能力的 培养。本书适合大学计算机科学系和软件学院相关专业的高年级本科生阅读,可作为Java 相关课程的教科书、参考书和研究资料,也适合Web应用开发人员阅读和参考。
本书主要介绍JSVS语言在服务器端的各种方式的应用。因此,假设读者具有HTML 和Java语言的基础知识,并对Oracle 9i数据库以及SQL语言有一定程度的了解,希望运 用一些基本的Java技术,并借助集成开发工具(IDE)以及Oracle9i数据库来进行Web 应用的实际开发,本书将帮助您实现这一目标。
本书软件环境
· Microsoft Windows2000 Professional/server操作系统
· Java 2 SDKI.3.l编译、运行环境
· Oracle9i JDeveloper( 9.0.3版本)集成开发环境
· Oracle9i AS Container for J2EE(内嵌在 Oracle9i JDeveloper中)容器
· Oracle9i数据库
· Poseidon_for_UML_Community_Edition_1.4 UML建模工具致谢
东北大学信息科学与工程学院副院长、博士生导师于戈教授百忙之中审阅了本书全 稿,提出了许多有益的建议。董晓梅博士为本书第5章的撰写提供了部分资料。由于作者 水平有限,尽管竭力而为之,但是仍难免有不当之处,敬请读者批评指正。
宋波
2003年2月1日
无封面