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/**"/>