SpringMVC中的控制器(org.springframework.web.servlet.DispatcherServlet)中默认是jsp页面,
默认的配置DispatcherServlet屏蔽了html页面的访问。
为什么访问不了静态的资源:原因在于前端控制器DispatcherServlet的配置,当前端发来请求访问资源时,DispatcherServlet会去找@RequestMapping,找不到时就啥也不干。
解决办法一:
在web.xml中加上下面代码即可。
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
解决办法二:
在spring-mvc.xml中开放资源的访问
<!--开放资源的访问
mapping的值是访问服务端的地址,location的值是资源所在的目录,注意/要写全!
-->
<mvc:resources mapping="/html/**" location="/html/"></mvc:resources>
解决办法三:
在spring-mvc.xml中设置前端控制器找不到资源的话,交由原始的容器寻找
<!--当前端控制器找不到对应资源就交给原始容器寻找(此处是tomcat)-->
<mvc:default-servlet-handler></mvc:default-servlet-handler>