【发布时间】:2011-05-01 20:04:18
【问题描述】:
所以,我正在尝试编写一个可以处理 url 映射的 servlet,例如:
domain/context/servlet/resource_id
之前,当我指定 url 模式时,我只是在做:
/myServlet
但是,对于我想要完成的事情,我正在做...
/myServlet/*
我遇到的问题:
我一直在为我的静态文件 (css/js/etc) 使用相对路径(因此,只是相对于我的 WebContent 文件夹的文件位置),因为我正在使用 /myServlet/* 映射,请求所有静态文件现在都由 myServlet 处理。因此,基本上,静态资源现在解析为:
域/上下文/myServlet/relative_path_I_provide
相对
域/上下文/relative_path_I_provide
我确信我可以自己解决这个问题,只需为资源构建绝对路径,而不是依赖相对路径;但我只是想知道,当我使用/myServlet/* url 模式而不是/myServlet 时,为什么静态资源的解析路径会发生变化?
编辑:
我的文件夹结构是这样的
WebContent
|
|
|-- debug
|
|-- css
|
|-- file.css
我将它们添加到链接标签中,例如:
<link href="debug/css/file.css" rel="stylesheet" type="text/css">
【问题讨论】:
-
你是如何指定这些静态资源的相对路径的?
-
这就解释了——请参阅我的回答了解为什么会发生这种情况。
标签: tomcat rest servlets url-mapping staticresource