《深入掌握J2EE编程技术》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:杨绍方编著
  • 出 版 社:北京:科学出版社
  • 出版年份:2002
  • ISBN:7030103866
  • 页数:620 页
图书介绍:本书全面介绍了JSP层,EJB层和EIS层的设计思想与编程技术,涉及的内容包括:JDBC、JNDI、LDAP、JSP、EJB、SAX与DOM等。这些内容基本涵盖了J2EE平台开发的主要内容。

第1章 绪论 1

第1节 概述 1

1.1.1 J2EE技术 1

1.1.2 J2EE平台的结构 3

1.1.3 J2EE平台的特点 5

1.1.4 J2EE平台的优点 7

第2节 J2EE的角色 8

第3节 J2EE应用程序的开发 9

1.3.1 J2EE应用程序的组成 10

1.3.2 J2EE应用程序的开发过程 11

第2章 J2EE快速入门 13

第1节 源程序及环境设置 13

2.1.1 Enterprise Bean的源代码 13

2.1.2 编译Enterprise Bean 15

第2节 配置Enterpnise Bean 18

2.2.1 第1步:在DOS命令行启动J2EE服务器 18

2.2.2 第2步:运行应用程序配置工具 19

2.2.3 第3步:创建一个新的J2EE应用程序 20

2.2.4 第4步:打包Enterprise Bean 20

2.2.5 第5步:指定Enterprise Bean的JNDI名 24

第3节 J2EE应用程序客户机 24

2.3.1 ConverterClient.java源程序 24

2.3.2 打包J2EE应用程序客户机 26

2.3.3 指定应用程序客户机对Enterprise Bean的引用 29

2.3.4 指定Enterprise Bean的JNDI名 29

第4节 部署J2EE应用程序 30

第5节 运行J2EE应用程序客户机 31

第6节 创建Web客户机 32

2.6.1 源程序:index.jsp 32

2.6.2 打包Web客户机 34

2.6.3 Web客户机如何引用Enterprise Bean 36

2.6.4 指定JNDI名 37

2.6.5 部署 38

2.6.6 运行Web客户机 38

第3章 JNDI与LDAP 40

第1节 命名与目录 40

3.1.1 命名的概念 40

3.1.2 目录的概念 41

第2节 JNDI基础 42

3.2.1 JNDI的结构 42

3.2.2 naming包 43

3.2.3 directory包 45

3.2.4 事件 46

第3节 LDAP编程技术 46

3.3.1 理解LDAP 47

3.3.2 在Java中使用Netscape Directory SDK 49

3.3.3 快速入门 50

3.3.4 LDAP URL 53

3.3.5 常见操作 55

第4章 JDBC编程技术 63

第1节 JDBC编程技术综述 63

4.1.1 JDBC的概念 63

4.1.2 JDBC的用途 64

4.1.3 JDBC-ODBC桥 65

4.1.4 JDBC URL 65

4.1.5 odbc子协议 66

4.1.6 事务 67

第2节 DriverManager类 67

第3节 Statement接口 68

第4节 PreparedStatement接口 70

第5节 ResultSet接口 71

第6节 JDBC编程实例:JDBCDemo.java 73

4.6.1 创建新的ODBC数据资源 73

4.6.2 ODBC编程的典型步骤 75

4.6.3 源程序:JDBCDemo.java 75

第7节 JDBC数据库连接池 79

4.7.1 原理 79

4.7.2 JDBC数据库连接池的实现 79

4.7.3 在Servlet中使用连接池 90

第5章 Servlet编程技术 93

第1节 Java Servlet概述 93

5.1.1 关于Servlet 93

5.1.2 javax.servlet API的特征 94

第2节 体会Servlet编程:一个简单的网页计数器 97

5.2.1 源程序:SimpleCountet.java 98

5.2.2 编译、打包、部署与运行 99

第3节 Servlet的相关类和接口 102

5.3.1 HttpServlet类 102

5.3.2 HttpServletRequest接口 105

5.3.3 HttpServletResponse接口 107

5.3.4 ServletConfig接口 110

5.3.5 ServletContext接口 110

5.3.6 ServletInputStream类 111

5.3.7 ServletOutputStream类 111

第4节 探查Servlet服务器的环境信息 112

5.4.1 源程序 112

5.4.2 添加Web组件、部署和运行 116

第5节 Cookie编程技术 117

5.5.1 概述 117

5.5.2 Servlet Cookie API 118

5.5.3 Cookie的常用操作 119

5.5.4 实例 119

