日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
GlassFish替換Tomcat

1. GlassFish替換Tomcat背景

成都創(chuàng)新互聯(lián)公司專注于東平企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站開發(fā)。東平網(wǎng)站建設(shè)公司,為東平等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站開發(fā),專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

用了很多年的Tomcat, 無論開發(fā)環(huán)境還是生產(chǎn)環(huán)境, 應(yīng)該說, 大家對它還是基本滿意的.不過, 也不是一點問題沒有. 從開發(fā)人員的角度來說, Tomcat主要的缺點就是較弱的熱部署(hot deploy)能力. 修改一個Java類, 保存后, Tomcat會重新加載這個類, 但不久就要重新啟動Tomcat才能繼續(xù)開發(fā). 在企業(yè)關(guān)鍵應(yīng)用的場景下, 若發(fā)生急迫的程序缺陷更正, 讓眾多的用戶停止手頭的工作, 等待服務(wù)器重新啟動, 顯然十分不便.

類似RubyOnRails的技術(shù)框架, 其方便之處就是腳本語言不要編譯, 保存后直接可以使用.Java社區(qū)顯然看到了這個問題, GlassFish v2 的熱部署能力就是其主要的一個受大家歡迎的特性. 這也是我們要用 GlassFish v2 替換 Tomcat 5.x 的主要理由.

2. 使用環(huán)境

本文假設(shè)你使用下面所述的開發(fā)環(huán)境.
(1) JDK 1.5 或 1.6
(2) Eclipse IDE for Java EE Developers (3.3.1.1 M20071023-1652)
(3) 使用 com.sysdeo.eclipse.tomcat_3.2.1 插件

如果你沒有使用 Eclipse 3.3.1.1 Java EE 版本, 而是正在使用其他版本, 也不影響本文所述的所有操作和效果, 只是不能借助Eclipse 啟動和停止 GlassFish v2, 只能自己通過命令行進行操作.

有關(guān)用 Eclipse 3.3.1.1 Java EE 版本操作 GlassFish v2 的詳細說明, 請參見 Eclipse 3.3 and GlassFish Java EE 5 integration.

3. 下載并安裝 GlassFish v2

這方面的資料已經(jīng)很容易從網(wǎng)上找到, 比較好的文章如下:
(1) 在Glassfish上部署web應(yīng)用
(2) Glassfish初試
(3) 從tomcat到glashfish(glassfish的安裝啟動筆記)

4. 創(chuàng)建 Tomcat 項目

相信你一定也知道如何創(chuàng)建 Tomcat 項目. 本文假設(shè)你創(chuàng)建的 Tomcat 項目:
(1) 位于 D:/Sample 目錄.
(2) Context name 為 Sample.

其他采用默認設(shè)置.

5. 為測試 GlassFish v2 的熱部署能力, 創(chuàng)建首頁JSP和Servlet Java類.

第1步: 在根目錄中創(chuàng)建 index.jsp 文件
第2步: 在 WEB-INF\src 中, 創(chuàng)建一個簡單的 servlet 類 SampleServlet.java,
第3步: 配置web.xml文件.

完整的Sample項目, 請參見附件.

6. 什么是 GlassFish v2 的目錄部署?

用Tomcat開發(fā)時, JSP/HTML/JS/CSS 等文件, 都是修改后保存, 刷新瀏覽器就可以使用.為了使 GlassFish v2 達到同樣的效果, 需要使用其目錄部署(directory deployment)特性.

這個特性不太容易找, 因為使用象GlassFish這樣的全功能應(yīng)用服務(wù)器的開發(fā)人員,習(xí)慣了"編輯、編譯、部署、運行"這樣的步驟. 一開始, 我按照 Eclipse 3.3 and GlassFish Java EE 5 integration.

一文的指引, 發(fā)現(xiàn)修改JSP文件后,仍然要經(jīng)歷上面的部署過程. 雖然Eclipse會通過自動檢測文件版本的變化, 觸發(fā)Ant任務(wù)實現(xiàn)部署, 但仍然很浪費時間. 我們需要找到跳過"部署"的方法.在GlassFish官方論壇上發(fā)了幾個帖子, 答復(fù)者的回帖沒有起到什么作用, 但通過搜索論壇基本
知道這個問題已經(jīng)得到了解決.

