弄了一上午,Spring MVC 静态资源引入终于搞定,最后通过网上看到一些帮助,整合如下:
第一种方式:
web.xml 配置,这种方式确实不错,不过看似过时了
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
第二种方式:
Spring-servlet.xml 配置,这种方式采用通配符时一定要小心,我就是在这里放了一个错误,导致子文件中的资源没有找到
<mvc:resources mapping="/resource/**" location="/resource/"/>
<mvc:resources mapping="/js/**" location="/js/"/>
注意:mapping 中必须用两个*,表示URL中resource子文件目录映射;
另外,Ant 脚本中通配符使用:
1)**/*.java 前面两个*是指文件夹和子文件夹都要匹配,后面这个*是通配符的意思,就是一个或多个字符
2)/resource/*/controller/ 只是在resource和control当中只能有一层文件夹
3)/resource/**/controller/ 只是在resource和control当中可能有多层文件夹
总结就是,一个*表示普通意义的通配符,两个*表示文件夹和其所有的子文件夹!
对于XML或HTML中路径也是
1)./file 表示当前目录下的file 等价于 file
2)../file 表示当前目录的上一级目录然后再找file子目录
3)/ 根目录