第6节 session编程技术 122

5.6.1 HTTP状态的维护 122

5.6.2 Session API的使用 123

5.6.3 实例:ShowSession.Java 123

第6章 JSP编程技术 127

第1节 概述 127

6.1.1 什么是JSP页 127

6.1.2 Java Server Page技术的特点 128

6.1.3 JSP页的语义 129

第2节 Web应用程序及其模式 131

6.2.1 应用程序的模式 131

6.2.2 JSP技术在XML中的使用 132

6.2.3 重定向请求 133

6.2.4 包含请求 133

第3节 JSP页的标准语法和语义 134

6.3.1 一般的语法规则 134

6.3.2 错误处理 135

6.3.3 注释 135

6.3.4 转义的约定 136

6.3.5 语义概述 136

第4节 指令(directive) 137

6.4.1 page指令 137

6.4.2 include指令 139

6.4.3 taglib指令 139

第5节 隐含对象 139

6.5.1 隐含对象的类型 139

6.5.2 隐含对象与范围 140

第6节 使用脚本元素 141

6.6.1 如何增加脚本 141

6.6.2 <%,<%=和<%!之间的区别 141

第7节 标准的action 142

6.7.1 <jsp:useBean> 142

6.7.2 <jsp:setProperty> 144

6.7.3 <jsp:getProperty> 145

6.7.4 <jsp:include> 145

6.7.5 <jsp:forward> 146

6.7.6 <jsp:param> 146

6.7.7 <jsp:plugin> 146

第8节 JSP容器 147

6.8 JSP页的模式 147

6.8.2 JSP页实现类 149

6.8.3 缓冲 150

6.8.4 预编译 151

第9节 JSP技术类 151

6.9.1 JspPage接口和HttpJspPage接口 151

6.9.2 JspWriter抽象类 152

6.9.3 PageContext抽象类 154

6.9.4 JspFactory抽象类 157

第10节 实例:显示页面所提交的内容 158

6.10.1 源程序 158

6.10.2 运行结果 162

第11节 JSP中的JavaBeans 163

6.11.1 JavaBeans及其用途 164

6.11.2 创建JavaBeans 164

第7章 JSP taglib编程技术 166

第1节 taglib基础 166

7.1.1 概述 166

7.1.2 使用标记 167

7.1.3 JSP tag API 168

第2节 taglib编程快速入门 169

7.2.1 taglib的实现体系 169

7.2.2 tag handler类 170

7.2.3 实例 171

7.2.4 taglib的配置、部署与运行 174

第3节 JSP tag API及其生命周期 179

7.3.1 Tag接口及其生命周期 179

7.3.2 IterationTag接口及其生命周期 183

7.3.3 Body Tag接口及其生命周期 183

7.3.4 TagSupport类 185

7.3.5 Body TagSupport类 187

7.3.6 BodyContent类 188

7.3.7 TagData类 189

7.3.8 PageData类 190

7.3.9 TagAttributeInfo类 190

7.3.10 TagExtraInfo类 191

7.3.11 TagInfo类 191

7.3.12 TagLibraryInfo类 193

7.3.13 TagLibrary Validator类 194

7.3.14 Tag VariableInfo类 194

7.3.15 ValidationMessage类 195

7.3.16 VariableInfo类 196

第4节 在标记中使用属性 197

7.4.1 带属性的标记 197

7.4.2 实例 199

第5节 包含标记的体 204

7.5.1 含有体的标记 204

7.5.2 tag handler类 206

7.5.3 标记库描述符文件 208

7.5.4 JSP文件(HeadingTag.jsp) 209

7.5.5 运行 210

第6节 操作标记的体 211

7.6.1 简介 211

7.6.2 实例 211

第8章 EJB概述 215

第1节 简介 215

8.1.1 Enterprise JavaBean的起源 215

8.1.2 Enterprise JavaBean的特点 217

8.1.3 Enterprise JavaBean的角色 217

8.1.4 Java Beans组件和Enterprise JavaBeans 219

8.1.5 Enterprise JavaBeans编程的限制 219

8.1.6 场景:开发,装配和部署 219

第2节 Enterprise JavaBean基础 220

8.2.1 作为组件的Enterprise JavaBean 220

8.2.2 Enterprise JavaBean的约定 220

8.2.3 Session和Entity对象 222

8.2.4 标准的CORBA映射 223

8.2.5 Enterprise JavaBeans对session状态的维护 224

8.2.6 Helper对象 224

