SpringMVC引入js,css等静态文件的相关问题

今天,想起SpringMVC的一些注意事项,在引用js文件的时候,有多种方式而已进行引用,下面我来介绍下我了解到的:

我们在写web.xml配置文件的时候,经常会考虑url-parent的使用,它可以是/也可以是/*还可以是.do,此时我来回顾一下url-parent的配置模式

①/xxx:完全匹配/xxx的路径

②/xxx/*:匹配以/xxx开头的路径的所有,必须包含/xxx

③/*:匹配/下面的所有路径,请求可以进入到action或者controller,但是转发jsp时再次被拦截, 不能访问jsp页面

④.xx:匹配以xx结尾的路径,必须包含.xx,但不会影响访问静态资源

⑤/:默认模式,未被匹配的路径都会进入servlet,但是还是不能访问静态文件

 

一:因此,如果我们一开始就采用了/的方式,那么就需要补上配置来让静态文件可访问了,下面介绍三种方式:

  

   default  

     *.css  

    

  

  default  

     *.gif  

    

  

  default  

     *.jpg  

   

  

   default  

       *.js  

A:在web.xml中添加好配置后,在jsp页面就可以引用这些静态资源了

(这种方法不能访问WEB-INF目录下的静态资源,也就是js目录必须是web根(可能是webapp,webContent等)目录下,否则是不能引用的;如果放在WEB-INF目录下,即使你使用也是会出现404错误的)

 

B:在相应的 -servlet.xml中添加spring配置

如:

这种方法只需要添加一行代码,在jsp页面中引用时和上面那种一样,同样也不能引用WEB-INF下的资源。

 

C:使用spring 3.0.4的新特性,在相应的 -servlet.xml中添加配置

如:3.1

或  3.2

这种方法我写了两个配置,不同的地方只是location的值,一个是“/js/”,一个是“/WEB-INF/js/”;两种都可以,根据你自己的目录结构来引用。这就说明使用这种方式可以引用WEB-INF目录下的静态资源;这里的mapping属性的值用了ant的通配符方式,"/js/**"(两个"*")指location的值所表示的目录以及所有子目录;但是在jsp页面中引用时需要注意:

 

二:但是其实简单的做法就是,我们并不需要这么复杂,其实就是把所有需要springmvc dispatchservlet的地方,设置成.do就可以了,这样静态文件还是可以继续访问的。

spring-mvc
    org.springframework.web.servlet.DispatcherServlet
    1
 
 
    spring-mvc
    *.do
 

 

以上就是我今天对SpringMVCy引入js等静态文件的一些思考,还有待加强,温故知新!!!

你可能感兴趣的:(温故知新的道路,框架知识)