GlassFish v 的目录部署实战
第步: 启动 GlassFish v
第步: 部署 Sample 项目到 GlassFish v DOS窗口下执行命令:
GLASS_FISH_HOME/bin/asadmin deploydir D:/Sample
其中 GLASS_FISH_HOME 是 GlassFish 的安装目录 命令执行完毕后可以看到成功部署信息
第步: 打开浏览器 输入http://localhost:/Sample/indexjsp 看到页面内容
第步: 打开浏览器 输入 http://localhost:/Sample/servlet/Sample 看到页面内容
体验 GlassFish v 的热部署特性
第步: 修改 indexjsp 文件内容 保存后 刷新浏览器 你就能马上看到新的内容
( http://localhost:/Sample/indexjsp)
第步: 修改 SampleServletjava 保存后 等待片刻 Eclipse 已经自动编译这个类 但 GlassFish v 控制台中没有任何提示 刷新浏览器 看不到新的内容
( http://localhost:/Sample/servlet/Sample)
第步: 现在 在 Sample 项目根目录中创建文件名为reload的文件(内容为空)
第步: 观察GlassFish v 控制台 可以看到重新加载信息刷新浏览器
(http://localhost:/Sample/servlet/Sample)
到了新的内容
第步: 再次修改 SampleServletjava 的内容 保存后 遇到和第步同样的问题
第步: 再次打开 reload 文件 输入任意内容 然后保存
第步: 再次出现与第步同样的效果
总结上述操作 GlassFish v 对于非Java类的加载 达到了和Tomcat同样的效果 但Java类的加载 需要通过 reload 文件的时间戳来控制 这种做法对开发有好处 在调试改错时 可以修改多个 Java 类文件 然后让 GlassFish v 一次加载全部修过的类
自动化 reload 文件时间戳刷新
上一节中 手工打开 reload 文件 通过修改其内容刷新其时间戳 这种做法太麻烦
在 unix/linux 平台下 通过命令 touch 刷新 reload 文件的时间戳 在 Window 平台 也有
人实现了 touch 我在 CodeProject 网站找到一个 touchexe: Touch for Windows The Code Project Free Tools很好用 并且可以集成到 Eclipse 的工具条按钮中来执行 touch 命令(touchexe 已经包括在附件中)
第步: 拷贝下载的 touchexe 到 Sample 项目根目录
第步: 在 Eclipse 下 选择 Run > External Tools > Open External Tools Dialog
第步: 选中左侧 Program 节点 右击 选择New菜单项
第步: 在右侧出现的对话框中 填入下面的内容
Name: SampleTouch
Main[页面]
Localtion: ${workspace_loc:/Sample/touchexe}
Working Directory: ${workspace_loc:/Sample}
Arguments: reload
Common[页面]
Display in favorites menu: 选中External Tools
保存后 你可以在Eclipse的Run工具条按钮中看到新创建的项
结语
用 GlassFish v 可以完全替换 Tomcat x 在开发中它保留了 Tomcat 好的特性的同时给我们带来了强壮的热部署功能 显着地提高了开发效率
感谢GlassFish v 感谢为之付出心血的Java社区成员 是他们让我们感受到了技术进步的喜悦
[] []