谷歌服务器——为什么选择Jetty?
? google服務器為什么選選擇Jetty?
? 因為:Jetty是Java領域另一個出色的Web服務器,它同樣也是開源的。與tomcat不同的是它可作為一個嵌入式服務器。也就是說,如果我們在應用中加入jetty的核心jar文件,應用即可對外提供http服務。它同時也是平臺無關的java web服務器,既可以在Windos平臺上運行,也可以在Linux平臺上運行。
??大家可以登錄http://jetty.codehaus.org/jetty/站點下載Jetty的最新版本。下載的zip文件也是與平臺無關的壓縮包,不管是windows還是Linux都可使用。
??將下載的安裝zip包,解壓縮到任意的路徑下。運行Jetty需要使用如下命令:
cd D:/jetty
D:
java -jar start.jar
? 建議將上面的命令寫成腳本,在windows下可寫成批處理命令,在linux下可寫成shell腳本。每次運行執行該文件就可以了。
? 運行成功后,啟動瀏覽器,然后輸入http://localhost:8080/回車,看看是否成功。如果不成功首先要保證端口8080是否被占用,真的被占用那就配置一下Jetty的端口,下面會介紹的。
?
1.Jetty的基本配置
? 主要介紹Jetty的端口設置,以及如何部署Web應用,Jetty是一個嵌入式的Http服務器,因此配置方式還是與tomcat有一些差異的:
? Jetty的配置文件都會在etc的目錄下,熟悉linux的目錄的人應該很眼熟,呵呵。該目錄下有如下幾類配置文件:
? 1.jetty.xml:該文件是Jetty的默認配置文件,Jetty的端口號也是在這個文件里設置的。
? 2.jetty-xxx.xml:該文件是為了給Jetty增加擴展應用所用的配置文件。
? 3.webdefault.xml:該文件是Web應用的默認配置文件,用于控制Jetty容器里所有Web應用的通用屬性,該文件不可以修改。
?
? Jetty服務器提供HTTP服務的主類是org.mortbay.jetty.Server,所以etc路徑下的文件都需要為org.mortbay.jetty.Server配置屬性。如下所示:
?
<Configure id="Server" class="org.eclipse.jetty.server.Server">
?<!-- =========================================================== -->
??? <!-- Set connectors????????????????????????????????????????????? -->
??? <!-- =========================================================== -->
??? <Call name="addConnector">
????? <Arg>
????????? <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
??????????? <Set name="host"><Property name="jetty.host" /></Set>
??????????? <Set name="port"><Property name="jetty.port" default="8080"/></Set>
??????????? <Set name="maxIdleTime">300000</Set>
??????????? <Set name="Acceptors">2</Set>
??????????? <Set name="statsOn">false</Set>
??????????? <Set name="confidentialPort">8443</Set>
???? <Set name="lowResourcesConnections">20000</Set>
???? <Set name="lowResourcesMaxIdleTime">5000</Set>
????????? </New>
????? </Arg>
??? </Call>
?
Jetty的配置文件非常巧妙,它通過配置文件來新建對象(New元素),調用對象的方法(Call元素),設置屬性(Set元素控制)。實際上,Jetty底層將會根據配置文件中的信息,使用反射來創建對象,設置屬性和調用方法。由此可見,如果我們需要在應用程序中嵌入Jetty服務器,只需要創建org.mortbay.jetty.Server對象,并調用一些列方法即可。
?
2.部署Web應用
? Jetty同樣也有兩種方式部署Web應用:
? 1)自動部署:將Web應用復制到Jetty的webapps的路徑下,Jetty就會吧該Web應用自動部署到Jetty服務器中。
? 2)利用配置文件部署:新增配置文件來部署Web應用,這種方式無需將web應用放置到webapps路徑下。
? 自動部署就不多說了,利用配置文件部署,既是進入Contexts目錄,該目錄下的所有文件都會被系統自動加載,并且根據這些配置文件來部署應用。該路徑下默認有兩個文件:
? 1)javadoc.xml:負責部署java的API應用;
? 2)test.xml:負責部署jetty的實例應用。
? 復制test.xml文件,將文件名改為項目名稱。并對復制文件進行修改:
?
?<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
? <!-- Required minimal context configuration :??????????????????????? -->
? <!--? + contextPath????????????????????????????????????????????????? -->
? <!--? + war OR resourceBase????????????????????????????????????????? -->
? <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
? <Set name="contextPath">/</Set>
? <Set name="war"><SystemProperty name="jetty.home" default="."/>/new</Set>
?
? 上面的兩行分別制定了Web應用的虛擬路徑和文檔路徑,增加了該配置文件以后,jetty啟動時將會自動把new路徑下的web應用部署在服務器中。如果要刪除該web應用就直接刪除該配置文件即可。
?
3.配置JNDI綁定
Jetty同樣可以整合DBCP,C3P0等數據源的實現,想外界提供容器管理的數據源。實際上,對外界提供容器管理的數據源,只是Jetty的JNDI的綁定功能之一。
?
?
?
肯定知道-精品推薦:
1、商品發布平臺-發布流程-文檔下載
2、flex 分頁 組件 源碼
3、解放戰爭并非是小米加步槍,太原攻堅戰彈藥消耗堪比淮海戰役
??????? 4、中國12架轟炸機一次摧毀日軍飛機160架!
??????? 5、flex 分頁 組件 源碼
??????? 6、韓國網速2012年即將突破1000M/秒,中國網速有多快?
??????? 7、java 操作dos命令-執行dos
????????8、hibernate超長字符串 用clob類型添加到數據庫
??????? 9、越南為什么會突然赴京請罪?
?????? 10、慘烈的密支那會戰:當年民族英雄的靈魂是否已經安息?
11、免費刷流量-軟件
12、淘寶熱賣商品-特價商品-導購平臺
13、特價商品發布平臺-下載頻道
?
文章來源:http://yijianfengvip.blog.163.com/blog/static/1752734322011620364842/
轉載于:https://www.cnblogs.com/javatec03/archive/2011/07/20/2404903.html
總結
以上是生活随笔為你收集整理的谷歌服务器——为什么选择Jetty?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【OpenCL开发入门】01 - 搭建V
- 下一篇: ChartCtrl源码剖析之——CCha