使用SpringMVC时无法访问WEB-INF下的资源
第一步 使用默认handler
如果想要解决访问静态资源问题,通常使用默认handler,在spring-mvc.xml中。
配置如下:
<!-- 解除servlet对静态资源文件访问的限制,使得静态资源先经过 -->
<mvc:default-servlet-handler />
<!-- 定义跳转的文件的前后缀 ,视图模式配置 -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 前缀和后缀,变成一个可用的url地址 -->
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
这个时候新的问题出现了,你会发现以前的Controller中的@RequestMapping又不能访问了。
第二步 spring-mvc.xml配置中增加:<mvc:annotation-driven />
配置如下:
<!-- 默认的注解映射 -->
<mvc:annotation-driven />
<!-- 解除servlet对静态资源文件访问的限制,使得静态资源先经过 -->
<mvc:default-servlet-handler />
<!-- 定义跳转的文件的前后缀 ,视图模式配置 -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 前缀和后缀,变成一个可用的url地址 -->
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
完事。