文章目录展开
1.视图解析器常见功能:
之前我们从一个jsp跳转到另一个jsp,需要借助Controller中的@RequestMapping
匹配请求,执行方法,进行跳转。现在可以省去匹配请求的方法,直接跳转:
需要在springmvc.xml
中使用mvc:view-controller
标签:
index.jsp:
这时发现该请求可以直接实现页面跳转到success.jsp
,但是其他所有请求都会报404错误。
原因:
因为
mvc:view-controller
标签会让所有请求都转入mvc:view-controller
中所配置的映射地址,而忽略掉@RequestMapping,如果想让@RequestMapping和mvc:view-controller共存,则需要在springmvc.xml中新增配置:
以后我们搭建SpringMVC环境都要加上这个标签
2.处理静态资源
比如html、css、js、图片、视频等
1)在webcontent目录下新建images文件夹,添加一个header.jpg
2)浏览器直接访问,发现提示404:
注意:静态资源直接访问都提示404,原因:
因为在SpringMVC中,所有的请求都会被web.xml配置的”/”拦截交给DispatcherServlet去处理,而DispatcherServlet处理的方式是根据请求映射去Controller匹配对应的@RequestMapping,找不到则报404.
因为在SpringMVC中,所有的请求都会被web.xml配置的”/”拦截交给DispatcherServlet去处理,而DispatcherServlet处理的方式是根据请求映射去Controller匹配对应的@RequestMapping,找不到则报404.
3)解决办法:
一般而言,静态资源都是直接访问,不需要SpringMVC处理,则使用tomcat默认的servlet去处理。
tomcat默认的servlet:如果有请求拦截则交给对应的servlet去处理,如果没有对应的servlet,则直接访问。
tomcat默认的servlet位置:在tomcat的conf目录下的web.xml中
解决方案:
只需要在
springmvc.xml
中新增一个配置:
再测试:
