第三章JavaEE5.0编程工具与运行环境3.1安装与配置JDK1.53.2安装与配置SunGlassFish应用服务器3.3安装与配置Apusic应用服务器3.4安装与配置Eclipse开发环境3.5更多内容JDK1.5(JavaDevelopmentKit,Java开发包或Java开发工具)是整个JavaEE的技术核心与基础,它包括了JavaEE的运行环境(JRE,JavaRuntimeEnvirnment),以及JavaEE的一些常用的应用开发部署工具和JavaEE应用开发基础类库。因此,对JavaEE5的应用开发人员来讲,JDK1.5是一个必需具备的开发与测试环境。自1996年随着Java语言的诞生,Sun发布了第一个JDK版本JDK1.0。在随后Java技术发展的几年里,Sun又陆续发布了JDK1.1、JDK1.2、JDK1.3和JDK1.4,每一次JDK新版本的发布都为Java企业应用的开发带来了一些新的开发技术特性。JDK1.5是Sun随着JavaEE5.0规范发布推出的又一个JDK新版本。3.1安装与配置JDK1.5JDK目前有一些不同公司与技术组织提供的版本,最主流的JDK是由Sun公司发布的JDK。除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM(JavaVirtualMachine)运行效率要比SunJDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比SunJDK好很多。但不管是哪个公司开发的JDK,其均是符合Java语言规范。下面我们就JDK1.5的安装与运行做个介绍。1.下载JDK1.5在Sun公司的官方网站上提供了JDK的所有版本及其更新的免费下载。我们可在上可以找到JDK5.0Update6(版本在不断更新中,或许今后还有更新的版本),点击相应的版本下载即可。值得注意的是,我们可以选择不同操作系统平台上的安装程序。目前为止,JDK1.5安装程序支持的操作系统版本有MicrosoftWindows平台、Solaris、Linux及苹果公司的Mac系统。在这里,我们选择Windows下的安装程序版本进行下载(jdk-1_5_0_06-windows-i586-p.exe)。2.开始安装JDK1.5运行下载后的JDK1.5安装程序,一般我们直接默认安装到C:\ProgramFiles\Java\jdk1.5.0_06,当然您也可以更改路径。根据安装程序步骤完成安装之后,还需配置相应的环境变量。3.配置环境变量配置环境变量是为了设置Java程序的编译运行环境信息。在Windows平台下,一般我们主要需设置Java_HOME、CLASSPATH和Path三个系统环境变量。这三个系统环境变量的设置,可以通过右键点击我的电脑并选择右键菜单中的“属性”菜单项,然后在弹出的对话窗的“高级”选项卡里找到“环境变量”这个按钮,并单击它。在系统变量栏点击“新建”按钮,出现新建系统变量对话框。其中的变量名填JAVA_HOME,变量值填“C:\ProgramFiles\Java\jdk1.5.0_06”(您前一步JDK1.5的安装目录)。接着在系统变量栏中找到变量为Path的选项,并点击“编辑”按钮。在变量值的末尾添加“;%JAVA_HOME%\bin;”。设置好JAVA_HOME和Path变量以后,JDK1.5的基础配置环境就设置好了。您可以通过在Windows的CMD命令行窗口里直接敲入javac命令运行,如果出现类似图3-1中的窗口显示就表示以上配置操作已经成功完成!图3-1:Javac命令运行显示配置成功JAVA_HOME和Path变量后,您就可以开始编译和运行您的Java应用程序。但您编译和运行的Java应用程序源代码必须存放在JDK的安装目录下,或是在运行javac编译命令的当前目录。但从开发者的角度来讲,这并不是很方便,因此我们还需设置CLASSPATH变量来指定我们自己编写开发的Java应用程序的代码存放目录。这样在今后运行javac或其它Java命令编译或运行某个Java程序文件时,Java虚拟机除了会在运行该命令的当前目录和JDK安装目录下的lib目录中寻找这个程序文件外,还会在CLASSPATH变量指定的目录进行查找。设置CLASSPATH变量同样可按照设置JAVA_HOME变量一样的操作来完成。变量值设置为“;%JAVA_HOME%\lib;您存放Java代码的目录(例如:d:\Project)”。其中变量值中的“%JAVA_HOME%”代表之前设置的JAVA_HOME环境变量,根据步骤3的设置其值为C:\ProgramFiles\Java\jdk1.5.0_06。在完成以上1至3各步骤后,JDK1.5的安装与配置就基本完成了,同时也就具备了编写与运行JavaEE应用程序最基础的环境。但要能使用JavaEE的全部应用功能,则还需进一步安装和配置其它的一些软件,如JavaEE应用服务器。下一节我们就JavaEE应用服务器的安装与部署做一个介绍。3.2安装与配置SunGlassFish应用服务器JavaEE应用服务器是为JavaEE各种组件提供的一个基础开发与运行环境,它包括各种JavaEE容器的实现及JavaEEAPIs。有些JavaEE应用服务还提供有针对其配套使用的IDE开发工具及其它工具。Sun公司不仅仅是JavaEE开发规范制定的领导者,同时也在规范的实现和推广上也做了很大的努力和贡献。从JavaEE参考实现到产品级别的应用服务器(SunJavaSystemApplicationServer),Sun都有一套完整的产品线。GlassFish就是Sun公司提供的一个开源JavaEE应用服务器。3.2安装与配置SunGlassFish应用服务器在2005年6月的JavaOne大会上Sun开始了GlassFish项目。GlassFish项目使用CDDL规范,开发者可以查看、使用、修改和发布Glassfish的代码。GlassFish是一款强健的商业兼容应用服务器,达到产品级质量,可免费用于开发、部署和重新分发。您可以从这个URL地址:。Glassfish项目开始启动时,Sun公司把其商用应用服务器的代码贡献到GlassFish项目中,Oracle也贡献了Toplink的代码实现EJB的持久化功能。在GlassfishV2版本中,还包括了多个GlassFish服务器之间进行集群的功能支持等特性。GlassFish虽然是一个标准的JavaEE服务器,但是它同样具有轻便的Web容器的优点,它和Tomcat一样是优秀的Servlet容器,同时,它具备延迟加载的功能,也就是说,GlassFish在启动时只会启动一些必需的核心服务项,如LocalJNDI服务,用于管理的JMX服务等,而对于暂时用不到的服务不予加载,直到需要的时候再进行加载,而且这个特性不需要额外的配置。这样GlassFish的启动时间是以前的一半,内存占用也只有以前的一半。GlassFish的另外一个秘密武器,就是Grizzly,Grizzly是一个基于JavaNIO(NewIO)技术,并完全以Java实现的一个HTTP的Listener,有了Grizzly,GlassFish在静态文件传输方面的性能比Tomcat要强得多,而且可以支持更多的并发访问。这样我们可以抛弃JBoss+Tomcat和Apache+Tomcat这样的组合了。下面开始就GlassFish在Windows平台上的安装与基本配置做个简要的介绍。下载GlassFish,这里以下载的文件glassfish-installer-9.0-b48.jar文件为例。将下载的文件放到某个磁盘目录里,通过CMD命令行窗口进入该目录后在命令行输入:java-Xmx256m-jarglassfish-installer-9.0-b48.jar。在弹出面板中选择接收后开始解压,生成glassfish文件夹,进入该文件夹,确保ant安装正确的情况下输入:ant-fsetup.xml。启动服务器(安装好以后服务器已经启动)进入glassfish\bin下输入:asadminstart-domaindomain1。验证服务器是否已启动在浏览器中输入:,如看到“Yourserverisupandrunning!”表示成功!5.开始配置需分别配置以下配置项:domain.name=domain1instance.name=serveradmin.user=adminadmin.password=adminadminadmin.port=4848instance.port=8080orb.port=3700imq.port=7676https.port=8181master.password=changeit(onlyinsetup-cluster.xml)6.启动GlassFish服务器通过启动域来启动服务器。域为是GlassFish服务器的一个实例,类似于WindowsIIS应用服务器中的一个虚拟站点,其主要是为了方便进行安全鉴定和管理等。启动域也就启动了该域对应的服务器实例。当您安装GlassFish服务器时,就已经创建了一个名为domain1的默认域。进入目录install-dir/bin/,输入此命令来启动服务器:asadminstart-domaindomain1。服务器启动后,您会看到以下信息:StartingDomaindomain1,pleasewait.Logredirectedto/glassfish/domains/domain1/logs/server.log.Domaindomain1isreadytoreceiveclientrequests.Additionalservicesarebeingstartedinbackground.Domain[domain1]isrunning[SunJavaSystemApplicationServerPlatformEdition9.0(buildb43)]withitsconfigurationandlogsat:[/glassfish/domains].AdminConsoleisavailableat[].Usethesameport[4848]forasadmincommands.UserwebapplicationsareavailableattheseURLs:[://localhost:8181].Followingweb-contextsareavailable:[/web1/asadmin].StandardJMXClients(likeJConsole)canconnecttoJMXServiceURL:[service:jmx:rmi:///jndi/rmi://myhost:8686/jmxrmi]fordomainmanagementpurposes.Domainlistensonatleastfollowingportsforconnections:[8080818148483700382039208686].这表示服务器已正常启动。如想进一步确认服务器在您的机器上是否正常运行,点击此URL:(浏览器和GlassFish服务器运行在同一台机器上时)。如果GlassFish服务器在另一台机器上,则把该主机名放到以上的U