在码头上托管文件

时间:2012-03-16 03:33:46

标签: jetty

我是一名码头新手。我知道如何使用<servlet><servelet-mapping>标记在web.xml文件中指定servlet名称和映射,但是如何在jetty服务器上托管常规文件以便我可以调用它们?具体来说,我想上传一些图像和一个HTML文件。我正在使用战争文件。

2 个答案:

答案 0 :(得分:2)

您可能希望使用DefaultServlet来提供图像和其他静态内容。文档是here,示例配置如下所示:

  <servlet>
    <servlet-name>staticAssets</servlet-name>
    <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>staticAssets</servlet-name>
    <url-pattern>/static/*</url-pattern>
  </servlet-mapping>

在WAR文件中,静态目录中的任何内容都将在相应的URL下提供。

答案 1 :(得分:2)

如果您正在创建war文件,那么您不需要在Jett(或任何其他servlet容器)中执行任何特殊操作

只需将您的HTML和图像文件放在war文件中即可。只要他们不是WEB-INF目录中的某个人,那么他们就可以被客户使用。

假设您正在使用标准的Jetty部署机制,那么如果您有一个名为myapp.war的war文件,它具有以下内容:

myapp.war:
    pages/
        index.html
    images/
        logo.png
    WEB-INF/
        classes/
            com/
                example/
                    MyServlet.class
        lib/
            support.jar

然后您的index.html页面将在http://localhost/myapp/pages/index.html处可用(通常在那里有一个端口号,对于您正在运行Jetty的任何端口)