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端口-->
根据各自机器的实际情况进行设置,或不做改动,完了,需使用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>
然后在java程序中,加入如下代码来使用数据源:
- Contextctx=newInitialContext();
- DataSourceds=(DataSource)ctx.lookup("jdbc/****");
- Connctioncon=ds.getConnection();
接下来就简单,直接用这个con就可以了。
时间仓促,而且还是刚刚接触,Glassfish的其他内容还未能涉及,抛砖引玉吧
【编辑推荐】