JaveEE服务器基础知识总结

来源:互联网 发布:设置淘宝全场满38包邮 编辑:程序博客网 时间:2024/06/05 22:58

Websphere:

IBM旗下的声名卓著的javaEE服务器,性能和功能都十分强大,支持负载均衡,高性能HA,集群等。大型应用开发的首选服务器。

1. Websphere启动,停止命令:

进入你的profiles目录,自己起过的profile name(默认的default),里面有个bin 
大概是这样的 

/opt/IBM/WebSphere/AppServer/profiles/profiles_name/bin 

startServer.sh server_name (默认是server1)
stopServer.sh server_name


2.Websphere日志目录:

 

Log dir: /opt/WebSphere/AppServer/profiles/自己的profile(默认default)/logs/servername(默认server1)/SystemOut.log


3.Websphere应用程序部署目录:

Application dir:  /opt/WebSphere/AppServer/profiles/自己的profile(默认default)/installedApps/

 


4.Websphere控制台:

https://hostname:9043/ibm/console


5.通过控制台进行部署,移除,启动,停止应用程序等操作:

进入Webspshere控制台之后:Applications——>Enterprise Applications。。。


6.Websphere JNDI连接信息配置:

Context.INITIAL_CONTEXT_FACTORY=com.ibm.websphere.naming.WsnInitialContextFactory

Context.PROVIDER_URL=iiop://localhost:2809/


Glassfish:

Glassfish是Sun最新推出的javaEE应用服务器,以其超快的速度和强大的功能备受开发人员青睐。

1.启动glassfish server

asadmin start-domain domain1      // domain1安装文件steup.xml里domain.name


2. 测试是否正常启动:

在浏览器里输入:http://localhost:8080如果出现:Your glassfish enterprise server is runing now界面则安装成功


3.部署web应用

a.自动部署:

在weblogic下,我们通常将一个应用打包成一个war包,或者一个ear包进行部署,当然你一可以不进行打包,按一个符合Java EE规范的目录进行部署(通常这样是不建议的,仅仅在开发阶段可以这样的方式),在weblogic下,每个domain里都有autodeploy目录,该目录支持热部署,容许您直接将一个war包上传到该目录,当weblogic启动的时候,该应用会自动部署,galssfish也支持这样的功能,并且连目录方式都是一样的,我们来看一下glassfish下autodeploy的路径:
glassfish安装目录/glassfish/domains/domain1/autodeploy


b.Eclipse插件部署:

在Eclipse里自带了Glassfish的插件,在Eclipse部署时会自动将应用部署到:

GlassFish安装目录/glassfish/domains/domain1/eclipseApps/ 目录下。


4.启动和停止Glassfish:

GlassFish安装目录/glassfish/bin/目录下的startserv.bat,stopserv.bat就是windows下的启动和停止的脚步文件。


5.Glassfish的JNDI连接信息配置:

Context.INITIAL_CONTEXT_FACTORY=org.jnp.interfaces.NamingContextFactory  

Context.PROVIDER_URL=localhost:1099


JBoss:

著名的开源JavaEE服务器,后来被RedHat收购,最早支持EJB3.0规范。性能稳定,速度也较快,是中小企业的首选。

1.环境变量的设置:

右键点我的电脑,选"属性"-选"高级"选项卡 点击"环境变量"按钮 点击系统变量的"新建"按钮,然后在对话框中输入"变量名"为"JBOSS_HOME",变量值为JBOSS的解压路径。


2.启动停止JBOSS:

直接执行JBoss/bin目录下的run.bat批处理文件即可启动jboss.

执行JBoss/bin目录下的shutdown.bat批处理文件,不过要带一个参数"-S",注意是大写字母,即可停止Jboss服务器。


3. JBOSS文件的部署

JBoss支持热部署,也就是war、ear文件部署到服务器上后不需要重新启动JBossTomcat不支持这种特性)。war文件的部署很简单,直接将war文件拷贝到JBoss/server/default/deploy目录下即可。


4.  JBoss的目录结构

    bin目录:改目录包含各种脚本文件以及相关文件,前面已经用过run.batshutdown.bat两个批处理文件。

    client目录:存储配置信息和可能被Java客户端应用程序或外部Web容器用到的jar文件。

    docs目录:保存在JBoss中引用到的XML文件和DTD文件(这里也提供了在JBoss中如何写配置文件的例子)。该目录下有针对不通的数据库(如MySqlOracleSQL ServerPostgres等)配置数据源的JCA配置文件。

     lib目录:这里存储运行JBoss微内核所需的jar文件。该目录下不要存储任何你自己的jar文件。

     server目录:这里的每一个子目录对应着一个服务器配置。该配置由运行脚本文件时的参数"-c <配置名称>"来确定。在server目录下有三个配置例子,即alldefaultminimal,每一个配置安装的服务都不一样。其中default下是缺省配置。

      minimal目录:仅加载启动JBoss所需的最少服务,如日志服务、JNDIURL部署扫描器(发现新的部署),不包含Web容器、EJBJMS

      all目录:启动所有的服务,包括RMI/IIOP、集群服务和Web服务部署器(默认配置不会被加载)。

启动JBoss时,如果run.bat不带任何参数,则使用的配置是server/default目录下的配置。如果要以其它目录下的配置启动JBoss,可以使用如下参数:

run  -c  all

上述命令将以all目录下的配置信息启动JBoss。也可以在server目录下新建目录,按自己的需要写配置文件。

