[error handle][java web]Spring MVC在类上使用@RequestMapping后对静态资源的访问问题

来源:互联网 发布:linux清空命令行 编辑:程序博客网 时间:2024/05/21 18:41

REASON

我写的LoginController中对类和方法各有一级映射,
如以下访问时路径为http://localhost:8080/lsqz/login/individualLogin.do

这里写图片描述
这里写图片描述

PROBLEM

该路径跳转的连接中有图片,
其在网页内链接为:static/images/mima.png
正常情况下映射的链接:http://localhost:8080/lsqz/static/images/yonghuming.png
由于我RequestMapping的二级映射结构,映射的错误链接为:http://localhost:8080/lsqz/login/static/images/yonghuming.png

FIND

SpringMVC提供了对静态资源的映射功能,详见:
http://my.oschina.net/ydsakyclguozi/blog/468980

HANDLE

1、在web.xml中配置spring映射的url类型
我的示例
(映射.do后缀和.png后缀的链接,其中只有.png是静态资源哈,也可以加入.css什么的,或者直接/*映射所有资源):

  <servlet-mapping>    <servlet-name>springDispatcherServlet</servlet-name>    <url-pattern>*.do</url-pattern>    <url-pattern>*.png</url-pattern>  </servlet-mapping>

2、在spring的配置文件中加入代码:

<mvc:resources location="/static/" mapping="/*/static/**"/>

这一代码会对静态资源进行映射。
也就是说如果/static/前有额外的一级目录(类进行RequestMapping生成的目录),将其映射为没有这一级目录的结构。
如果上文给出的代码尝试后有错,请尝试

<mvc:resources location="/static/" mapping="/static/**"/>
0 0
原创粉丝点击