这和this的问题非常相似,但我无法弄清楚如何匹配url模式。与@RequestMapping匹配的网址格式
的web.xml:
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/activate/*</url-pattern>
</servlet-mapping>
我的控制器:
@RequestMapping(value = {"activate/{key}"}, method = RequestMethod.GET)
public ModelAndView activate(@PathVariable(value = "key") String key) {
...
}
当我尝试访问localhost:9999/myApp/activate/123456789
,我得到以下错误:
No mapping found for HTTP request with URI [/myApp/activate/123456789] in DispatcherServlet with name 'dispatcher'
我也试过<url-pattern>/*</url-pattern>
,同样的事情发生。
然而,通过改变<url-pattern>/activate/*</url-pattern>
到 <url-pattern>/**</url-pattern>
没有出现错误,但我仍然得到404 所以,我怎么这个URL模式映射?
尝试在请求映射开始时添加'/',看看是否有所作为。它应该与url-pattern/*一起工作,并通过/ contextPath/activate/123456789访问它。另外,请检查您的日志以了解可能导致Web应用程序无法正常启动的任何启动错误。 – NilsH