本书力图用深刻的理论和丰富的实例揭示Java企业版中的最新核心技术,全面扫除Java领域的学习障碍。全书分为两篇,共21章,包括GUI程序设计、线程、本地方法调用、远程方法调用、命名与目录服务、JavaBeans 技术、JSP技术、网络编程、EJB技术、事务处理、基于JMS的消息处理、JavaMail技术、基于JAAS的安全技术、Web服务技术等专业开发者最关心的Java技术内容,使读者对整个J2EE架构有一个全面而透彻的认识。书中的例程对实际的应用开发有非常强的借鉴意义。飞思在线http://www.fecit.com.cn提供全书示例代码下载。\r\n 本书适合于专业和准专业的Java程序员阅读,也可作为正在转向Java开发的各类程序员的必备Java参考书。
第1篇 基础篇\r\n\r\n第1章 J2EE概述\r\n\r\n1.1 J2EE的产生背景及其优点\r\n1.2 J2EE的体系结构\r\n1.3 J2EE技术概览\r\n1.4 小结\r\n\r\n第2章 Java语言基础\r\n\r\n2.1 标识符和关键字\r\n2.2 数据类型和变量\r\n2.3 运算符\r\n2.3.1 算术运算符\r\n2.3.2 赋值运算符\r\n2.3.3 关系运算符\r\n2.3.4 逻辑运算符\r\n2.3.5 位运算符\r\n2.3.6 移位运算符\r\n2.3.7 条件运算符\r\n2.3.8 运算符的优先级\r\n2.4 控制语句\r\n2.4.1 选择语句\r\n2.4.2 循环语句\r\n2.4.3 break和continue语句\r\n2.5 类和对象\r\n2.6 专题讨论:转型\r\n2.6.1 向上转型\r\n2.6.2 向下转型\r\n2.6.3 混合转型\r\n2.7 专题讨论:类的动态加载\r\n2.8 小结\r\n\r\n第3章 GUI程序设计\r\n\r\n3.1 事件处理模型\r\n3.2 常用组件\r\n3.2.1 JOptionPane\r\n3.2.2 JFrame\r\n3.2.3 JLabel\r\n3.2.4 JTextField和JPasswordField\r\n3.2.5 JButton\r\n3.2.6 JCheckBox和JRadioButton\r\n3.2.7 JTextArea\r\n3.2.8 JMenu\r\n3.3 键盘和鼠标事件\r\n3.3.1 实例:键盘事件\r\n3.3.2 实例:鼠标事件\r\n3.3.3 实例:Adapter类的使用\r\n3.4 布局管理器\r\n3.4.1 实例:FlowLayout布局\r\n3.4.2 实例:BorderLayout布局\r\n3.4.3 实例:CardLayout布局\r\n3.4.4 实例:GridLayout布局\r\n3.5 Graphics和Java2D\r\n3.5.1 实例:Graphics绘图\r\n3.5.2 实例:Java2D绘图\r\n3.6 常用高级Swing组件的使用\r\n3.6.1 JTree的使用\r\n3.6.2 JTable的使用\r\n3.7 小结\r\n\r\n第2篇 技术篇\r\n\r\n第4章 异常处理\r\n\r\n4.1 何谓异常\r\n4.2 使用try和catch捕获异常\r\n4.2.1 实例:异常的捕获\r\n4.3 使用throw和throws引发异常\r\n4.3.1 实例:throw语句的使用\r\n4.3.2 实例:throws语句的使用\r\n4.4 finally关键字\r\n4.4.1 实例:finally关键字的用法\r\n4.5 getMessage和printStackTrace方法\r\n4.5.1 实例:输出异常信息\r\n4.6 创建自己的异常类\r\n4.6.1 实例:用自定义异常类控制端口访问\r\n4.7 小结\r\n\r\n第5章 流和序列化\r\n\r\n5.1 字节流\r\n5.1.1 实例:使用字节流进行I/O操作\r\n5.2 字符流\r\n5.2.1 实例:使用FileReader类进行文件操作\r\n5.3 随机访问文件\r\n5.3.1 使用RandomAccessFile写文件\r\n5.3.2 使用RandomAccessFile读文件\r\n5.4 序列化\r\n5.4.1 实例:序列化的应用\r\n5.5 综合实例:典型的IO使用\r\n5.6 Java NIO的使用\r\n5.7 小结\r\n\r\n第6章 接口和抽象类\r\n\r\n6.1 接口\r\n6.1.1 接口的定义\r\n6.1.2 接口的实现\r\n6.1.3 接口的扩展\r\n6.1.4 实例:接口的使用\r\n6.2 抽象类\r\n6.2.1 抽象类的概念\r\n6.2.2 实例:使用抽象类计算图形面积\r\n6.3 小结\r\n\r\n第7章 线程\r\n\r\n7.1 何谓线程\r\n7.2 线程的生命周期\r\n7.3 Thread类和Runnable接口\r\n7.3.1 实例:通过继承Thread类实现线程体\r\n7.3.2 实例:通过实现Runnable接口实现线程体\r\n7.4 线程优先级与线程的调度\r\n7.4.1 实例:优先级的设置对程序运行的影响\r\n7.5 线程同步\r\n7.5.1 实例:用synchronized关键字实现线程同步\r\n7.6 线程间通信\r\n7.6.1 实例:用wait()和notify()方法实现线程间通信\r\n7.7 小结\r\n\r\n第8章 本地方法调用\r\n\r\n8.1 JNI概述\r\n8.2 数据类型的对应\r\n8.2.1 Java字符串与C字符串\r\n8.2.2 Java数组与C数组\r\n8.3 Java与C/C++代码的互相调用\r\n8.3.1 实例:从Java程序调用C/C++代码\r\n8.3.2 实例:从C/C++程序调用Java代码\r\n8.4 本地方法中的线程和同步\r\n8.5 小结\r\n\r\n第9章 远程方法调用\r\n\r\n9.1 RMI概述\r\n9.2 如何创建RMI应用程序\r\n9.3 实例:用RMI构建一个简单的分布式系统\r\n9.3.1 定义远程接口\r\n9.3.2 实现远程接口和服务器\r\n9.3.3 编写客户端程序\r\n9.3.4 运行程序\r\n9.4 RMI的一些高级话题\r\n9.5 小结\r\n\r\n第10章 命名与目录服务\r\n\r\n10.1 JNDI的实现原理\r\n10.1.1 命名与目录服务\r\n10.1.2 JNDI的体系结构\r\n10.2 JNDI与LDAP\r\n10.3 使用JNDI访问命名与目录服务\r\n10.3.1 实例:访问命名服务\r\n10.3.2 实例:访问目录服务\r\n10.4 小结\r\n\r\n第11章 JavaBeans技术\r\n\r\n11.1 何谓Bean\r\n11.2 Bean的优点\r\n11.3 实例:编写一个简单的Bean\r\n11.3.1 编写Bean要遵循的规则\r\n11.3.2 创建一个简单的Bean\r\n11.4 Bean的属性\r\n11.4.1 单值属性\r\n11.4.2 关联属性\r\n11.4.3 受限属性\r\n11.4.4 索引属性\r\n11.5 属性编辑器与定制器\r\n11.6 java.beans包\r\n11.6.1 BeanInfo接口\r\n11.6.2 SimpleBeanInfo类\r\n11.6.3 FeatureDescription类\r\n11.6.4 MethodDescriptor类\r\n11.6.5 ParameterDescriptor类\r\n11.6.6 PropertyDescriptor类\r\n11.6.7 IndexedPropertyDescriptor类\r\n11.6.8 BeanDescriptor类\r\n11.6.9 EventSetDescriptor类\r\n11.6.10 IntroSpector类\r\n11.7 小结\r\n\r\n第12章 Java网络编程\r\n\r\n12.1 Java网络类和接口\r\n12.2 InetAddress类\r\n12.2.1 创建InetAddress对象的方法\r\n12.2.2 实例:查询IP地址的版本\r\n12.3 URL和URLConnection类\r\n12.3.1 实例:URL对象的创建及使用\r\n12.3.2 实例:使用URLConnection从Web服务器读取文件\r\n12.4 TCP/IP服务器与客户端套接字\r\n12.4.1 客户端套接字\r\n12.4.2 服务器套接字\r\n12.4.3 实例:C/S环境下的套接字应用程序\r\n12.5 Datagram套接字\r\n12.5.1 UDP套接字\r\n12.5.2 实例:利用DatagramSocket查询端口占用情况\r\n12.5.3 实例:利用数据报通信的C/S程序\r\n12.5.4 组播套接字\r\n12.5.5 实例:组播套接字C/S程序\r\n12.6 使用Java NIO提高服务端程序的性能\r\n12.7 小结\r\n\r\n第13章 JDBC数据访问接口\r\n\r\n13.1 JDBC的体系结构\r\n13.2 JDBC的作用及重要接口\r\n13.2.1 DriverManager\r\n13.2.2 Connection\r\n13.2.3 Statement\r\n13.2.4 ResultSet\r\n13.3 连接数据库\r\n13.3.1 创建指定数据库的URL\r\n13.3.2 加载驱动程序\r\n13.3.3 实例:建立数据库连接\r\n13.4 实例:数据库的增删查改\r\n13.5 数据库事务\r\n13.6 高级数据类型\r\n13.7 数据源在JDBC中的应用\r\n13.7.1 实例:注册数据源\r\n13.7.2 实例:查找数据源\r\n13.7.3 实例:数据源的重新绑定\r\n13.7.4 实例:删除数据源\r\n13.8 小结\r\n\r\n第14章 Java Servlets技术\r\n\r\n14.1 Java Servlet概述\r\n14.1.1 Servlet的功能\r\n14.1.2 Java Servlet与现有网络技术的差别\r\n14.1.3 Servlet的生命周期\r\n14.2 编写HTTP Servlet程序\r\n14.2.1 实例:一个简单的Servlet程序\r\n14.3 HTTP POST/GET请求\r\n14.3.1 实例:Servlet处理POST请求\r\n14.4 会话跟踪\r\n14.4.1 实例:会话跟踪Servlet程序\r\n14.5 Cookie的应用\r\n14.5.1 实例:使用Cookie的Servlet程序\r\n14.6 Filter Servlet\r\n14.7 Listener Servlet\r\n14.8 小结\r\n\r\n第15章 Java Server Pages技术\r\n\r\n15.1 JSP在Web程序中的应用\r\n15.1.1 B/S应用开发技术\r\n15.1.2 JSP技术\r\n15.1.3 JSP应用\r\n15.1.4 JSP与XML\r\n15.1.5 JSP与ASP、PHP\r\n15.2 JSP语法\r\n15.2.1 JSP语法概述\r\n15.2.2 JSP指令\r\n15.2.3 JSP动作标识\r\n15.2.4 脚本元素\r\n15.3 JSP内置对象\r\n15.3.1 request对象\r\n15.3.2 实例:使用request对象获取表单参数\r\n15.3.3 response对象\r\n15.3.4 实例:URL重定向和定时刷新\r\n15.3.5 out对象\r\n15.3.6 session对象\r\n15.3.7 pageContext对象\r\n15.3.8 application对象\r\n15.3.9 config对象\r\n15.3.10 page对象\r\n15.4 JavaBean在JSP中的应用\r\n15.5 标签库的开发\r\n15.5.1 简单标签\r\n15.5.2 带有主体和属性的标签\r\n15.6 在JSP页面的安全\r\n15.6.1 配置Web服务器的SSL\r\n15.6.2 配置realms\r\n15.7 小结\r\n\r\n第16章 事务处理\r\n\r\n16.1 事务的ACID特征\r\n16.2 J2EE事务服务\r\n16.3 JTA事务\r\n16.3.1 UserTransaction接口\r\n16.3.2 Status接口\r\n16.3.3 JTA定义的事务属性\r\n16.4 JTS\r\n16.5 小结\r\n\r\n第17章 基于JMS的消息处理\r\n\r\n17.1 JMS概述\r\n17.2 JMS API编程模型\r\n17.2.1 Administered Objects\r\n17.2.2 Destinations\r\n17.2.3 Connections\r\n17.2.4 Sessions\r\n17.2.5 Message Producers\r\n17.2.6 Message Consumers\r\n17.2.7 Message Listeners\r\n17.2.8 Message Selectors\r\n17.2.9 Message\r\n17.3 JMS Point-to-Point(PTP)模型编程\r\n17.4 JMS Publish/Subscribe(Pub/Sub)模型编程\r\n17.5 小结\r\n\r\n第18章 EJB技术\r\n\r\n18.1 何谓EJB\r\n18.1.1 EJB的设计目标\r\n18.1.2 EJB容器和服务器\r\n18.1.3 EJB的体系结构\r\n18.1.4 EJB的重要特性\r\n18.1.5 EJB中的角色\r\n18.1.6 EJB与JavaBean的区别\r\n18.2 EJB的开发过程\r\n18.2.1 Home接口\r\n18.2.2 远程接口\r\n18.2.3 Bean类\r\n18.2.4 配置描述器\r\n18.3 会话Bean\r\n18.3.1 有状态会话Bean\r\n18.3.2 无状态会话Bean\r\n18.3.3 会话Bean的特点及适用场合\r\n18.4 实体Bean\r\n18.4.1 实体Bean的开发\r\n18.4.2 实体Bean的关系\r\n18.4.3 EJB 查询语言\r\n18.4.4 在客户端使用EJB\r\n18.5 消息驱动Bean\r\n18.6 小结\r\n\r\n第19章 JavaMail技术\r\n\r\n19.1 E-mail协议概述\r\n19.1.1 SMTP协议\r\n19.1.2 POP3协议\r\n19.1.3 IMAP协议\r\n19.1.4 MIME协议\r\n19.2 邮件消息模型\r\n19.2.1 简单消息模型\r\n19.2.2 Multipart消息模型\r\n19.3 JavaMail核心类\r\n19.3.1 Session\r\n19.3.2 Message\r\n19.3.3 Address\r\n19.3.4 Authenticator\r\n19.3.5 Transport\r\n19.3.6 Store和Folder\r\n19.4 发送邮件\r\n19.5 获取邮件\r\n19.6 邮件的回复和转发\r\n19.7 小结\r\n\r\n第20章 基于JAAS的安全技术\r\n\r\n20.1 Java的安全性\r\n20.2 JAAS概览\r\n20.3 JAAS核心类\r\n20.3.1 Subject和Principal\r\n20.3.2 LoginContext\r\n20.3.3 LoginModule\r\n20.3.4 CallbackHandler和Callback\r\n20.4 认证\r\n20.4.1 实例:使用JAAS进行认证\r\n20.5 授权\r\n20.5.1 实例:声明性授权\r\n20.5.2 实例:程序性授权\r\n20.6 小结\r\n\r\n第21章 Web服务技术\r\n\r\n21.1 Web服务体系结构\r\n21.2 XML解析——JAXP\r\n21.3 UDDI\r\n21.3.1 商业实体信息\r\n21.3.2 商业服务信息\r\n21.3.3 绑定模板信息\r\n21.3.4 技术规范信息\r\n21.4 WSDL\r\n21.5 SOAP\r\n21.5.1 常用术语\r\n21.5.2 SOAP消息\r\n21.5.3 SOAP Fault\r\n21.5.4 SOAP编码规则\r\n21.5.5 SOAP RPC表示\r\n21.6 Web服务开发\r\n21.6.1 Servlet作为Web服务的端点\r\n21.6.2 EJB作为Web服务的端点\r\n21.7 小结\r\n\r\n附录A 主题词表\r\n附录B J2EE兼容应用服务器\r\n附录C 参考资料
关于本丛书
“精通”系列是电子工业出版社经典的技术精品丛书,一直受到广大读者,特别是计算机专业技术人员的关注。在这些专业人士的支持和鼓励下,“精通”系列已经成为一个标杆,反映出目前国内外最新计算机技术的动态和发展方向。
“精通”系列中的每部著作完全是作者的呕心沥血之作,代表了作者在该领域的最高成就,集成了作者多年的理论和实践经验,凸显了作者为计算机技术的发展做总结和展望的写作初衷。丛书的作者由著名高校的学科带头人、国际上知名的教授学者、权威的计算机专业人士和业界的集大成者组成。他们的知识结构、理论和实践体系有着突出的卓越之处:
·站在技术的最前沿。
·有最深刻的理论基础。
·实践环境具有广泛的代表性和权威性。
·结论的指导价值。
因此,这样雄厚的写作班子保证了本系列丛书的高层次、高质量和高品质,也足以满足国内读者的高品位、高需求和高要求。除了作者之外,审校者同样实力超群,他们从理论的角度、读者需求的角度、技术成熟度的角度等不同的侧面,为作者提出了大量的参考意见和修改建议,使得每部著作的结构更坚实,体系更完整,理论更完善,针对性更强。
电子工业出版社计算机研发部本着服务于读者、服务于科技的精神,在选题上精益求精,综合考虑和平衡了目前技术上的热点、未来发展的重点及潜在读者需求的卖点等多方面因素,精心推出此“精通”系列,并将不断进行补充。
关于本书
随着电子商务的迅猛发展,社会各个部门之间越来越需要依赖于企业级应用程序来共同协作。开发企业级应用程序的关键在于要有一个功能强大而又方便灵活的体系结构。J2EE为这种需求提供了一种良好的机制,其核心技术搭建起了Java企业应用的坚实平台。综观国内的技术发展,广大的Java程序开发人员及正在转向Java体系进行开发的技术人员虽然已面临这一令人激动和鼓舞的转型期,却苦于没有足够的相关资料和文献,尤其对国内的最新Java技术动态和技术现状知之甚少。而图书市场上Java的书籍尽管汗牛充栋,但精品罕见,能反映出J2EE框架全貌的书籍更是奇缺。
本书力图用深刻的理论和丰富的实例揭示Java企业版中的最新核心技术,全面扫除Java领域的学习障碍。全书分为两篇,共21章,包括GUI程序设计、线程、本地方法调用(JNI)、远程方法调用(RMI)、命名与目录服务(JNDI)、JavaBeans 技术、JSP技术、网络编程、EJB技术、事务处理、基于JMS的消息处理、JavaMail技术、基于JAAS的安全技术、Web服务技术等专业开发者最关心的Java技术内容,使读者对整个J2EE架构有一个全面而透彻的认识。
本书中包含了大量的例程,这些例程对于实际的应用开发有着非常强的借鉴意义。书中的例程主要分为两类。一是完整的可以直接运行的程序。对于这类例程,我们给出了程序源代码、输出结果和程序注解。读者可以在JCreator、JBuilder等集成开发环境中编译和运行这些程序。另一类例程是用来说明某个具体问题的子程序或代码段。对于这类例程,我们给出了源代码和程序注解。要运行这些子程序或代码段,必须将它们放入具体的主程序和运行环境中。飞思在线http://www.fecit.com.cn提供书中示例代码的下载。
本书具有如下特点:
·丰富的实例,将深奥的技术和简明易懂的编程思想紧密结合。
·深入剖析J2EE整体架构,分析讲解开发企业级应用程序的各个层次。
·全面介绍J2EE核心技术及它们在J2EE体系结构中所处的地位。
本书适合于专业和准专业的Java程序员阅读,也是正在转向进行Java开发的各类程序员的必备Java参考书。
本书由飞思科技产品研发中心策划,刘晓华主笔。李海平、蒋恒青、黄凯、李华、孙建设、丁越、由杨、邢玮、陈志雄、韩其昌、罗玉奎参与了本书的写作;吴锋、王树彦、李胜贤、张亦君、魏宏负责收集相关资料;赵文杰、胡刚、崔洪政编写了本书中的部分示例;徐炜、何晓亮对书中的代码进行了测试;范丽洁出色的文字润色工作也使本书增色不少。特别感谢廖彬、陈祥勇、区涛,他们对本选题提出了许多建设性意见。
由于本书涉及的内容十分丰富,加之篇幅、时间所限,书中不足之处,敬请读者批评指正。如果在学习本书的过程中有问题,请发邮件给我们。
飞思科技产品研发中心