第3节 J2EE应用程序的设计思想 225

8.3.1 概述 225

8.3.2 选择系统结构 226

8.3.3 应用程序对象 226

8.3.4 数据访问对象 227

8.3.5 值对象 228

8.3.6 Session Beans作为Entity Beans的前台 229

第9章 Session Bean 230

第1节 Stateful Session Beans实例 230

9.1.1 Stateful Session Bean类:CartEJB.java 230

9.1.2 Home接口:CartHome.Java 235

9.1.3 Remote接口:Cart.Java 235

9.1.4 Helper类 236

9.1.5 客户机:CartClient.java 237

9.1.6 在Stateful和Stateless Session Beans之间做出选择 238

第2节 剖析Session Bean 240

9.2.1 简介 240

9.2.2 EJB容器 241

9.2.3 EJB对象 242

9.2.4 session对象的标识符 243

9.2.5 客户机角度的session bean生命周期 243

9.2.6 创建和使用session bean 244

第3节 Session Bean组件的约定 244

9.3.1 简介 244

9.3.2 会话的状态 245

9.3.3 Session Bean与其容器之间的协议 246

9.3.4 Stateful Session Bean状态图 248

9.3.5 Stateful Session Bean的序列图 250

9.3.6 Stateless Session Bean 253

9.3.7 Stateless Session Bean的状态图 254

9.3.8 Stateless Session Bean的序列图 254

9.3.9 Enterprise Bean提供者的责任 256

9.3.10 容器提供者的责任 258

第4节 Session Bean的例子 259

9.4.1 session bean提供者的责任 259

9.4.2 容器提供者提供的类 260

9.4.3 容器提供者的责任 260

第10章 Entity Bean 261

第1节 概述 261

10.1.1 简介 261

10.1.2 Entity Beans的特征 262

10.1.3 异常处理 263

第2节 Bean管理持久存储(BMP)的实例 264

10.2.1 Entity Bean类:AccountEJB.java 264

10.2.2 Home接口:AccountHome.java 278

10.2.3 Remote接口:Account.java 279

10.2.4 部署并运行AccountEJB实例 280

10.2.5 运行客户机 286

第3节 容器管理持久存储(CMP)的实例 288

10.3.1 Entity Bean类:ProductEJB.java 288

10.3.2 Home接口:ProductHome.java 291

10.3.3 Remote接口:Product.java 292

10.3.4 客户机类:ProductClient.java 292

10.3.5 创建表 294

10.3.6 运行ProductEJB实例 294

第4节 Entity Bean组件的约定 300

10.4.1 运行时执行模式 300

10.4.2 Entity的持久存储 300

10.4.3 实例的生命周期 302

10.4.4 Entity Bean组件的约定 303

10.4.5 多个事务的并行访问 307

10.4.6 不可重入和可重入的实例 307

10.4.7 Enterprise Bean提供者的责任 308

10.4.8 容器提供者的责任 310

10.4.9 容器管理的Entity Bean 311

第5节 序列图 313

10.5.1 创建一个entity对象 313

10.5.2 在一个事务中钝化和活化一个实例 316

10.5.3 提交一个事务 317

10.5.4 启动下一个事务 320

10.5.5 移走一个entity对象 321

10.5.6 发现一个对象 322

10.5.7 从池中增加或移走实例 323

第6节 Entity Bean的例子 324

10.6.1 Enterprise Bean提供者的责任 324

10.6.2 容器提供者提供的类 325

10.6.3 容器提供者的责任 325

第11章 打包与部署 326

第1节 概述 326

11.1.1 简介 326

11.1.2 角色与任务 327

第2节 打包J2EE应用程序 330

11.2.1 EJB模块 330

11.2.2 将组件打包放进EJB模块 331

11.2.3 Web模块 332

11.2.4 将组件打包放进Web模块 333

11.2.5 应用程序的客户端模块 333

第3节 部署描述符 334

11.3.1 简介 334

11.3.2 部署描述符的一般元素 334

11.3.3 Enterprise Bean的元素 340

11.3.4 Web组件元素 342

第4节 部署工具 344

11.4.1 部署工具的行为 344

11.4.2 部署工具的要求 345

第12章 安全 349

第1节 概述 349

12.1.1 J2EE的安全 349

12.1.2 J2EE的角色与安全 351

12.1.3 资源的登录 352

第2节 认证 354

12.2.1 J2EE的用户、领域和组 354

12.2.2 客户机认证 355

12.2.3 管理J2EE用户和组 356

第3节 授权 356

