一、本书学习目标.
Java Web即Java EE,它是面向企业级的网络系统,其中的“企业级”和“网络”(分布式)代表了Java Web开发的核心目标。在Java EE最新的规范中提供了进行企业级开发的框架组件EJB,并同时提供了多种分布式服务开发技术方案,以及多种企业应用的业务解决方案。这3个层次的技术内容如下图所示。
本书将针对这3个层次的技术进行详细讲解。
Java Web企业级开发技术EJB:EJB是企业级的JavaBean组件,用于进行分布式系统的开发,它包括三大核心组件。
会话Bean:使用JNDI发布分布式服务,并讲解会话Bean的扩展开发,包括生命周期、拦截器、依赖注入、定时器。
消息驱动Bean:用来处理分布式消息JMS,包括队列消息和发布/订阅消息。
实体Bean:采用JPA作为技术基础,包括实体管理器、对象映射、JPQL查询。
Java Web分布式开发技术:讲解基于EJB的各种分布式服务技术,包括JTA(Java事务管理)、JAAS(Java验证和授权服务)、JNDI(Java命名和目录服务)、JavaMail(Java邮件服务)、JMS(Java消息服务)、WebService(Web服务)、JMX(Java管理体系))、JCA(Java连接器架构)等。
Java Web开源技术与框架:讲解企业应用中各种业务模型处理技术,包括工作流、规则引擎、搜索引擎、缓存引擎、任务调度、身份认证、报表服务、系统测试、集群、负载平衡和故障转移等。
以上内容实际上也是进行分布式架构设计的完美诠释。
二、本书学习课程安排
本书的内容总体上分为4个部分,从开发环境的准备,到企业级开发组件EJB,再到各种分布式技术,最后讲解各种业务开源技术与框架。各部分内容安排如下:
分类学习要点课时(分钟)上机(分钟)
第1部分
准备篇01.构建Eclipse集成开发环境60
02.创建企业信息管理系统数据库80
第2部分
Java Web企业级开发技术EJB03.EJB快速入门12030
04.会话Bean(Session Bean)——发布JNDI服务90120
05.消息驱动Bean(Message-Driven Bean)——接收JMS消息5030
. 06.实体Bean(Entity Bean)——Java持久化JPA9030
07.实体关系映射(ORM)100100
08.实体查询(JPQL和SQL查询)6060
09.企业信息管理系统服务器端——开发EJB+MySQL服务器端组件240
10.企业信息管理系统客户端——开发Struts 2+Spring+EJB架构系统240
第3部分
Java Web分布式开发技术11.Java事务管理(JTA)3030
12.Java验证和授权服务(JAAS)6030
13.Java命名和目录服务(JNDI)4020
14.Java消息服务(JMS)40
15.Java邮件服务(JavaMail)50
16.Web服务(WebService)30
17.Java管理体系(JMX)30
18.Java连接器架构(JCA)20
第4部分
Java Web开源技术与框架19.工作流60
20.规则引擎60
21.搜索引擎60
22.缓存引擎60
23.任务调度60
24.身份认证60
25.报表服务30
26.系统测试120
27.系统集群60
合计1520930
以上章节几乎覆盖了Java Web高级开发的所有技术内容,并将讲解中的源代码都打包放在光盘中。每一章的正文内容和上机操作都根据内容多少和重要性规定了学习和上机的时间(分钟),总的正文学习时间为1520分钟(约25.3小时),上机时间为930分钟(约15.5小时)。这是对于讲课培训给出的参考时间,读者自学时需要至少2倍的时间集中学习。
三、本书范例程序
本书以“企业信息管理系统”的设计开发为主线,在EJB等多种框架技术的讲解中结合了该系统的实战开发过程,共形成了5个完善的系统,每一个系统程序都以“emis01(EJB+MySQL).zip”形式命名,括号中为该程序包所使用的技术。每一个样例包都可以作为开发时的原型包进行扩展开发,也可以作为公司、学校教学的参考案例。
本书所有的测试代码和实例都打包放在光盘中的source目录下,共包括21个程序包:
(1)准备程序(2个程序包)
eclipse.zip//01.Eclipse入门样例
database.zip//02.数据库文件
(2)入门样例(14个程序包)
EJBTest.zip//03.EJB入门样例——HelloWorld
EJBTestJava.zip//03.Java测试客户端
EJBTestJSP.zip//03.JSP测试客户端
SessionBeanTest.zip//04.会话Bean开发样例
MDBTest.zip//05.消息驱动Bean开发样例
EntityBeanTest.zip//06.实体Bean开发样例
ORMTest.zip//07.实体对象映射ORM开发样例
JPQLTest.zip //08.实体查询语言JPQL开发样例
JAASTest.zip //12.JAAS验证与授权服务开发样例
JNDITest.zip//13.JNDI命名和目录服务开发样例
JavaMailTest.zip //15.JavaMail邮件服务开发样例
WebServiceTest.zip//16.Web服务开发样例
DroolsTest.zip //20.Drool规则引擎开发样例
AcegiTest.zip //24.Acegi安全验证开发样例
(3)企业信息管理系统案例(5个程序包)
emis01(EJB+MySQL).zip //09.服务器端——EJB+MySQL架构实现
emis02(Struts 2+Spring+EJB).zip //10.客户端——Struts 2+Spring+EJB架构实现
emis03(EJB+MySQL+JTA).zip //11.事务——为服务器端增加JTA事务管理功能
emis04(EJB+MySQL+JTA+JAAS).zip //12.安全——为服务器端增加JAAS安全验证功能
emis04(Struts 2+Spring+EJB+JAAS).zip //12.安全——为客户端增加JAAS安全验证功能
这些样例程序包都是在Eclipse 3.4中开发的,你可以直接使用Eclipse的导入功能导入这些程序包。导入的方法:首先将要运行的程序包解压缩到Eclipse的工作目录(如D:\eclipse\workspace),单击Eclipse左侧的项目工作区空白处,然后单击鼠标右键,在弹出的快捷菜单中选择“导入”,然后在弹出的“导入”窗口中选择“从现有项目到工作空间中”,并选择刚才解压缩后的程序目录,单击“确定”按钮即可导入到Eclipse中。
四、光盘使用说明
在光盘software目录下仅包含了本书所需要软件安装包的下载存放目录,并在software\readme.txt中详细记录了每一个软件的官方网站、所需版本和该版本的下载链接地址,请读者在学习本书前到指定的网址下载各个软件。
说明:考虑到版权问题,我们只提供了这些软件的下载链接地址。这些下载地址在本书写作时都已经经过了验证确认,有些链接也许需要你注册登录后才能够下载。如果下载的链接地址不存在,则表明该网站已经移除了该链接,请你在指定的官方网站上找到下载的页面来下载对应版本的文件。
本书所用软件、使用版本、下载地址列表:
(1)JDK
本书使用版本:1.6.0
官方网站:http://java.sun.com/
下载页面:http://java.sun.com/javase/downloads/index.jsp
下载文件:jdk-6u10-beta-windows-i586-p.exe
(2)Tomcat
本书使用版本:6.0.18
官方网站:http://tomcat.apache.org/
下载页面:http://tomcat.apache.org/download-60.cgi
下载地址:http://apache.mirror.phpchina.com/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.zip
下载文件:apache-tomcat-6.0.18.zip
(3)Eclipse
本书使用版本:3.4
官方网站:http://www.eclipse.org/
下载页面:http://www.eclipse.org/downloads/
下载地址:http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/
release/ganymede/SR1/eclipse-jee-ganymede-SR1-win32.zip
下载文件:eclipse-jee-ganymede-SR1-win32.zip
(4)MySQL
本书使用版本:5.1.22
官方网站:http://www.mysql.com/
下载页面:http://dev.mysql.com/downloads/mysql/5.1.html
下载地址:http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-noinstall-5.1.22-rc-win32.zip
/from/pick#mirrors
下载文件:mysql-noinstall-5.1.22-rc-win32.zip
SQL-Front客户端
本书使用版本:3.3
官方网站:http://www.sql-front.com/
下载页面:http://www.sql-front.com/download.html
下载地址:http://www.omnipotus.com/download/SQL-Front_Setup.exe
下载文件:SQL-Front_Setup.exe
(5)JBossAS
本书使用版本:5.0.0
官方网站:http://www.jboss.org/
下载页面:http://www.jboss.org/jbossas/downloads/
下载地址:http://www.jboss.org/downloading/?projectId=jbossas&url=https://sourceforge.net/
project/showfiles.php?group_id=22866&package_id=16942&release_id=645033
下载文件:jboss-5.0.0.GA.zip
JBoss Tools
下载页面:http://www.jboss.org/tools/download/index.html
SVN地址:http://download.jboss.org/jbosstools/updates/development
(6)JDBC驱动
MySQL5 JDBC驱动
下载页面:http://dev.mysql.com/downloads/connector/j/5.0.html
下载文件:mysql-connector-java-5.0.8.tar.gz
驱动包文件:mysql-connector-java-5.0.8-bin.jar
Oracle9i JDBC驱动
文件位置:D:\oracle\ora92\jdbc\lib
驱动包文件:classes12.jar
SQLServer2000 JDBC驱动
下载页面:http://www.microsoft.com/downloads/details.aspx?FamilyId=07287B11-0502-461A-
B138-2AA54BFDC03A&displaylang=en
下载文件:mssqlserver.tar
驱动包文件:mssqlserver.jar,msbase.jar,msutil.jar ..
(7)Struts 2
本书使用版本:2.0.9
官方网站:http://struts.apache.org/
下载页面:http://struts.apache.org/2.0.9/index.html
下载地址:http://archive.apache.org/dist/struts/binaries/struts-2.0.9-all.zip
下载文件:struts-2.0.9-all.zip
(8)Spring
本书使用版本:2.0.6
官方网站:http://www.springframework.org/
下载页面:http://www.springframework.org/download
下载地址:http://downloads.sourceforge.net/springframework/spring-framework-2.0.6.zip
下载文件:spring-framework-2.0.6.zip
(9)Sitemesh
本书使用版本:2.2
官方网站:http://www.opensymphony.com/sitemesh/index.html
下载页面:http://www.opensymphony.com/sitemesh/download.action
下载地址:https://sitemesh.dev.java.net/files/documents/887/43018/sitemesh-2.3.zip
下载文件:sitemesh-2.3.zip
(10)Axis
本书使用版本:1.4.1
官方网站:http://ws.apache.org/axis2/
下载页面:http://ws.apache.org/axis2/download/1_4_1/download.cgi
下载地址:http://apache.mirror.phpchina.com/ws/axis2/1_4_1/axis2-1.4.1-bin.zip
下载文件:axis2-1.4.1-bin.zip
(11)jBPM
本书使用版本:4.0.0.Alpha2
官方网站:http://www.jboss.org/jbossjbpm/
下载页面:http://www.jboss.org/jbossjbpm/jbpm_downloads/
下载地址:http://www.jboss.org/downloading/?projectId=jbossjbpm&url=http://downloads.sourceforge.net/jbpm/jbpm-installer-4.0.0.Alpha2.zip
下载文件:jbpm-installer-4.0.0.Alpha2.jar
(12)Drools
本书使用版本:4.0.7
官方网站:http://www.jboss.org/drools/
下载页面:http://www.jboss.org/drools/downloads.html
下载地址:http://download.jboss.org/drools/release/5.0.0.25561.CR1/drools-5.0.0.CR1-bin.zip
下载文件:drools-5.0.0.CR1-bin.zip
(13)Lucene
本书使用版本:2.4.1
官方网站:http://lucene.apache.org/
下载页面:http://www.apache.org/dyn/closer.cgi/lucene/java/
下载地址:http://apache.etoak.com/lucene/java/lucene-2.4.1.zip
下载文件:lucene-2.4.1.zip
(14)OSCache
本书使用版本:1.2.10
官方网站:http://www.opensymphony.com/oscache/
下载页面:http://www.opensymphony.com/oscache/download.action
下载地址:https://oscache.dev.java.net/files/documents/629/61427/oscache-2.4.1-full.zip
下载文件:oscache-2.4.1-full.zip
(15)Ehcache
本书使用版本:1.6.0
官方网站:http://ehcache.sourceforge.net/
下载页面:http://sourceforge.net/project/showfiles.php?group_id=93232
下载地址:http://sourceforge.net/project/downloading.php?group_id=93232&filename=ehcache-1.6.0-beta3-distribution.tar.gz
下载文件:ehcache-1.6.0-beta3-distribution.tar.gz
(16)Quartz
本书使用版本:1.6.5
官方网站:http://www.opensymphony.com/quartz/
下载页面:http://www.opensymphony.com/quartz/download.action
下载地址:https://quartz.dev.java.net/files/documents/1267/128858/quartz-1.6.5.zip
下载文件:quartz-1.6.5.zip
(17)Acegi
本书使用版本:1.6.5
官方网站:http://acegisecurity.org/
下载页面:http://acegisecurity.org/downloads.html
下载地址:http://sourceforge.net/project/downloading.php?group_id=104215&filename=acegisecurity-1.0.7.zip
下载文件:acegisecurity-1.0.7.zip
(18)Eclipse BIRT
本书使用版本:2.3.2
官方网站:http://eclipse.org/birt
下载页面:http://download.eclipse.org/birt/downloads/
下载地址:http://www.eclipse.org/downloads/download.php?file=/birt/downloads/drops/R-R1-2_3_2_1-200904141342/birt-report-framework-
2_3_2_1.zip&url=http://download.actuatechina.com/eclipse/birt/downloads/drops/R-R1-2_3_2_1-200904141342/birt-report-
framework-2_3_2_1.zip&mirror_id=385
下载文件:birt-report-framework-2_3_2_1.zip
(19)JFreeChart
本书使用版本:1.0.13
官方网站:http://www.jfree.org/jfreechart/
下载页面:http://www.jfree.org/jfreechart/download.html
下载地址:http://sourceforge.net/project/downloading.php?group_id=15494&filename=jfreechart-1.0.13.zip
下载文件:jfreechart-1.0.13.zip
(20)Cewolf
本书使用版本:1.0
官方网站:http://cewolf.sourceforge.net/new/index.html
下载页面:http://sourceforge.net/project/showfiles.php?group_id=57282
下载地址:http://sourceforge.net/project/downloading.php?group_id=57282&filename=cewolf-1.0-bin-src.zip&a=76040319
下载文件:cewolf-1.0-bin-src.zip
(21)CheckStyle
本书使用版本:5.0
官方网站:http://checkstyle.sourceforge.net/
Eclipse插件地址:http://eclipse-cs.sourceforge.net/update
(22)PMD
本书使用版本:4.2.5
官方网站:http://pmd.sourceforge.net/
Eclipse插件地址:http://pmd.sf.net/eclipse
(23)FindBugs
本书使用版本:1.3.8
官方网站:http://findbugs.sourceforge.net/
Eclipse插件地址:http://findbugs.cs.umd.edu/eclipse
(24)JUnit
本书使用版本:4.6
官方网站:http://www.junit.org/
(25)EasyMock
本书使用版本:2.4
官方网站:http://easymock.org/
下载页面:http://easymock.org/Downloads.html
下载地址:http://prdownloads.sourceforge.net/easymock/easymock2.4.zip
下载文件:easymock2.4.zip
(26)JMeter
本书使用版本:2.3.2
官方网站:http://jakarta.apache.org/jmeter/index.html
下载页面:http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi
下载地址:http://apache.etoak.com/jakarta/jmeter/binaries/jakarta-jmeter-2.3.2.zip
下载文件:jakarta-jmeter-2.3.2.zip
(27)Ant
本书使用版本:1.7.1
官方网站:http://ant.apache.org/
下载页面:http://ant.apache.org/bindownload.cgi
下载地址:http://apache.etoak.com/ant/binaries/apache-ant-1.7.1-bin.zip
下载文件:apache-ant-1.7.1-bin.zip
(28)Maven
本书使用版本:2.1.0
官方网站:http://maven.apache.org/
下载页面:http://maven.apache.org/download.html
下载地址:http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-2.1.0-bin.zip
下载文件:apache-maven-2.1.0-bin.zip
(29)CruiseControl
本书使用版本:2.8.2
官方网站:http://cruisecontrol.sourceforge.net
下载页面:http://cruisecontrol.sourceforge.net/download.html
下载地址:http://sourceforge.net/project/downloading.php?group_id=23523&filename=CruiseControl-2.8.2.exe&a=73471087
下载文件:CruiseControl-2.8.2.exe
(30)CruiseControl
本书使用版本:2.8.2
官方网站:http://cruisecontrol.sourceforge.net
下载页面:http://cruisecontrol.sourceforge.net/download.html
下载地址:http://sourceforge.net/project/downloading.php?group_id=23523&filename=CruiseControl-2.8.2.exe&a=73471087
下载文件:CruiseControl-2.8.2.exe
五、致谢
参与本书技术调研和程序调试的有:李金刚、刘剑、陈景春、周同、刘中敏、陈万珍、李瑞霞、李建海。本书在编写过程中得到了Apache软件组织和Sun公司在技术上的大力支持,飞思科技产品研发中心负责监制工作,在此表示衷心感谢!尽管我们尽了最大努力,但本书难免会有不妥之处,欢迎各界专家和读者朋友批评指正。...
本书专业论坛交流答疑:www.100tt.net
编 著 者
飞思科技产品研发中心
联系方式
咨询电话:(010)68134545 88254160
电子邮件:support@fecit.com.cn
服务网址:http://www.fecit.com.cn http://www.fecit.net
通用网址:计算机图书、飞思、飞思教育、飞思科技、FECIT