早上好
在将 Controller 映射到/时遇到问题(即 localhost:8080/someApp/将映射到 @Controller("/"))同时还使用 mvc:resources
web.xml 映射:
<servlet-mapping>
<servlet-name>springServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
mvc:资源
<mvc:resources mapping="/resources/**" location="/resources/" />
服务器正确加载页面,但是当我映射到 Assets 时,即
<link type="text/css" rel="stylesheet" href="<c:url value="/resources/css/blueprint/print.css"/>" />
在网络浏览器中通过查看源代码单击 css 文件时,服务器响应映射回索引页面,而不是资源。让我相信它与 servlet 映射有关。
任何帮助都会很棒!
谢谢!
编辑: 忘了说,如果我绑定(bind) Controller 说:
@Controller("/pages")
一切正常,只是希望上下文根能够正确响应。
最佳答案
@Controller("/)
和
@RequestMapping("/")
不是一回事。
由于@RequestMapping 可以放置在类级别,将映射放置在类上会产生预期的效果。
例子:
@Controller
@RequestMapping("/")
public class RootController
{
@RequestMapping(method=RequestMethod.GET)
public String index()
{
return "index";
}
}
这会正常工作,也可以与 mvc:resources bean 一起工作。
关于java - Spring MVC - 使用 mvc :resources 时将 Controller 映射到上下文根 (/),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9520440/