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