0

在 /opt/jetty/webapps 中,我在 w 目录下有 test.xml。我在上下文目录中有这个 test.xml:

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.eclipse.org/configure.dtd">

<Configure class="org.eclipse.jetty.server.handler.ContextHandler">
  <Set name="contextPath">/w</Set>
  <Set name="resourceBase">/opt/java/webapps/w/</Set>
  <Set name="handler">
    <New class="org.eclipse.jetty.server.handler.ResourceHandler">
      <Set name="welcomeFiles">
        <Array type="String">
          <Item>test.xml</Item>
        </Array>
      </Set>
      <Set name="cacheControl">max-age=3600,public</Set>
    </New>
  </Set>
</Configure>

为什么我不能阅读http://host/w/test.xml

4

1 回答 1

1

您的问题有点令人困惑,正如您test.xml两次提到的,并且在两个不同的目录中。

无论如何,这是使用标准 jetty-distribution-8.1.9.v20130131.tar.gz 设置所需内容的基本示例,可从download.eclipse.org/jetty/获得。

可部署的上下文

创建一个名为contexts/w.xml以下内​​容的文件

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.eclipse.org/configure.dtd">

<Configure class="org.eclipse.jetty.server.handler.ContextHandler">
  <Set name="contextPath">/w</Set>
  <Set name="resourceBase"><SystemProperty name="jetty.home" default="."/>/w/</Set>
  <Set name="handler">
    <New class="org.eclipse.jetty.server.handler.ResourceHandler">
      <Set name="welcomeFiles">
        <Array type="String">
          <Item>test.xml</Item>
          <Item>index.html</Item>
        </Array>
      </Set>
      <Set name="cacheControl">max-age=3600,public</Set>
    </New>
  </Set>
</Configure>

笔记:

  • ${jetty.home}指向你/path/to/jetty-distribution-8.1.9.v20130131/的任何东西
  • 此上下文指向一个名为 的目录${jetty.home}/w/,该目录不在webapps 目录中,这是故意的,因为 webapps 目录用于独立的 Java Servlet 或 Java EE webapps,无论是归档形式还是展开的可部署形式。由于您正在使用ContextHandler并且ResourceHandler您的可部署不符合这些要求。

内容

${jetty.home}/w/目录中创建几个文件。

$ mkdir /path/to/jetty-distribution-8.1.9.v20130131/w
$ echo "<h1>Hello World</h1>" > /path/to/jetty-distribution-8.1.9.v20130131/w/index.html

测试它

启动码头

$ cd /path/to/jetty-distribution-8.1.9.v20130131
$ java -jar start.jar

打开浏览器并测试它

http://localhost:8080/w/
于 2013-03-05T14:31:09.147 回答