背景
用了很多年的Tomcat 無論開發環境還是生產環境 應該說 大家對它還是基本滿意的不過 也不是一點問題沒有 從開發人員的角度來說 Tomcat主要的缺點就是較弱的熱部署(hot deploy)能力 修改一個Java類 保存後 Tomcat會重新加載這個類 但不久就要重新啟動Tomcat才能繼續開發 在企業關鍵應用的場景下 若發生急迫的程序缺陷更正 讓眾多的用戶停止手頭的工作 等待服務器重新啟動 顯然十分不便
類似RubyOnRails的技術框架 其方便之處就是腳本語言不要編譯 保存後直接可以使用 Java社區顯然看到了這個問題 GlassFish v 的熱部署能力就是其主要的一個受大家歡迎的特性 這也是我們要用 GlassFish v 替換 Tomcat x 的主要理由
使用環境
本文假設你使用下面所述的開發環境
() JDK 或
() Eclipse IDE for Java EE Developers ( M)
() 使用 comsysdeoeclipsetomcat_ 插件
如果你沒有使用 Eclipse Java EE 版本 而是正在使用其他版本 也不影響本文所述的所有操作和效果 只是不能借助Eclipse 啟動和停止 GlassFish v 只能自己通過命令行進行操作
有關用 Eclipse Java EE 版本操作 GlassFish v 的詳細說明 請參見 Eclipse and GlassFish Java EE integration
下載並安裝 GlassFish v
這方面的資料已經很容易從網上找到 比較好的文章如下:
() 在Glassfish上部署web應用
() Glassfish初試
() 從tomcat到glashfish(glassfish的安裝啟動筆記)
創建 Tomcat 項目
相信你一定也知道如何創建 Tomcat 項目 本文假設你創建的 Tomcat 項目:
() 位於 D:/Sample 目錄
() Context name 為 Sample
其他采用默認設置
為測試 GlassFish v 的熱部署能力 創建首頁JSP和Servlet Java類
第步: 在根目錄中創建 indexjsp 文件
第步: 在 WEBINF\src 中 創建一個簡單的 servlet 類 SampleServletjava
第步: 配置webxml文件
完整的Sample項目 請參見附件
什麼是 GlassFish v 的目錄部署?
用Tomcat開發時 JSP/HTML/JS/CSS 等文件 都是修改後保存 刷新浏覽器就可以使用為了使 GlassFish v 達到同樣的效果 需要使用其目錄部署(directory deployment)特性
這個特性不太容易找 因為使用象GlassFish這樣的全功能應用服務器的開發人員習慣了編輯編譯部署運行這樣的步驟 一開始 我按照 Eclipse and GlassFish Java EE integration一文的指引 發現修改JSP文件後仍然要經歷上面的部署過程 雖然Eclipse會通過自動檢測文件版本的變化 觸發Ant任務實現部署 但仍然很浪費時間 我們需要找到跳過部署的方法 在GlassFish官方論壇上發了幾個帖子 答復者的回帖沒有起到什麼作用 但通過搜索論壇基本知道這個問題已經得到了解決
下面的文章引導我朝著正確的方向前進了一大步(非常感謝該文作者):
GlassFish Auto Deployment and Hot Deployment
關於目錄部署的詳細說明參見:
Sun Java System Application Server Platform Edition Application Deployment Guide
Chapter 中 Deployment for Development 一節
[] []
From:http://tw.wingwit.com/Article/program/Java/ky/201311/29201.html