上午,
将控制器映射到/(即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/" />
服务器正确加载页面,但是当我映射到资产时,即
<link type="text/css" rel="stylesheet" href="<c:url value="/resources/css/blueprint/print.css"/>" />
在Web浏览器中通过view-source单击css文件时,服务器响应将映射回索引页,而不是资源。让我相信它与servlet映射有关。
任何帮助都会很棒!
谢谢!
修改 忘了提,如果我绑定控制器说:
@Controller("/pages")
一切正常,只是希望上下文根能够正确响应。
答案 0 :(得分:9)
@Controller("/)
和
@RequestMapping("/")
不是一回事。
由于@RequestMapping可能放在类级别,因此将映射放在类上会产生预期的效果。
示例:
@Controller
@RequestMapping("/")
public class RootController
{
@RequestMapping(method=RequestMethod.GET)
public String index()
{
return "index";
}
}
这将正常工作,也适用于mvc:resources bean。
答案 1 :(得分:-1)
将此行放在mvc-dispatcher-servlet.xml
中<bean name="/"
class="com.springapp.mvc.HelloController" />
它会起作用。
在web.xml中进行映射
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>