【发布时间】:2011-01-18 22:13:54
【问题描述】:
我阅读了this 的帖子,这与我的问题类似,但没有解决问题:
基本上我曾经在我的web.xml 中有以下 servlet 映射:
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/index.html</url-pattern>
<url-pattern>/channel1</url-pattern>
<url-pattern>/channel2</url-pattern>
</servlet-mapping>
在我需要映射以下网址之前,这非常有效:
/channel1/{id}/{random_text}
其中 {id} 是我的对象的数字 ID 值,而 {random_text} 仅用于“友好的 url”。我设法使用控制器中的@RequestMapping 以及@PathVariable 从URL 中提取变量来使其工作。
但是,我设法成功映射新 URL 的唯一方法是添加
<url-pattern>/</url-pattern>
到我的 servlet 映射底部的 web.xml。但是,当我这样做时,我的所有其他页面(/channel1、/channel2)都会显示而无法访问静态内容(css、jsp 等);我得到一个No mapping found for HTTP request with URI 用于静态文件。我尝试了我发布的链接中建议的各种映射组合,但没有任何效果。任何帮助都会很棒!!!
更新:我在控制器中的 RequestMapping 如下所示(如果它有助于解决问题的话..):
@RequestMapping(value = { "/channel1/{id}", "/channel1/{id}/{text}" })
【问题讨论】:
标签: java spring servlets url-mapping