下面的文章引導(dǎo)我朝著正確的方向前進了一大步(非常感謝該文作者):GlassFish Auto Deployment and Hot Deployment

關(guān)于目錄部署的詳細說明,參見:
Sun Java System Application Server Platform Edition 9.0 Application Deployment Guide
Chapter 1 中 Deployment for Development 一節(jié)

7. GlassFish v2 的目錄部署實戰(zhàn)

第1步: 啟動 GlassFish v2.

第2步: 部署 Sample 項目到 GlassFish v2, DOS窗口下執(zhí)行命令:

   GLASS_FISH_HOME/bin/asadmin deploydir D:/Sample

其中 GLASS_FISH_HOME 是 GlassFish 的安裝目錄, 命令執(zhí)行完畢后,可以看到成功部署信息.

8. 體驗 GlassFish v2 的熱部署特性

第1步: 修改 index.jsp 文件內(nèi)容, 保存后, 刷新瀏覽器, 你就能馬上看到新的內(nèi)容.

第2步: 修改 SampleServlet.java, 保存后, 等待片刻, Eclipse 已經(jīng)自動編譯這個類, 但 GlassFish v2 控制臺中沒有任何提示, 刷新瀏覽器, 看不到新的內(nèi)容.

第3步: 現(xiàn)在, 在 Sample 項目根目錄中創(chuàng)建文件名為".reload"的文件(內(nèi)容為空).

第4步: 觀察GlassFish v2 控制臺, 可以看到重新加載信息,刷新瀏覽器,看到了新的內(nèi)容.

第5步: 再次修改 SampleServlet.java 的內(nèi)容, 保存后, 遇到和第2步同樣的問題.

第6步: 再次打開 .reload 文件, 輸入任意內(nèi)容, 然后保存.

第7步: 再次出現(xiàn)與第4步同樣的效果.

總結(jié)上述操作, GlassFish v2 對于非Java類的加載, 達到了和Tomcat同樣的效果, 但Java類的加載, 需要通過 .reload 文件的時間戳來控制. 這種做法對開發(fā)有好處, 在調(diào)試改錯時, 可以修改多個 Java 類文件, 然后讓 GlassFish v2 一次加載全部修過的類.

9. 自動化 .reload 文件時間戳刷新

上一節(jié)中, 手工打開 .reload 文件, 通過修改其內(nèi)容刷新其時間戳, 這種做法太麻煩.

在 unix/linux 平臺下, 通過命令 touch 刷新 .reload 文件的時間戳. 在 Window 平臺, 也有人實現(xiàn)了 touch. 我在 CodeProject 網(wǎng)站找到一個 touch.exe: Touch for Windows - The Code Project - Free Tools,很好用, 并且可以集成到 Eclipse 的工具條按鈕中來執(zhí)行 touch 命令(touch.exe 已經(jīng)包括在附件中).

第1步: 拷貝下載的 touch.exe 到 Sample 項目根目錄.

第2步: 在 Eclipse 下, 選擇 Run > External Tools > Open External Tools Dialog.

第3步: 選中左側(cè) Program 節(jié)點, 右擊, 選擇New菜單項.

第4步: 在右側(cè)出現(xiàn)的對話框中, 填入下面的內(nèi)容
Name: SampleTouch
Main[頁面]
Localtion: ${workspace_loc:/Sample/touch.exe}
Working Directory: ${workspace_loc:/Sample}
Arguments: .reload
Common[頁面]
Display in favorites menu: 選中External Tools

保存后, 你可以在Eclipse的Run工具條按鈕中看到新創(chuàng)建的項.

10. GlassFish替換Tomcat結(jié)語

用 GlassFish v2 可以完全替換 Tomcat 5.x, 在開發(fā)中它保留了 Tomcat 好的特性的。同時,給我們帶來了強壯的熱部署功能, 顯著地提高了開發(fā)效率.

【編輯推薦】

  1. Sun發(fā)布基于GlassFish的開源網(wǎng)絡(luò)平臺
  2. GlassFish配置多機集群淺析
  3. 如何將GlassFish作為Windows服務(wù)運行
  4. 在Glassfish上部署web應(yīng)用
  5. GlassFish的下載及安裝

名稱欄目:GlassFish替換Tomcat
轉(zhuǎn)載來源:http://www.dlmjj.cn/article/dpcehji.html