springmvc12

让静态资源可以访问的两种方式
1 使用 < mvc:default-servlet-handler > 和 < mvc:annotation-driven/ >


// springmvc.xml

<!--@ResponseBody注解驱动-->
<mvc:annotation-driven/>

<!--第一种处理静态资源的方式:<mvc:default-servlet-handler/>

需要在springmvc配置文件加入 <mvc:default-servlet-handler>
原理是:加入这个标签后,框架会创建控制器对象(类似自己创建的MyController),
这个对象可以把接收到的请求转发给tomcat的名字叫default的servlet
-->
<mvc:default-servlet-handler/>

2 使用 < mvc:resources /> 需要掌握

在 spring3.0 版本后,spring定义了专门用来处理静态资源访问请求的处理器 ResourceHttpRequestHandler。并且添加了< mvc:resources />标签,专门用于解决资源无法访问问题。需要在springmvc配置文件中添加如下形式的配置:


//springmvc.xml

<!--第二种处理静态资源的方式
mvc:resources加入后框架会创建 ResourceHttpRequestHandler这个处理器对象
让这个对象处理静态资源的访问,不依赖tomcat服务器。
mapping:访问静态资源的uri地址,使用通配符 **
location:静态资源在你的项目中的目录位置
-->
<mvc:resources mapping="/images/**" location="/images/" />
<mvc:resources mapping="/html/**" location="/html/" />
<mvc:resources mapping="/js/**" location="/js/" />

为了方便,一般把静态资源统一放在 static 文件夹下

所以一个标签语句就可以指定多个静态资源的访问路径(重点):

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

原文地址:https://www.cnblogs.com/huaobin/p/14908550.html