搭建Spring MVC环境时,如果在Spring MVC的配置文件中DispatcherServlet拦截”/”,则会对.html,.js,*.jpg等静态文件的访问也会被拦截,想要访问这些静态资源必须要进行相应的配置这里推荐两中比较简单的方法。
1:在web.xml中添加
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
*************************************
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
************************************
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
(让 defaultServlet先拦截请求,记住要加在你SpringMVC配置之前↓↓↓)
<servlet-mapping>
<servlet-name>Spring MVC<servlet-name>
<url-pattern>/<url-pattern>
<servlet-mapping>
2: 在spring3.0.4以后版本提供了mvc:resources在SpringMVC的配置文件中加上
<mvc:resources location="/images/" mapping="/images/**"/>
location就不用说了,配置mapping="/images/**"则可使images下的任意文件访问的到。
补充一下如果你配置了如↓↓
<!--3) ViewResolver -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- viewClass需要在pom中引入两个包:standard.jar and jstl.jar -->
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp/"/>
<!--<property name="suffix" value=".html"/>-->
<!--<property name="suffix" value=".jsp"/>-->
</bean>
因为我们在开发中jsp,html会放在安全目录下,所以在前台发送请求时,如https://www.xxx.com实际应该由后台来控制这个请求,这样才能访问到安全目录下的html.jsp.....所以这里加上这个视图解析器后会在最终请求的地址之前加上/WEB-INF/jsp/在之后加上.html或者.jsp。 <!--<property name="suffix" value=".jsp"/>-->这里只能配置一个.jsp或者.html或是其他的,比如https://www.xxx.com这个请求最终的地址是你项目index页面那么他经过处理后就可以访问到你安全目录下的index页面,
为什么会补充这个,如果你的项目中有jsp,html那么建议你不配置<!--<property name="suffix" value=".jsp"/>那么你在后台处理请求地址时记得加上.jsp.html.就好了