熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

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

2022-06-13   來源: Java開源技術 

   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社區成員 是他們讓我們感受到了技術進步的喜悅

[]  []  


From:http://tw.wingwit.com/Article/program/Java/ky/201311/29202.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.