我现在正在做一个J2EE的OA项目,基于安全保密考虑,项目名称以下称为J2EEOA。现在,项目的系统需求和设计阶段都已做完,正处在编码阶段。在这个过程中有很多开发心得和体会,不吐不快。在这里,整理出来与大家一同分享。文章中应用大量专业术语,所以在阅读前,您应有一定的基础知识,如javalanguage、jsp、servlet、j2ee、ejb、ejb-ql、structs(MVC)、jboss、ant等。为了帮助大家更好的阅读,把相关知识链接列在下面。1.JBossApplicationServer:或者.JavaLanguageSpecification或者.JDK.J2EE.ANT.Structs.JSP.Servlet.EJB.EJB-QL安装和配置JBossApplicationServer今天的工作主要是安装JBoss。下面在介绍JBoss之后重点讲解配置JBossApplicationServer后我总结出的经验。为什么要选择JBoss作应用服务器?JBoss是一个符合标准的开放源码的J2EE应用服务器套件的名称,当前最新版本为3.0。JAS套件包括JBossServerEJBv2.0Container和server,JBossMQJMS1.0implemetation,JBossNSJNDIimplemetation,JBossCMPadvancedO/Rmapper和JDBCdataobjectstorageimplemetation以及JAAS-basedJBossSXsecurityframeeork。所有的JBoss应用程序都是100%纯java应用程序。JBoss3.0包括最新的微型JMX内核、完整的HTTPServer(Jetty或Tomcat)、JCA、EJB2.0,是一个完整的、丰富的基于J2EE规范的应用服务器。JBoss3.0遵循EJB1.1规范和部分EJB2.0规范。在这方面,它类似Sun's'J2SDKEnterpriseEdition'(J2EE),但JBoss服务器内核仅支持EJB服务器。JBoss内核不包括支持Severlet/JSP的WEB包容器,尽管它捆扎了Tomcat或Jetty。最小内核需要是指JBoss要求的最小内存和磁盘空间。JBoss可以运行在内存为64MRAM的机器上,要求很少的磁盘空间(包括源代码)。Sun'sJ2EE要求最少128MRAM、31M磁盘空间。由于要求较小内存方面的原因,JBoss启动比SunJ2EE快10倍并自带了一个数据库服务器(HypersonicSQLServer),在JBoss启动时数据库服务器自动启动(Sun'sJ2EE也自带了一个CloudScapeSQLserver,但CloudScapeSQLserver必须同Sun'sJ2EE分开启动)。JBoss完美的功能之一是它支持“热”部署。这个意思是部署一个Bean就是拷贝JAR文件到部署目录那么简单。如果你正在Bean已经部署的情况下进行这个操作,JBoss自动卸载Bean,再部署新版本的Bean。JBoss是基于LGPL的分发,也就是说它是完全免费的。(编译自:)安装JAS3.0首先在Windows下安装JAS,安装成功后,再将JAS移植到Linux服务器上。·安装JDK1.3,在安装JAS之前,必须在JAS服务器上安装JDK。·下载JAS3.0的安装程序首先去JBoss站点下载JAS3.0的安装程序,文件名jboss-3.0.0_tomcat-4.0.31.zip下载地址1:下载地址2:·释放安装程序下载后,使用压缩工具WinRAR,把jboss-3.0.0_tomcat-4.0.31.zip释放到c:\,释放之后,在c:下出现jboss-3.0.0_tomcat-4.0.3目录,它就是JAS的主目录。·运行JASJAS的主目录下有一个bin目录,它是JAS的运行入口,run.bat是JAS的windows版运行程序,ruh.sh是JAS的unix版(包括linux、solaris等操作系统)运行程序。双击run.bat文件,弹出运行窗口。图片1刚开始运行JAS的窗口图片2运行中的JAS窗口JAS运行成功后,8080端口被Tomcat的Servlet引擎占用,8082端口被JBoss的代理管理占用。Tomcat占用的8080端口可以被修改的,下面将会介绍到。JAS的目录及其描述约定说明:在下面,我将JAS中的一些目录进行说明和描述。JAS的主目录描述为${jboss.home}·JAS的bin目录名称为bin,描述为${jboss.bin},它用来存放JAS的启动程序和运行时的包,在Windows下JAS的启动程序为run.bat,在Unix下JAS的启动程序为run.sh。·JAS的client目录名称为client,描述为${jboss.client},它用来存放JAS所用的一些包。·J2EEApplication所在目录名称描述为${jboss.configuration},JAS在缺省状态下的名称为default,可以通过在运行启动程序时加上参数“-c”来指定名称。例如:run.bat-cJ2EEOA·JAS的库目录描述为${jboss.home}/server/${jboss.configuration}/lib,在JAS启动时,JAS会自动加载此目录下所有的库文件(扩展名为JAR的压缩文件)。·JAS的部署目录描述为${jboss.home}/server/${jboss.configuration}/deploy,此目录存放J2EEApplication、EJB和一些配置文件,如mysql-service.xml、mail-service.xml、tomcat4-service.xml、jms-service.xml等。·JAS的配置目录描述为${jboss.home}/server/${jboss.configuration}/conf,此目录存放JAS的配置文件,如jboss-service.xml、log4j.xml、standardjaws.xml、standardjboss.xml、standardjbosscmp-jdbc.xml等。·JAS日志目录描述为${jboss.home}/server/${jboss.configuration}/log,JAS在缺省状态下的日志文件名为server.log。,可以通过在修改log4j.xml来指定日志文件名,如下所示:appendername=FILEclass=org.jboss.logging.appender.DailyRollingFileAppenderparamname=Filevalue=${jboss.server.home.dir}/log/server.log/paramname=Appendvalue=false/„/appender图片3修改log4j.xml指定日志文件·JAS的Tomcat目录描述为${jboss.home}/catalina,它用来提供Servlet/JSP引擎。·下面是一个简单的JBoss目录结构图:\|--bin|--client|--server|--${jboss.configuration}|--conf|--deploy|--log„„让JBoss和自带的Tomcat同时运行JAS3.0自带了一个TomcatWeb包容器,但初装时,Tomcat是不能单独启动的,必须在JAS内运行。通过如下配置可以让Tomcat单独运行。·修改JAS下的tomcat4-service.xml文件,将Tomcat的Http端口设为9090,下面是tomcat4-service.xml的部分代码:!--AHTTPConnectoronport9090--ConnectorclassName=org.apache.catalina.connector.http.HttpConnectorport=9090minProcessors=3maxProcessors=10enableLookups=trueacceptCount=10debug=0connectionTimeout=60000/图片4修改Tomcat的Http端口·拷贝${jboss.home}/lib目录下的两个JAR文件jaxp.jar、crimson.jar到${jboss.home}/catalina/common/lib目录。·分别启动Tomcat和JBoss。在${jboss.home}/catalina/bin目录下输入startup.bat。tomcat运行了,它占用了8080端口。在${jboss.home}/bin目录下输入run.bat,JBoss也运行了,它的HTTP引擎占用了9090端口。到此JAS已经可以用了,下面来配置JAS连接数据库。连接数据库说明:项目要求的数据库为Mysql数据库,故必须将JAS和mysql数据库服务器连接起来。下载mysql的jdbc驱动程序由于用jdbc连接mysql要使用org.gjt.mm.mysql.Driver驱动程序,故先下载mysql的jdbc驱动程序,按下面的地址将文件mm.mysql-2.0.13-you-must-unjar-me.jar下载下来。下载地址:释放驱动程序上面下载的驱动程序包括了mm.mysql-2.0.13-bin.jar、开放的源代码和一个LICENSE,用WinRAR释放压缩文件,其中mm.mysql-2.0.13-bin.jar就是mysql的jdbc驱动程序,驱动程序文件名中的2.0.13是驱动程序的版本号。配置驱动程序·方法一:(推荐使用此方法)将mm.mysql-2.0.13-bin.jar拷贝到JAS的库目录即${jboss.home}/server/${jboss.configuration}/lib·方法二:在系统变量中加入JBOSS_CLASSPATH,值为mm.mysql-2.0.13-bin.jar的位置:例如:在Windows操作系统下setJBOSS_CLASSPATH=c:\J2EE\jdbc\mm.mysql-2.0.13\mm.mysql-2.0.13-bin.jar图片5设置系统变量JBOSS_CLASSPATH在Unix操作系统下setenvJBOSS_CLASSPATH/usr/local/jdbc/mm.mysql-2.0.13-bin.jar在Linux操作系统下JBOSS_CLASSPATH=/usr/local/jdbc/mm.