12.3.1 声明角色 356

12.3.2 声明角色的引用 357

12.3.3 映射角色到J2EE的用户和组 358

第4节 其他安全措施 359

12.4.1 Bean管理的安全性 359

12.4.2 证书及其工具 360

12.4.3 设置J2EE服务器证书 362

第13章 事务 364

第1节 EJB的事务 364

13.1.1 简介 364

13.1.2 EJB事务的案例 365

13.1.3 事务的属性 367

第2节 认识JTS 369

13.2.1 简介 369

13.2.2 事务管理器的功能 370

13.2.3 事务管理器的实现 371

第3节 认识JTA 372

13.3.1 JTA与其他Java API的关系 373

13.3.2 Java Transaction API 373

13.3.3 在应用程序服务器中使用JTA 377

第14章 EIS与J2EE Connector 381

第1节 企业信息系统 381

14.1.1 企业信息系统集成案例 381

14.1.2 关系数据库管理系统的访问 383

14.1.3 访问对象 384

14.1.4 连接 386

第2节 J2EE Connector体系结构 387

14.2.1 简介 388

14.2.2 基本原理 390

14.2.3 Connector体系结构 391

14.2.4 案例 393

14.2.5 连接管理的目标 394

第3节 J2EE Connector的连接管理 394

14.3.1 体系结构:连接管理 394

14.3.2 应用程序编程模型 396

14.3.3 接口/类的规范 397

14.3.4 错误日志与跟踪 408

14.3.5 对象图 409

14.3.6 序列图 409

14.3.7 体系结构:非管理的环境 415

第4节 CCI简介 417

第15章 XML Java编程 419

第1节 XML入门 419

15.1.1 概述 419

15.1.2 XML如何使用 419

15.1.3 XML的语法 420

15.1.4 XML的元素 422

15.1.5 XML的属性 422

15.1.6 XML文档:cd_catalog.xml 424

第2节 DTD简介 426

15.2.1 元素 426

15.2.2 属性 427

第3节 XML文件的分析 428

15.3.1 XML解析器及其种类 428

15.3.2 校验XML文档的合法性 429

第4节 常用的接口和类 432

15.4.1 DocumentBuilderFactory类 432

15.4.2 DocumentBuilder类 432

15.4.3 Doeument接口 433

15.4.4 Element接口 435

15.4.5 Node接口 436

15.4.6 Attr接口 439

15.4.7 Text接口 439

15.4.8 HandlerBase类 440

15.4.9 DefaultHandler类 441

15.4.10 XMLReaderFactory类 444

15.4.11 XMLReader接口 444

15.4.12 Attributes接口 447

15.4.13 SAXParseException类 448

15.4.14 SAXException类 449

15.4.15 XmlDocument类 449

15.4.16 ElementNode类 451

15.4.17 Resolver类 452

第5节 实例 452

15.5.1 使用DOM创建XML文档 452

15.5.2 使用Swing JTree显示XML文档 454

15.5.3 使用SAX统计XML文件的标记 463

第16章 RMI编程技术 468

第1节 概述 468

16.1.1 分布式应用程序的责任 468

16.1.2 RMI的编程思想 469

第2节 RMI的接口和类 470

16.2.1 java.rmi.Remote接口 470

16.2.2 java.rmi.RemoteException类 470

16.2.3 java.rmi.server.RemoteObject类及其子类 471

16.2.4 java.rmi.registry.LocateRegistry类 471

16.2.5 java.rmi.Naming类 472

16.2.6 java.rmi.server.RemoteServer类 473

16.2.7 java.rmi.server.UnicastRemoteObject类 473

16.2.8 java.rmi.RMISecurityManager类 474

第3节 stub与skeleton 475

16.3.1 stub的功能 475

16.3.2 skeleton的功能 475

第4节 Java RMI编译器:rmic 475

第5节 RMI版的HelloWorld 477

16.5.1 编写RMI服务器 477

16.5.2 编写RMI客户端程序 479

16.5.3 批处理文件:RmiHello.bat 480

16.5.4 安全策略文件 481

16.5.5 本地运行 482

16.5.6 在不同机器上运行RMI软件 483

第6节 使用RMI技术实现分布式数据库操作 484

16.6.1 远程接口 485

16.6.2 实现远程接口 485

16.6.3 RMI服务器程序 488

16.6.4 RMI客户端程序 489

16.6.5 编译程序:compile.bat 491

16.6.6 安全策略文件:RmiJDBCServer.policy 492

