Glassfish上部署web应用
Glassfish上部署web应用
redhacker/2008.10.25
一、说在前面
在现有的Java web开发中,关于应用服务器,大家最熟知的开源的有:Tomcat、Jboss、Resin,目前看来这三个开源应用服务器用的相当广泛,主要原因以我来看有下面几点:
1.Tomcat是Apache鼎力支持的Java Web应用服务器,由于它优秀的稳定性以及丰富的文档资料,广泛的使用人群,从而在开源领域受到最广泛的青睐。
2.Jboss作为Java EE应用服务器,它不但是Servlet容器,而且是EJB容器,从而受到企业级开发人员的欢迎,从而弥补了Tomcat只是一个Servlet容器的缺憾。
3.Resin也仅仅是一个Servlet容器,然而由于它优秀的运行速度,使得它在轻量级Java Web领域备受喜爱,特别是在互联网Web服务领域,众多知名公司都采用其作为他们的Java Web应用服务器,譬如163、ku6等。
在商用服务器里主要有:Weblogic、Websphere,其中Weblogic我也使用过很长一段时间,当时也只用其当Servlet容器,然而就在同等条件下,在性能及易用性等方面,要比Tomcat优秀很多。
今天我重点要给大家介绍一款由大名鼎鼎的Sun公司推出的Glassfilsh的Java EE服务器,Glassfish是一个免费、开放源代码的应用服务,它实现了Java EE 5,Java EE 5 平台包括了以下最新技术:EJB 3.0、JSF 1.2、Servlet 2.5、JSP 2.1、JAX-WS 2.0、JAXB 2.0、 Java Persistence 1.0、Common Annonations 1.0、StAX 1.0等,关于Glassfish的其他一些优点,大家可以访问起官方网站(https://glassfish.dev.java.net)进行查阅,我今天主要是想给大家介绍一下关于Glassfish的简单安装与使用。以下是详细内容:
二、Glassfish在windows环境下的安装
1.从Glassfish官网(https://glassfish.dev.java.net/public/downloadsindex.html)下载GlassFish Server v2.1。
2.在c盘下建立Java目录,将下载的jar文件放在改目录中(注意,Glassfish文件是一个jar文件,而不是一个zip或者tar文件,这样在windows和linux环境下,只要配置好Java环境都可以进行安装,这个我觉得非常好)。
3.然后在c:\Java目录里进行解压工作,在这之前请保证您的Java系统环境已经配置好,关于如何配置系统环境等在这里就不再赘述,您可以参考网上相关资料。解压的具体做法是在命令行执行如下命令:
7.安装glassfish,在命令行执行:
三、部署web应用
在weblogic下,我们通常将一个应用打包成一个war包,或者一个ear包进行部署,当然你一可以不进行打包,按一个符合Java EE规范的目录进行部署(通常这样是不建议的,仅仅在开发阶段可以这样的方式),在weblogic下,每个domain里都有autodeploy目录,该目录支持热部署,容许您直接将一个war包上传到该目录,当weblogic启动的时候,该应用会自动部署,galssfish也支持这样的功能,并且连目录方式都是一样的,我们来看一下glassfish下autodeploy的路径:
2.进入web application部署界面:
3.点击Deploy
有两种部署方式,第一种是使用war、ear等包形式,第二种是采用一个目录文件的形式。
4.选择Location,点击“浏览”,选择服务器上的war文件位置,然后点击“ok”如下图:
5.最后部署成功画面如下:
6.最后在地址栏输入:http://localhost:8080/ok/,如果显示如下画面则表明部署成功,如果不能正常显示则重新启动Glassfish
注:停止和启动Glassfish在命令行执行如下命令:启动:C:\Java\glassfish\bin>asadmin start-domain domain1停止:C:\Java\glassfish\bin>asadmin stop-domain domain1
四、体会:
1.Glashfish初步使用,感觉用法与界面都非常像Weblogic,对于熟悉Weblogic的朋友,在使用上很容易入门。
2.Glassfish能够支持EJB,以及很多只有重量级应用服务器才具有的功能,感觉非常棒,有必要研究以下其功能,可考虑在其上部署企业级应用。
3.Glassfish不仅仅是一个Servlet容器,是一个开源中间件,它在静态页面解析方面有着优秀的性能,这对Java Web领域应用服务器提供了另一个可选方案,用户可以替换以前使用Tomcat+Apache、Resin+Apache、Jboss+Apache等方案,获取Sun公司提供的优质产品服务。 1 楼 qinglangee 2008-12-02 听说GlassFish的热部署能力比Tomcat强。
我以debug方式启动GlassFish后,以deploydir的方式部署应用。然后修改Java类,touch .reload文件。
结果并没有觉得与tomcat有什么不同,在reload的时候整个应用退出,http session失效,GlassFish的响应也是404,应用实际上是重启了一次,从我的应用的监听中可以看出。
这就难道就是GlassFish的热部署,没看出与Tomcat有什么不同呀,我直接关闭Tomcat再重启速度并不觉得比这个慢多少,是我的部署方式不正确吗?