对于静态资源(图片,css,js)这些请求,让他们不经过DispatcherServlet(这个再去找相应的控制器)
源码获取github
1.项目结构
那哥test.jpg,随意自己找一张图片
2.解决方式一:推荐方式
demo01.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h2>显示图片</h2>
<img src="test.jpg" alt="">
</body>
</html>
此时为了访问同路径下的test.jsp图片,但是如果直接访问,图片不会出来,那是因为请求会经过DispatcherServlet处理,找到一个控制器,现在为了让静态资源不经过DispatcherServlet。这样就能显示出来
在web.xml中加入
<!--4.静态资源(图片、js、css之类的)(让这些资源不经过DispatcherServlet处理)的
处理方式一 推荐方式-->
<mvc:default-servlet-handler default-servlet-name="default"/>
3.解决方式二:映射方式
demo01.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h2>显示图片</h2>
<%--<img src="test.jpg" alt="">--%>
<img src="image/test.jpg" alt="">
</body>
</html>
在web.xml中加入
<!--4.静态资源(图片、js、css之类的)(让这些资源不经过DispatcherServlet处理)的
处理方式一 推荐方式-->
<!--<mvc:default-servlet-handler default-servlet-name="default"/>-->
<!--4.静态资源的处理方式二(可以写多个,从上而下找,找到就不再找) 映射方式
(mapping中/image/后面的数据,默认会追加到WEB-INF/后面,去/WEB-INF/下面去找资源加载出来)-->
<mvc:resources mapping="/image/**" location="/WEB-INF/"/>