Changes between Version 8 and Version 9 of waue/2009/0812
- Timestamp:
- Aug 13, 2009, 12:17:15 PM (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
waue/2009/0812
v8 v9 8 8 9 9 10 = 1. 前言 = 10 = 0. 前言 = 11 11 12 * [wiki:waue/2009/0811 jetty的安裝方法與介紹] 12 13 * 以下皆以用本人所最簡化的jetty包做說明,並使用jetty 5.14 版本 14 * [http://trac.nchc.org.tw/cloud/wiki/Jetty-Demo 所用的Jetty套件為 Jetty_demo ] , 檔案下載為 [http://trac.nchc.org.tw/cloud/raw-attachment/wiki/Jetty-Demo/jetty_demo.tar.gz 點我下載jetty_demo] 13 15 14 = 2. Jetty 分析 =16 = 1. Jetty = 15 17 16 最簡化的jetty目錄結構可以如下: 18 * jetty 最簡單的啟動方式為 19 20 {{{ 21 java -jar start.jar etc/jetty.xml 22 }}} 23 24 分析: 25 26 || java -jar || 為java 執行一個包好後的執行檔所用的命令 || || 27 || start.jar || start.jar 為java函式包,裡面鑲嵌呼叫jetty的code || 於 ch 3 說明|| 28 || etc/jetty.xml || jetty.xml是jetty的設定檔 ||於 ch 4 說明|| 29 30 * 當然手冊上有寫說jetty還可以用 '''java org.mortbay.jetty.Server etc/jetty.xml ''' 此方法看似很簡潔,然而卻要設定好完整的classpath 於environment內才可以正常執行。 31 32 = 2. Jetty 目錄結構分析 = 33 34 最簡化的jetty目錄結構(jetty-demo)如下: 17 35 18 36 ||etc/ ||jetty 設定檔 || 設定檔為xml結構 || … … 23 41 ||webapps/ ||網頁目錄 || || 24 42 25 26 jetty的最簡單的啟動方式為 27 28 {{{ 29 java -jar start.jar etc/jetty.xml 30 }}} 31 32 * start.jar 為java函式包,裡面鑲嵌呼叫jetty的code 33 * jetty.xml是jetty的設定檔 34 * 當然手冊上有寫說jetty還可以用 '''java org.mortbay.jetty.Server etc/jetty.xml ''' 此方法看似很簡潔,然而卻要設定好完整的classpath 於environment內才可以正常執行。 35 36 == 2.1 分析 start.jar == 43 = 3. 分析 start.jar = 37 44 38 45 jar 檔的結構如下 39 46 40 ||META-INF/ || MANIFEST.MF || 2.1.1 ||47 ||META-INF/ || MANIFEST.MF || 3.1 || 41 48 ||start/ || || || 42 || || Main.class|| 2.1.2||49 || || Main.class|| 3.2|| 43 50 || || Monitor.class|| || 44 51 || || Classpath.class|| || 45 || || start.config|| 2.1.3 ||52 || || start.config|| 3.3 || 46 53 47 === 2.1.1 MANIFEST.MF === 54 由於start.jar 內的 MANIFEST.MF 已經告知java : Main class 在哪,因此java會直指Main.class來執行。 55 56 看似Main.class是整個jetty的驅動程式,然而Main.class卻可以看成一個分析start.config的parser,<br> 57 start.config 記載著jetty_home, classpath 該怎麼設定等等重要的參數,Main.class在去分析,<br> 58 分析完後,再搭載著這些重要的資訊,以驅動jetty最主要的核心檔 org.mortbay.jetty.Server <br> 59 (包在 $jetty-demo/lib/org.mortbay.jetty.jar內) 60 61 === 3.1 MANIFEST.MF === 48 62 {{{ 49 63 #!text 50 64 Manifest-Version: 1.0 51 52 65 Main-Class: start.Main 53 66 }}} … … 55 68 告知java,main function在哪 56 69 57 === 2.1.2 Main.class ===70 === 3.2 Main.class === 58 71 59 72 [wiki:waue/2009/0812d/Main_java Main.java] 60 73 61 74 62 === 2.1.3 start.config ===75 === 3.3 start.config === 63 76 [wiki:waue/2009/0812d/start_config start.config] 64 77 65 == 2.2 分析 jetty.xml == 78 = 4 分析 jetty.xml = 79 66 80 * [wiki:waue/2009/0812d/jetty_xml jetty.xml] 67 81 * [wiki:waue/2009/0812d/webdefault_xml webdefault.xml]