16.6.7 启动RMI服务器 492

第17章 Java CORBA编程技术 493

第1节 CORBA与Java IDL 493

17.1.1 关于CORBA 493

17.1.2 关于Java IDL 494

17.1.3 Nutshell中的CORBA 494

17.1.4 Java IDL瞬态名字服务器:tnameserv 495

17.1.5 关于idlj.exe 496

第2节 相关的类和接口 497

17.2.1 org.omg.CORBA.ORB类 497

17.2.2 org.omg.CORBA.Object接口 500

17.2.3 org.omg.CosNaming.NamingContext接口 501

17.2.4 org.omg.CosNaming.NameComponent类 502

17.2.5 org.omg.CORBA.Request类 503

17.2.6 org.omg.CORBA.NVList类 504

第3节 一个简单的实例 505

17.3.1 批处理文件:CorbaDemo.bat 505

17.3.2 定义并转换接口文件:CorbaDemo.idl 506

17.3.3 实现CORBA服务器:TheDateServant.java 507

17.3.4 实现客户机:CorbaDemoClient.java 510

17.3.5 本地运行 511

17.3.6 在网络中不同计算机上运行 513

17.3.7 在applet中实现CORBA客户机 513

第18章 JavaMail 516

第1节 概述 516

18.1.1 JavaMail的体系结构 516

18.1.2 JavaMail类的层次结构 517

18.1.3 JavaMail框架 517

18.1.4 JavaMail事件模型 519

18.1.5 使用JavaMail API 519

第2节 Message及其相关的接口和类 520

18.2.1 简介 520

18.2.2 Message类的方法 521

18.2.3 相关的接口和类 521

18.2.4 消息的创建与发送 525

第3节 Mail Session 525

18.3.1 简介 525

18.3.2 提供者的登记 526

18.3.3 实例 528

18.3.4 安全管理 529

18.3.5 Store URL与Folder URL 530

第4节 消息的存储与获得 530

18.4.1 Store类 530

18.4.2 Folder类 531

18.4.3 Search的步骤 533

第5节 JavaBeans活动框架(JAF) 534

18.5.1 概述 534

18.5.2 对消息内容的操作 535

第6节 消息的写作 535

18.6.1 创建Message对象 536

18.6.2 消息的创建 536

18.6.3 设置消息的属性 536

18.6.4 设置Message的内容 537

18.6.5 创建MIME Multipart消息 537

第7节 传送的协议与机制 538

18.7.1 得到Transport对象 538

18.7.2 Transport的方法 538

18.7.3 Transport的事件 539

18.7.4 使用Transport类 539

第8节 Internet邮件 540

18.8.1 简介 540

18.8.2 MimeMessage类 540

18.8.3 MimeBodyPar类 541

18.8.4 MimeMultipart类 541

18.8.5 MimeUtility类 542

18.8.6 ContentType类 543

第9节 使用JavaMail API收发邮件 543

18.9.1 接收邮件 543

18.9.2 发送普通的邮件 546

18.9.3 发送带附件的邮件 548

第19章 JMS编程技术 551

第1节 概述 551

19.1.1 Messaging的定义 551

19.1.2 JMS API 551

第2节 JMS API的基本概念 553

19.2.1 JMS API的结构体系 553

19.2.2 消息域 553

19.2.3 Message消费 554

19.2.4 JMS API编程模型 555

第3节 编写简单的JMS客户机应用程序 560

19.3.1 简单的point-to-point 561

19.3.2 简单的Publish/Subscribe 568

第4节 创建强壮的JMS应用程序 575

19.4.1 使用基本的可靠性机制 575

19.4.2 使用先进的可靠性机制 578

第5节 在J2EE应用程序中使用JMS API 580

19.5.1 使用Enterprise Bean产生并同步地接收消息 580

19.5.2 使用Message-Driven Bean 581

19.5.3 管理分布式事务 583

第6节 使用JMS API的J2EE应用程序 584

19.6.1 编写组件 584

19.6.2 创建和打包 588

19.6.3 部署和运行 593

附录A 配置JbuiIder 5.0和WebIogic 6.X的开发环境 596

附录B Netscape目录服务器的安装 598

附录C 部署描述符文件 602

C.1 application.xml 602

C.1.1 语法和格式 602

C.1.2 实例 602

C.2 eib-iar.xml 603

C.2.1 语法和格式 603

C.2.2 实例 606

C.3 web.xml 611

C.3.1 语法和格式 611

C.3.2 实例 614

主要参考文献 619