起因:
今天在访问webapp目录下的html文件时,突然报了500错误(如下图),让我检查视图解析器,我寻思我访问的是静态资源,不是直接交给servlet处理嘛?需要什么视图解析器?!
后来,检查了Controller(如下图),感觉很正常啊,但是一直报错。突然转念一想,试了试把test1()的返回值修改为“demo.html”,然后再次进行测试,成功了.然后查询了下/springmvc/xxx.html和/springmvc/xxx的区别。
修改后访问成功。
最开始访问错误是因为访问路径是/springmvc/demo,所以springmvc交给了视图解析器InternalResourceViewResolver
处理,所以报了500错误,但是改成/springmvc/demo.html,访问的是静态资源,所以交给了默认的servlet处理,找到了webapp/目录下的demo.html文件,并成功返回了。
正文....
1. /springmvc/xxx.html
① /springmvc/xxx.html代表的是一个具体的资源路径,通常指向一个静态资源
② 该请求通常由ResourceHandlerRegistry
或默认的 Servlet 处理
2. /springmvc/xxx
① /springmvc/xxx代表一个视图名称,通常由控制器方法返回
② 该请求通常由视图控制器解析处理
③ 该路径通常用于动态生成的视图,如 Thymeleaf 模板。