未使用的URI模板变量-我可以用通配符替换它吗



我在Spring MVC Web应用程序中有以下代码:

@RequestMapping("/{someVariable}/aPath/aPage.do")
public void serveAPage() {
    doStuff();
}

我们希望"someVariable"在URL中,但我们对捕获和使用它的值不感兴趣。有什么方法可以用通配符代替它吗,例如/*/aPath/aPage.do

是的,@RequestMapping接受来自http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/bind/annotation/RequestMapping.html#params()

所以这是有效的:

@RequestMapping(value="/*/test2.do")
public void getMeta5(HttpServletRequest request, HttpServletResponse response) throws IOException {
    final PrintWriter writer = response.getWriter();
    writer.print("requestURI:" + request.getRequestURI());
    writer.flush();
}

这假设web.xml中的servlet映射将URL路径映射到DispatcherServlet,例如

<servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>*.do</url-pattern>
</servlet-mapping>

最新更新