jetty 研究
- 一個 java的網頁容器,特色是提供一個鑲嵌在應用程式內的網頁伺服器,小巧易用效能又高,提供一個靜態網頁伺服器功能只需300k的記憶體
- a 100% Java HTTP Server and Servlet Container
 - Open Source
 
 
jetty特性:
- 易用性
- 通過 XML 或者 API 來對 Jetty 進行配置;
 - 默認配置可以滿足大部分的需求;
 - 將 Jetty 嵌入到應用程序當中只需要非常少的代碼;
 
 - 可擴展性
- 即使在有大量服務請求的情況下(如Ajax 的 Web 2.0),系統的性能也能保持在一個可以接受的狀態。
 - 利用 Continuation 機制來處理大量的用戶請求以及時間比較長的連接。
 
 - 易嵌入性
- Jetty 設計之初就是作為一個優秀的組件來設計的,這也就意味著 Jetty 可以非常容易的嵌入到應用程序當中而不需要程序為了使用 Jetty 做修改。從某種程度上,你也可以把 Jetty 理解為一個嵌入式的Web服務器。
 
 
apt-get 之 jetty
安裝jetty
|  /usr/share/jetty/ |   |  jetty home
 | 
|   |  cgi-bin/ |  0
 | 
|   | ext/  |  0
 | 
|   |  lib/  |  jar檔
 | 
|   |  webapps/ | root下有預設網站 
 | 
| /usr/share/doc/jetty/  |   |  文件目錄
 | 
|  /var/log/jetty/ |   |  log 
 | 
|  /usr/share/java/ |  jetty-5.0.0.jar |  主程式
 | 
|  /etc/jetty/ |   |  設定檔
 | 
|  /etc/default/ |  jetty  |  0 
 | 
|  /etc/init.d/ |  jetty |  驅動檔 
 | 
啟動 jetty
- ps : 不知設定檔如何找出port :
 - ps2: jetty的預設網頁裡的tutorial 還不錯
 
src 之 jetty
安裝
啟動
cd $jetty_home
java -jar start.jar etc/jetty.xml
 
開發jetty
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<Configure id="Server" class="org.mortbay.jetty.Server">
  <Call name="addConnector">
    <Arg>
      <New class="org.mortbay.jetty.nio.SelectChannelConnector">
        <Set name="port">8080</Set>
        <Set name="maxIdleTime">30000</Set>
        <Set name="lowResourcesConnections">5000</Set>
        <Set name="lowResourcesMaxIdleTime">5000</Set>
      </New>
    </Arg>
  </Call>
  <Set name="handler">
    <New id="Handlers" class="org.mortbay.jetty.handler.HandlerCollection">
      <Set name="handlers">
        <Array type="org.mortbay.jetty.Handler">
          <Item>
            <New id="RequestLog" class="org.mortbay.jetty.handler.RequestLogHandler"/>
          </Item>
          <Item>
            <New class="org.mortbay.jetty.webapp.WebAppContext">
              <Set name="contextPath">/</Set>
              <Set name="resourceBase">F:/Data/WebApp</Set>
              <Set name="overrideDescriptor">config/JettyWeb.xml</Set>
            </New>
          </Item>
        </Array>
      </Set>
    </New>
  </Set>
</Configure>
- hadoop的web server 用jetty 所搭配的 資料夾與 port 對應
 
|  $hadoop_home/webapps/task/  |  50060 
 | 
|  $hadoop_home/webapps/dfs/   |  50070 
 | 
|  $hadoop_home/webapps/datanode/  |  50010 
 | 
|  $hadoop_home/webapps/job/   |  50030  
 | 
|  $hadoop_home/webapps/task/  |  50060  
 | 
|  $hadoop_home/webapps/dfs/   |   50070 
 |