下面以default目录为例,介绍服务器配置的目录结构。

      conf目录:该目录下有指定核心服务的jboss-service.xml文件,也可以放其它服务配置的文件。

      data目录:该目录是JBoss内置的数据库Hypersonic存储数据的地方,也是JBossMQthe JBoss implementation of JMS)存储相关信息的地方。

      deploy目录:这是部署J2EE应用程序(jarwarear文件)的位置,只需将相应文件拷贝到该目录下即可。该目录也用来热部署服务和JCA资源适配器。已经有一些服务部署到这个目录了,如jmx-console,你启动JBoss后即可访问。JBoss会周期性的扫描deploy目录,当有任何组件改变,JBoss会重新部署该程序。

      lib目录:存放服务器配置所需的jar文件,比如,你可以将JDBC驱动程序放在该目录下。

      log目录:存放日志信息。JBoss使用Jakarta log4j包存储日志,在程序中你也可以直接使用该信息。

      tmp目录:存储在部署过程中解压时产生的临时文件。

      work目录:Tomcat编译JSP文件时的工作目录。

目录datalogtmpworkJBoss安装后并不存在,当JBoss运行时自动建立。


5. JBoss中和数据库的连接

这里所说的数据库连接是在JBoss中通过XML文件配置数据源,在程序中通过名字来访问数据库。从JBoss3.2.3之后的数据库连接配置比较简单,关于配置文件的书写在JBoss中针对不同的数据库有相应的例子,配置文件的例子在目录JBoss_HOME/docs/examples/jca下,如对MySql数据库的配置文件是mysql-ds.xml。只要针对数据库的具体情况修改该配置文件即可。修改完成之后,将配置文件拷贝到JBoss_HOME/server/default目录下。下面是一个设置MySql数据库为数据源的mysql-ds.xml配置文件的内容:
 

另外,连接数据库所用到的JDBC驱动程序要拷贝到JBoss_HOME/server/default/lib目录下。


6.Jboss控制台: http://localhost:8080/jmx-console


7.JBOSS的JNDI名生成规则:

命名规则如下:
1). 如果EJB 打包进后缀为*.ear 的J2EE 发布文件,默认的JNDI 路径名称是
访问本地接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/local
访问远程接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/remote
例:EJB HelloWorld 打包进名为HelloWorld.ear 的J2EE 应用,访问她远程接口的JNDI 名是:
HelloWorld/HelloWorldBean/remote
2). 如果EJB 应用打包成后缀为*.jar 的发布文件, 默认的JNDI 路径名称是
访问本地接口:EJB-CLASS-NAME/local
访问远程接口:EJB-CLASS-NAME/remote
例: HelloWorld 应用打包成HelloWorld.jar 文件,访问她远程接口的JNDI 名称是:HelloWorldBean/remote
另外有一点要注意:EJB-CLASS-NAME 是不带包名的,如com.foshanshop.ejb3.impl.HelloWorldBean 只需取
HelloWorldBean。


8.将JBOSS应用发布为外网IP:

JBOSS默认的应用发布IP是localhost,要想使用外网IP有如下两个办法:

1).JBoss/bin目录下的run.bat或run.sh加参数-b 0.0.0.0:可以监听全部地址。 

2). 等效与run.sh的参数-b的做法是:修改JBoss/server/default/deploy/jboss-web.deployer/server.xml,把Connector下面的address改成对应的IP或者0.0.0.0。 

9.JBOSS的JNDI连接信息配置:

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=localhost:1099  (服务器地址和端口号)
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces

通过这个文件和JBoss的一些客户端类库,就可以使用JBoss提供的EJB对象服务了。


 

Weblogic:

和Websphere实力相当的大型JavaEE应用服务器,后来被Oracle公司收购。

1.weblogic的配置。

下载安装weblogic后对weblogic进行配置,首先这里有几个名词,Cluster,domain,server,如果第一次接触它,可能会有些不知所措。也许我们在网上能搜到它们的名词解释,但还是太抽像了,难以琢摸。

 好在weblogic有一个缺省的配置模板,Basic weblogic server domain.它能带领我们这些陌生人走出迷宫。
在此点next之后先择Express(默认选项)即可。之后是输入管理员名称及密码等等。在一路next之后,weblogic为我们创建了一个cluster(domains),下面有一个domain(mydomain),mydomain下面有application及myserver文件夹。application就是发布工程的文件夹,和tomcat的webapp包一样。至此我们应该对那几个麻烦的名词能逆向悟出一点了。


2.进一步配置weblogic的其他配置可以进入:http://localhost:7001/console进行。

也可以在/bea/user_projects/domains/mydomain下的config.xml里面配置如下:
 

3.Weblogic的停止和启动:

a.启动:

Weblogic安装目录/samples/domains/medrec/bin/startWebLogic.cmd (Windows) 
Weblogic安装目录/samples/domains/medrec/bin/startWebLogic.sh (UNIX/Linux)

b.停止:

Weblogic安装目录/samples/domains/medrec/bin/stopWebLogic.cmd (Windows) 
Weblogic安装目录/samples/domains/medrec/bin/stopWebLogic.sh (UNIX/Linux)


4.Weblogic应用部署:

weblogic安装目录/user_projects/domains/base_domain/autodeploy/。

5.Weblogic的JNDI连接配置信息:

Weblogic进行连接JNDI连接时使用的是自己私有的t3协议,而不是标准的IIOP协议。

Context.INITIAL_CONTEXT_FACTORY=weblogic.jndi.WLInitialContextFactory

Context.PROVIDER_URL=t3://localhost:7001