服务器

位置:IT落伍者 >> 服务器 >> 浏览文章

用GlassFish v2替换Tomcat 5.x[2]


发布日期:2024年05月24日
 
用GlassFish v2替换Tomcat 5.x[2]

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社区成员 是他们让我们感受到了技术进步的喜悦

[] []

               

上一篇:JBoss应用服务器5.0正式发布

下一篇:用GlassFish v2替换Tomcat 5.x[1]