Jetty
在 Jetty 6.1.14 中,如何獲得與 Java webapp 一起執行的基本文件/我們伺服器?
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 來做同樣的事情。兩者都需要您設置一個上下文來提供靜態內容。