精通java核心技术 作者:刘晓华 等编著 出版时间:2003丛编项: 精通系列内容简介 本书力图用深刻的理论和丰富的实例揭示Java企业版中的最新核心技术,全面扫除Java领域的学习障碍。全书分为两篇,共21章,包括GUI程序设计、线程、本地方法调用、远程方法调用、命名与目录服务、JavaBeans技术、JSP技术、网络编程、EJB技术、事务处理、基于JMS的消息处理、JavaMail技术、基于JAAS的安全技术、Web服务技术等专业开发者最关心的Java技术内容,使读者对整个J2EE架构有一个全面而透彻的认识。书中的例程对实际的应用开发有非常强的借鉴意义。飞思在线http://www.fecit.com.cn提供全书示例代码下载。本书适合于专业和准专业的Java程序员阅读,也可作为正在转向Java开发的各类程序员的必备Java参考书。前言关于本丛书“精通”系列是电子工业出版社经典的技术精品丛书,一直受到广大读者,特别是计算机专业技术人员的关注。在这些专业人士的支持和鼓励下,“精通”系列已经成为一个标杆,反映出目前国内外最新计算机技术的动态和发展方向。“精通”系列中的每部著作完全是作者的呕心沥血之作,代表了作者在该领域的最高成就,集成了作者多年的理论和实践经验,凸显了作者为计算机技术的发展做总结和展望的写作初衷。丛书的作者由著名高校的学科带头人、国际上知名的教授学者、权威的计算机专业人士和业界的集大成者组成。他们的知识结构、理论和实践体系有着突出的卓越之处:l站在技术的最前沿。l有最深刻的理论基础。l实践环境具有广泛的代表性和权威性。l结论的指导价值。因此,这样雄厚的写作班子保证了本系列丛书的高层次、高质量和高品质,也足以满足国内读者的高品位、高需求和高要求。除了作者之外,审校者同样实力超群,他们从理论的角度、读者需求的角度、技术成熟度的角度等不同的侧面,为作者提出了大量的参考意见和修改建议,使得每部著作的结构更坚实,体系更完整,理论更完善,针对性更强。电子工业出版社计算机研发部本着服务于读者、服务于科技的精神,在选题上精益求精,综合考虑和平衡了目前技术上的热点、未来发展的重点及潜在读者需求的卖点等多方面因素,精心推出此“精通”系列,并将不断进行补充。关于本书随着电子商务的迅猛发展,社会各个部门之间越来越需要依赖于企业级应用程序来共同协作。开发企业级应用程序的关键在于要有一个功能强大而又方便灵活的体系结构。J2EE为这种需求提供了一种良好的机制,其核心技术搭建起了Java企业应用的坚实平台。综观国内的技术发展,广大的Java程序开发人员及正在转向Java体系进行开发的技术人员虽然已面临这一令人激动和鼓舞的转型期,却苦于没有足够的相关资料和文献,尤其对国内的最新Java技术动态和技术现状知之甚少。而图书市场上Java的书籍尽管汗牛充栋,但精品罕见,能反映出J2EE框架全貌的书籍更是奇缺。本书力图用深刻的理论和丰富的实例揭示Java企业版中的最新核心技术,全面扫除Java领域的学习障碍。全书分为两篇,共21章,包括GUI程序设计、线程、本地方法调用(JNI)、远程方法调用(RMI)、命名与目录服务(JNDI)、JavaBeans技术、JSP技术、网络编程、EJB技术、事务处理、基于JMS的消息处理、JavaMail技术、基于JAAS的安全技术、Web服务技术等专业开发者最关心的Java技术内容,使读者对整个J2EE架构有一个全面而透彻的认识。本书中包含了大量的例程,这些例程对于实际的应用开发有着非常强的借鉴意义。书中的例程主要分为两类。一是完整的可以直接运行的程序。对于这类例程,我们给出了程序源代码、输出?峁统绦蜃⒔狻6琳呖梢栽贘Creator、JBuilder等集成开发环境中编译和运行这些程序。另一类例程是用来说明某个具体问题的子程序或代码段。对于这类例程,我们给出了源代码和程序注解。要运行这些子程序或代码段,必须将它们放入具体的主程序和运行环境中。飞思在线http://www.fecit.com.cn提供书中示例代码的下载。本书具有如下特点:l丰富的实例,将深奥的技术和简明易懂的编程思想紧密结合。l深入剖析J2EE整体架构,分析讲解开发企业级应用程序的各个层次。l全面介绍J2EE核心技术及它们在J2EE体系结构中所处的地位。本书适合于专业和准专业的Java程序员阅读,也是正在转向进行Java开发的各类程序员的必备Java参考书。本书由飞思科技产品研发中心策划,刘晓华主笔。李海平、蒋恒青、黄凯、李华、孙建设、丁越、由杨、邢玮、陈志雄、韩其昌、罗玉奎参与了本书的写作;吴锋、王树彦、李胜贤、张亦君、魏宏负责收集相关资料;赵文杰、胡刚、崔洪政编写了本书中的部分示例;徐炜、何晓亮对书中的代码进行了测试;范丽洁出色的文字润色工作也使本书增色不少。特别感谢廖彬、陈祥勇、区涛,他们对本选题提出了许多建设性意见。由于本书涉及的内容十分丰富,加之篇幅、时间所限,书中不足之处,敬请读者批评指正。如果在学习本书的过程中有问题,请发邮件给我们。我们的联系方式:咨询电话:(010)6813454568131648答疑邮件:[email protected]:http://www.fecit.com.cnhttp://www.fecit.net答疑:http://www.fecit.com.cn的“问题解答”专区下载:http://www.fecit.com.cn的“下载专区”通用网址:计算机图书、FECIT、飞思教育、飞思科技、飞思飞思科技产品研发中心目录第1篇 基 础 篇第1章 J2EE概述 31.1 J2EE的产生背景及其优点 31.2 J2EE的体系结构 41.3 J2EE技术概览 61.4 小结 8第2章 Java语言基础 92.1 标识符和关键字 92.2 数据类型和变量 102.3 运算符 122.3.1 算术运算符 122.3.2 赋值运算符 122.3.3 关系运算符 132.3.4 逻辑运算符 132.3.5 位运算符 142.3.6 移位运算符 142.3.7 条件运算符 152.3.8 运算符的优先级 162.4 控制语句 162.4.1 选择语句 162.4.2 循环语句 192.4.3 break和continue语句 202.5 类和对象 212.6 专题讨论:转型 242.6.1 向上转型 242.6.2 向下转型 262.6.3 混合转型 272.7 专题讨论:类的动态加载 282.8 小结 30第3章 GUI程序设计 313.1 事件处理模型 313.2 常用组件 323.2.1 JOptionPane 333.2.2 JFrame 343.2.3 JLabel 353.2.4 JTextField和JPasswordField 373.2.5 JButton 393.2.6 JCheckBox和JRadioButton 423.2.7 JTextArea 473.2.8 JMenu 483.3 键盘和鼠标事件 513.3.1 实例:键盘事件 513.3.2 实例:鼠标事件 533.3.3 实例:Adapter类的使用 563.4 布局管理器 583.4.1 实例:FlowLayout布局 593.4.2 实例:BorderLayout布局 613.4.3 实例:CardLayout布局 653.4.4 实例:GridLayout布局 683.5 Graphics和Java2D 693.5.1 实例:Graphics绘图 693.5.2 实例:Java2D绘图 713.6 常用高级Swing组件的使用 763.6.1 JTree的使用 763.6.2 JTable的使用 783.7 小结 80第2篇 技 术 篇第4章 异常处理 834.1 何谓异常 834.2 使用try和catch捕获异常 844.2.1 实例:异常的捕获 854.3 使用throw和throws引发异常 864.3.1 实例:throw语句的使用 864.3.2 实例:throws语句的使用 874.4 finally关键字 894.4.1 实例:finally关键字的用法 894.5 getMessage和printStackTrace方法 904.5.1 实例:输出异常信息 914.6 创建自己的异常类 924.6.1 实例:用自定义异常类控制端口访问 924.7 小结 94第5章 流和序列化 955.1 字节流 955.1.1 实例:使用字节流进行I/O操作 975.2 字符流 995.2.1 实例:使用FileReader类进行文件操作 1005.3 随机访问文件 1025.3.1 使用RandomAccessFile写文件 1025.3.2 使用RandomAccessFile读文件 1035.4 序列化 1045.4.1 实例:序列化的应用 1055.5 综合实例:典型的IO使用 1065.6 Java NIO的使用 1125.7 小结 115第6章 接口和抽象类 1176.1 接口 1176.1.1 接口的定义 1176.1.2 接口的实现 1186.1.3 接口的扩展 1206.1.4 实例:接口的使用 1206.2 抽象类 1226.2.1 抽象类的概念 1226.2.2 实例:使用抽象类计算图形面积 1236.3 小结 126第7章 线程 1277.1 何谓线程 1277.2 线程的生命周期 1287.3 Thread类和Runnable接口 1297.3.1 实例:通过继承Thread类实现线程体 1307.3.2 实例:通过实现Runnable接口实现线程体 1327.4 线程优先级与线程的调度 1347.4.1 实例:优先级的设置对程序运行的影响 1357.5 线程同步 1377.5.1 实例:用synchronized 关键字实现线程同步 1387.6 线程间通信 1407.6.1 实例:用wait()和notify()方法实现线程间通信 1407.7 小结 142第8章 本地方法调用 1438.1 JNI概述 1438.2 数据类型的对应 1448.2.1 Java字符串与C字符串 1448.2.2 Java数组与C数组 1458.3 Java与C/C++代码的互相调用 1468.3.1 实例:从Java程序调用C/C++代码 1468.3.2 实例:从C/C++程序调用Java代码 1508.4 本地方法中的线程和同步 1568.5 小结 157第9章 远程方法调用 1599.1 RMI概述 1599.2 如何创建RMI应用程序 1619.3 实例:用RMI构建一个简单的分布式系统 1629.3.1 定义远程接口 1639.3.2 实现远程接口和服务器 1649.3.3 编写客户端程序 1669.3.4 运行程序 1679.4 RMI的一些高级话题 1689.5 小结 170第10章 命名与目录服务 17110.1 JNDI的实现原理 17110.1.1 命名与目录服务 17110.1.2 JNDI的体系结构 17210.2 JNDI与LDAP 17510.3 使用JNDI访问命名与目录服务 17710.3.1 实例:访问命名服务 17710.3.2 实例:访问目录服务 17910.4 小结 182第11章 JavaBeans技术 18311.1 何谓Bean 18311.2 Bean的优点 18411.3 实例:编写一个简单的Bean 18411.3.1 编写Bean要遵循的规则 18511.3.2 创建一个简单的Bean 18711.4 Bean的属性 19411.4.1 单值属性 19511.4.2 关联属性 19511.4.3 受限属性 19611.4.4 索引属性 19611.5 属性编辑器与定制器 19611.6 java.beans包 19711.6.1 BeanInfo接口 19811.6.2 SimpleBeanInfo类 19811.6.3 FeatureDescription类 19911.6.4 MethodDescriptor类 20011.6.5 ParameterDescriptor类 20011.6.6 PropertyDescriptor类 20011.6.7 IndexedPropertyDescriptor类 20111.6.8 BeanDescriptor类 20211.6.9 EventSetDescriptor类 20211.6.10 IntroSpector类 20311.7 小结 204第12章 Java网络编程 20512.1 Java网络类和接口 20512.2 InetAddress类 20512.2.1 创建InetAddress对象的方法 20612.2.2 实例:查询IP地址的版本 20712.3 URL和URLConnection类 20912.3.1 实例:URL对象的创建及使用 21112.3.2 实例:使用URLConnection从Web服务器读取文件 21212.4 TCP/IP服务器与客户端套接字 21312.4.1 客户端套接字 21412.4.2 服务器套接字 21612.4.3 实例:C/S环境下的套接字应用程序 21812.5 Datagram套接字 22412.5.1 UDP套接字 22412.5.2 实例:利用DatagramSocket查询端口占用情况 22612.5.3 实例:利用数据报通信的C/S程序 22812.5.4 组播套接字 23012.5.5 实例:组播套接字C/S程序 23112.6 使用Java NIO提高服务端程序的性能 23612.7 小结 241第13章 JDBC数据访问接口 24313.1 JDBC的体系结构 24313.2 JDBC的作用及重要接口 24413.2.1 DriverManager 24513.2.2 Connection 24513.2.3 Statement 24613.2.4 ResultSet 25113.3 连接数据库 25213.3.1 创建指定数据库的URL 25213.3.2 加载驱动程序 25313.3.3 实例:建立数据库连接 25313.4 实例:数据库的增删查改 25413.5 数据库事务 25913.6 高级数据类型 26113.7 数据源在JDBC中的应用 26213.7.1 实例:注册数据源 26313.7.2 实例:查找数据源 26413.7.3 实例:数据源的重新绑定 26613.7.4 实例:删除数据源 26713.8 小结 268第14章 Java Servlets技术 26914.1 Java Servlet概述 26914.1.1 Servlet的功能 26914.1.2 Java Servlet与现有网络技术的差别 27014.1.3 Servlet的生命周期 27014.2 编写HTTP Servlet程序 27214.2.1 实例:一个简单的Servlet程序 27614.3 HTTP POST/GET请求 27914.3.1 实例:Servlet处理POST请求 28314.4 会话跟踪 28714.4.1 实例:会话跟踪Servlet程序 28814.5 Cookie的应用 29014.5.1 实例:使用Cookie的Servlet程序 29114.6 Filter Servlet 29414.7 Listener Servlet 29914.8 小结 302第15章 Java Server Pages技术 30315.1 JSP在Web程序中的应用 30315.1.1 B/S应用开发技术 30315.1.2 JSP技术 30415.1.3 JSP应用 30515.1.4 JSP与XML 30615.1.5 JSP与ASP、PHP 30715.2 JSP语法 30815.2.1 JSP语法概述 30815.2.2 JSP指令 30915.2.3 JSP动作标识 31315.2.4 脚本元素 32215.3 JSP内置对象 32415.3.1 request对象 32415.3.2 实例:使用request对象获取表单参数 32715.3.3 response对象 32915.3.4 实例:URL重定向和定时刷新 32915.3.5 out对象 33015.3.6 session对象 33215.3.7 pageContext对象 33315.3.8 application对象 33315.3.9 config对象 33415.3.10 page对象 33415.4 JavaBean在JSP中的应用 33415.5 标签库的开发 33615.5.1 简单标签 33715.5.2 带有主体和属性的标签 33915.6 在JSP页面的安全 34415.6.1 配置Web服务器的SSL 34415.6.2 配置realms 34515.7 小结 347第16章 事务处理 34916.1 事务的ACID特征 34916.2 J2EE事务服务 35116.3 JTA事务 35316.3.1 UserTransaction接口 35316.3.2 Status接口 35416.3.3 JTA定义的事务属性 35516.4 JTS 35616.5 小结 358第17章 基于JMS的消息处理 35917.1 JMS概述 35917.2 JMS API编程模型 36117.2.1 Administered Objects 36117.2.2 Destinations 36217.2.3 Connections 36217.2.4 Sessions 36317.2.5 Message Producers 36317.2.6 Message Consumers 36417.2.7 Message Listeners 36517.2.8 Message Selectors 36517.2.9 Message 36517.3 JMS Point-to-Point(PTP)模型编程 36717.4 JMS Publish/Subscribe(Pub/Sub)模型编程 38217.5 小结 389第18章 EJB技术 39118.1 何谓EJB 39118.1.1 EJB的设计目标 39118.1.2 EJB容器和服务器 39218.1.3 EJB的体系结构 39318.1.4 EJB的重要特性 39518.1.5 EJB中的角色 39518.1.6 EJB与JavaBean的区别 39618.2 EJB的开发过程 39718.2.1 Home接口 39718.2.2 远程接口 39818.2.3 Bean类 39818.2.4 配置描述器 39818.3 会话Bean 40518.3.1 有状态会话Bean 40618.3.2 无状态会话Bean 41018.3.3 会话Bean的特点及适用场合 41418.4 实体Bean 41518.4.1 实体Bean的开发 41618.4.2 实体Bean的关系 41918.4.3 EJB 查询语言 42418.4.4 在客户端使用EJB 42618.5 消息驱动Bean 43018.6 小结 433第19章 JavaMail技术 43519.1 E-mail协议概述 43519.1.1 SMTP协议 43519.1.2 POP3协议 43619.1.3 IMAP协议 43619.1.4 MIME协议 43619.2 邮件消息模型 43619.2.1 简单消息模型 43719.2.2 Multipart消息模型 43719.3 JavaMail核心类 43819.3.1 Session 43819.3.2 Message 43819.3.3 Address 43919.3.4 Authenticator 44019.3.5 Transport 44019.3.6 Store和Folder 44119.4 发送邮件 44119.5 获取邮件 44719.6 邮件的回复和转发 44919.7 小结 450第20章 基于JAAS的安全技术 45120.1 Java的安全性 45120.2 JAAS概览 45320.3 JAAS核心类 45420.3.1 Subject和Principal 45520.3.2 LoginContext 45520.3.3 LoginModule 45620.3.4 CallbackHandler和Callback 45720.4 认证 45820.4.1 实例:使用JAAS进行认证 45820.5 授权 46320.5.1 实例:声明性授权 46420.5.2 实例:程序性授权 46520.6 小结 466第21章 Web服务技术 46721.1 Web服务体系结构 46721.2 XML解析——JAXP 46921.3 UDDI 47621.3.1 商业实体信息 47821.3.2 商业服务信息 47821.3.3 绑定模板信息 47821.3.4 技术规范信息 47921.4 WSDL 48021.5 SOAP 48321.5.1 常用术语 48421.5.2 SOAP消息 48521.5.3 SOAP Fault 48721.5.4 SOAP编码规则 48821.5.5 SOAP RPC表示 49021.6 Web服务开发 49221.6.1 Servlet作为Web服务的端点 49221.6.2 EJB作为Web服务的端点 49821.7 小结 502附录A 主题词表 503附录B J2EE兼容应用服务器 505附录C 参考资料 526【媒体评论】 上一篇: 大数据架构和算法实现之路:电商系统的技术实战 下一篇: 疯狂Java讲义 第3版 [李刚 著]