Jetty

在 Jetty 6.1.14 中,如何獲得與 Java webapp 一起執行的基本文件/我們伺服器?

  • December 23, 2014

HP Operations Orchestration 9.07(現在接近 EOL)在埠 8443 上的 Jetty 6.1.14 webapp 中執行。

如何讓 Jetty 6.1.14 在埠 80 上執行單獨的基本 Web/文件伺服器?

到目前為止我在jetty.xml配置文件中所做的事情都沒有成功:

<Configure id="FileServer" class="org.mortbay.jetty.Server">
   <Call name="addConnector">
     <Arg>
         <New class="org.mortbay.jetty.nio.SelectChannelConnector">
           <Set name="port">80</Set>
         </New>
     </Arg>
   </Call>

   <Set name="handler">
     <New id="Handlers" class="org.mortbay.jetty.handler.HandlerCollection">
       <Set name="handlers">
         <Array type="org.mortbay.jetty.ResourceHandler">
           <Item>
             <New id="Contexts" class="org.mortbay.jetty.handler.ResourceHandler"/>
           <Set name="directoriesListed">true</Set>
       <Set name="welcomeFiles">
         <Array type="String"><Item>index.html</Item></Array>
       </Set>
           <Set name="resourceBase">.</Set>
         </New>
           </Item>
<Item>
<New class="org.mortbay.jetty.server.handler.DefaultHandler"></New>
</Item>
         </Array>
       </Set>
     </New>
   </Set>

   <Call name="addLifeCycle">
     <Arg>
       <New class="org.mortbay.jetty.deployer.WebAppDeployer">
         <Set name="contexts"><Ref id="Contexts"/></Set>
         <Set name="webAppDir"><SystemProperty name="jetty.home" default="."/>/webapps</Set>
       </New>
     </Arg>
   </Call>
</Configure>

這來自一系列課程,包括https://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty#Configuring_a_File_Server_with_XML

根據在 Google+ 社區中收到的有關此問題的幫助,在 Jetty 6.1.14 中是不可能的。

Jetty6 中不存在directoriesListed選項。

那個版本的 Jetty 已經超過 6 年了,而 Jetty 6 本身已經 EOL 超過 4 年了。我們現在正在發布包含 HTTP/2 支持的 Jetty 9.3.x 里程碑版本。

參考 Jetty 7/8 文件會很困難,因為我們在 6 和 7 之間遷移到 Eclipse 基礎,所以所有的包裝都發生了變化,更不用說模組本身是如何分割的了。Jetty 6 文件仍然可以在這裡找到:

http://docs.codehaus.org/display/JETTY/Jetty+Documentation

這是您要查看的部分:

http://docs.codehaus.org/display/JETTY/Static+Content

基本上,您需要註冊一個 DefaultServlet 來提供靜態內容,或者連接一個 ResourceHandler 來做同樣的事情。兩者都需要您設置一個上下文來提供靜態內容。

引用自:https://serverfault.com/questions/653606