出于测试目的,我想使用Jetty 8仅提供静态内容.我知道如何从命令行启动Web服务器:
java -jar start.jar jetty.port = 8082
我希望能够使用香草码头,最好是8或7,并使用以下内容启动它:
java -jar start.jar OPTIONS = resources resources.root = ../foo jetty.port = 8082
然后可以从服务器的根目录访问这些文件.调用的文件../foo/x.html应该可以访问http://localhost:8082/x.html.
我不想创建一个WAR文件或任何花哨的东西.最好不要在服务器端进行任何缓存,使文件在Windows机器上解锁.此外,我只想提供文件,甚至位于子目录中,没有花哨的文件浏览器或从客户端修改它们的方法.
这可能吗?如果不是,完成此类行为所需的最低配置是多少?
附加信息
我试过以下命令.我希望能够浏览Jetty 8附带的javadoc http://localhost:8080/javadoc/,但它总能给我一个404
java -jar start.jar --ini OPTIONS =服务器,资源等/ jetty.xml contexts/javadoc.xml
启动Jetty并使其提供静态内容的最简单方法是使用以下xml文件:
静态的content.xml:
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure id="FileServer" class="org.eclipse.jetty.server.Server">
<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>
</New>
</Arg>
</Call>
<Set name="handler">
<New class="org.eclipse.jetty.server.handler.ResourceHandler">
<Set name="resourceBase"><Property name="files.base" default="./"/></Set>
</New>
</Set>
</Configure>
Run Code Online (Sandbox Code Playgroud)
你可以使用以下方式启动Jetty:
java -jar start.jar --ini static-content.xml files.base=./foo jetty.port=8082
Run Code Online (Sandbox Code Playgroud)
如果省略files.base,将使用当前的目录; 如果省略jetty.port,将使用端口8080.
该--ini会从start.ini禁止设置,因此也确保没有其他处理程序等将被激活.
| 归档时间: |
|
| 查看次数: |
7636 次 |
| 最近记录: |