Glassfish初探

相信做Java的WEB开发都应该对Tomcat事再熟悉不过了,这个WEB服务器简单,有效,但是随着技
首页 新闻资讯 行业资讯 Glassfish初探

Glassfish是sun主导的一款开源J2EEweb服务器,具体情况请访问https://Glassfish.dev.java.net
本文重点介绍如何安装Glassfish,运行Glassfish,以及部署web应用程序到Glassfish中,最后还专注于在Glassfish中使用Oracle的数据源。

1、安装与运行(Windows的安装,其他暂时没有做)

前提:需要安装JDK1.5,在此不累述

首先,在https://Glassfish.dev.java.net上下载Glassfish,一般有两个版本,一个是标准版,一个是多语言版,根据你的实际需要,下载相应版本。

其次,将下载下来的jar包放置在一个想要安装的位置,如D盘根目录下,在命令行模式下运行到jar包的所在目录,运行命令:java-Xmx256m-jarfilename.jar(注:filename.jar为Glassfish-**-**-**.jar包),一会儿会弹出一个对话框,这个时候可能要拖动一下上面的说明,表示你已经知道了(也许是过阵子时间),accept按钮允许点击,之后就会开始安装在jar包所在目录下。

再次,安装完之后,还需要在Glassfish中添加domain,就如同websphere要加appserver一样,在Glassfish的根目录下,有一个setup.xml,打开该文件,编辑重要信息:

复制

<propertynamepropertyname="domain.name"value="domain1"/><!--域名称,默认为domain1--> <propertynamepropertyname="admin.user"value="admin"/><!--控制管理台用户--> <propertynamepropertyname="admin.password"value="adminadmin"/><!--控制管理台用户密码--> <propertynamepropertyname="admin.port"value="4848"/><!--控制管理台http端口--> <propertynamepropertyname="instance.port"value="8080"/><!--web应用http端口--> <propertynamepropertyname="https.port"value="8181"/><!--web应用https端口-->
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

根据各自机器的实际情况进行设置,或不做改动,完了,需使用ant来生成domain,如机器上没有安装ant,可使用Glassfish自带的ant来进行安装(%{Glassfish}\lib\ant),执行命令:ant-fsetup.xml(如使用Glassfish自带的ant,则lib\bin\ant-fsetup.xml),仔细查看执行过程是否安装成功,本人在安装时,就因为端口设置冲突而安装失败,但是build的结果为successful,所以得注意安装过程中出现的文字信息,成功后,会在Glassfish的根目录下出现个domains的目录
到此,安装已经完成,要启动domain1,可以如下操作,命令行到Glassfish的bin目录下,执行:asadminstart-domaindomain1(domain1为域名称),停止则为asadminstop-domaindomain1

2、部署WEB应用程序

前提:有一个完整WEB项目的war包,打包方式为jarcvf***.war./

启动Glassfish之后,进入到某个域的后台管理页面,输入用户名和密码,进入主页。

左栏会有一些任务栏,应用程序->web应用程序->部署,选择需要部署的war文件,输入应用程序名称以及上下文根,选择好war包时,会默认将包名设置为这两个输入项,可自行更改,如果需要web项目运行在根目录下,直接在上下文根输入/即可,其他选项默认即可,点击确定,如果失败,则会提示错误保存在日志文件中,这个时候需要到domain的logs中自行查找错误原因。

部署成功后,即可访问该web应用程序了,可点击web应用程序的取消部署删除该web应用,也可以停止该web应用,启用该web应用。

3、数据源

这个地方花费了我好一阵时间

前提:已经安装Oracle(其他应该类似,但是没有用过,不敢保证),并有相应的数据库,用户名和密码等
登录某个域的后台管理页面

左栏,资源->JDBC->连接池->新建,输入连接池名称,选择类型为javax.sql.ConnectionPoolDataSource,数据库供应商选择Oracle,下一步,上面的输入都可以使用默认设置,在其他属性中,输入以下各个属性的对应值:

DatabaseName(数据库名)

User(数据库用户名)

Password(数据库用户密码)

PortNumber(数据库端口,Oracle的端口默认为1521)

URL(数据库访问的地址,如jdbc:Oracle:thin:@localhost:1521:db)

其他可以不用设置,完成,即生产一个连接池

然后,将Oracle的数据库访问jar包复制到domain\lib\ext下来到新创建的连接池的内容显示页,点击ping,如果ping成功,则连接池已经设置成功,否则依次排查故障,接下来就要设置数据源。

资源->JDBC->JDBC资源,输入JNDI名称,一般为jdbc/****(*为具体名称),选择池名称为刚刚新建的连接池,点击确定,即可创建完之后,需要在web程序中使用,需要在web.xml中加入:

复制

<resource-ref> <description>OracleConnectionPool</description> <res-ref-name>jdbc/****</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref>
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

然后在java程序中,加入如下代码来使用数据源:

复制

Contextctx=newInitialContext();  DataSourceds=(DataSource)ctx.lookup("jdbc/****");  Connctioncon=ds.getConnection();
  • 1.

  • 2.

  • 3.

接下来就简单,直接用这个con就可以了。

时间仓促,而且还是刚刚接触,Glassfish的其他内容还未能涉及,抛砖引玉吧

【编辑推荐】

  1. Sun发布基于GlassFish的开源网络平台

  2. 如何解决JBoss和log4j冲突

  3. 用RichFaces将桌面特性添加到浏览器应用程序中

  4. JBoss jBPM安装配置(Tomcat 6.0+MySQL 5.1)

  5. GlassFish v3 发布预发行版本

13    2009-06-24 13:22:27    Glassfish