呵呵,引一篇文章:《Domino Servlet樣本》
http://www.oaunion.com/oaunion/oaunion.nsf/doc/FD0597833377B67348256ECF0013798F?opendocument 參考這篇文章,花了點時間實現了Domino JAVA Servlet版的RSS。 這裡總結一下該注意的地方:1、DominoR5支援的JDK版本 可以明確的是JDK1.3.1及以下是可以支援的。我之前是在Eclipse寫的Servlet代碼(可以快一些),然後用的JDK是1.5的,可想而知,這樣編譯的class檔案扔到Domino Server上去是肯定不啟動並執行,報的是類似class FormatError bad version這樣的JDK版本差異的錯誤。 隨後去找了JDK1.3.1本來想把Eclipse環境中的JRE等改成JDK1.3.1的,試了一下,沒搞定,就改換成直接用JDK1.3.1來編譯了。學到了一點之前沒注意到的(沒怎麼用JDK編寫和編譯過代碼,看過一點王寶森編的《JAVA 深度曆險》,第一二章確實很不錯),就是如何在JDK環境中引入JAR檔案,確實是會者不難,難者不會。這次記清楚了,在環境變數CLASSPATH中指定就可以了。 然後使用JDK1.3.1得編譯器重新編譯過就可以了。 2、如何使Servlet在Domino伺服器上運行? 開啟Domino通訊錄names.nsf資料庫——開啟“伺服器文檔”——進入“Internet協議”項——進入“Domino Web引擎”項——編輯“Java Servlets”選項組。 Domino 支援JVM和Servlet Manager(包括Domino自己的和第三方的)。當Servlet“啟用”時,JVM在Domino HTTP伺服器啟動之前裝載;如果使用Domino Servlet Manager,在JVM裝載之後,Domino HTTP伺服器啟動時裝載Servlet;如果使用第三方Servlet Manager,則只裝載JVM。
| 這些選項的描述如下: |
- Java servlet 支援-------------啟用/禁用。可選項是:禁用、Domino Servlet 管理者和第三 方Servlet支援。
- Servlet URL 路徑-------------訪問Servlet的URL,例如/servlet。
- 類路徑 ---------------------Servlet所在的目錄,相對於Domino 資料目錄。例如domino\servlet,實際是Domino 資料目錄下的domino\servlet。
這個地方,俺有幾句話說,你編寫的Servlet所使用的JAR檔案就可以在這裡指定地址,可相對路經或絕對路徑,必須是基於Domino伺服器的,當然之前你需要把JAR檔案放到Domino伺服器正確的位置。 建議放在Lotus\Domino\Data\Domino\lib下面(需要建立這個lib檔案夾)。
- Servlet 檔案擴充------------URL副檔名,用來告訴Domino它是一個Servlet,以逗號分隔。
- 工作階段狀態跟蹤----------------啟用/禁用指示Servlet管理者是否將中止閒置會話。
- 空閑逾時時間----------------一個空閑會話在被中止前的時間(分鐘)。此參數只有在啟用“最大活動會話”時才有效。
- 最大活動會話----------------最大活動Servlet會話數。
- 會話持續----------------------啟用/禁用。指示會話資訊是否存入磁碟。
|
WEB伺服器啟動時裝載Servlet,此刻後Servlet將在記憶體中,開始工作。但是,Servlet代碼改變後,Domino HTTP伺服器必須退出並重新啟動,新代碼才會起作用。上面這點很關鍵,你可以通過在控制台tell http quit,看到servlet的destroy方法的運行提示,然後輸入load http,你可以看到jvm初始化,servlet manager初始化,最後才是http server運行。 之後要注意什麼地方呢?把servlet放在Lotus\Domino\Data\Domino\servlet檔案夾下(基於之前伺服器文檔中的預設配置)。如果沒有servlet檔案夾,那就建立一個。3、編寫servlet 只提醒一點:別忘了寫finally以及執行相應的代碼。
| 結論(人家說得挺好的,俺引用引用啦) |
| ----Servlet和 Agent各有其特點,選擇Servlet還是Agent有時取決於開發人員。如果開發人員有很多WEB開發經驗或您希望使用WebSphere的強大servlet manager,您可選擇Servlet;反之有經驗的Domino開發人員可能選擇Agent。 |
----Java servlets 使您的 Domino 應用更強大。 servlets 增加伺服器端功能, 例如保持應用間交換資料的串連。另外,servlets的特性是安全執行緒代碼,支援網路訪問,記憶體自動管理。 感覺是挺不錯的。。。這兩天研究了點JAVA與Domino的結合。其實還有一塊比較有價值的,就是Domino中JAVA API,可以用於在底層開發Domino程式,改改Notes用戶端,改改SameTime什麼的,有空就去研究。 |