初学thymeleaf踩过的坑(@RestController和@Controller的区别)

1.问题重现(请求http://localhost:9090/world)返回的字符串而不是html页面
初学thymeleaf踩过的坑(@RestController和@Controller的区别)_第1张图片
2.百度一顿骚操作说是thymeleaf引入的jar把问题(然而pom.XML并没有问题……)
初学thymeleaf踩过的坑(@RestController和@Controller的区别)_第2张图片
3.最后发现是Controller类里面写的注解问题,正确应该是@Controller
初学thymeleaf踩过的坑(@RestController和@Controller的区别)_第3张图片
4.问题解惑
4.1@RestController注解相当于@ResponseBody + @Controller合在一起的作用。
如果使用@RestController注解,则Controller类中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver则不起作用,返回的内容就是Return 里的内容(String/JSON)。

4.2@Controller标识一个Spring类是Spring MVC controller处理器
在@controller注解中,返回的是字符串,或者是字符串匹配的模板名称,通过视图解析器InternalResourceViewResolver直接渲染视图,与html/jsp页面配合使用的

仍在不断学习中,如有不妥还望指教

转载于:https://www.cnblogs.com/springPlus/p/11111143.html

你可能感兴趣的:(初学thymeleaf踩过的坑(@RestController和@Controller的区别))