@controller和@RestController的用法小结
来源:互联网 发布:windows 运行ios 编辑:程序博客网 时间:2024/06/06 09:30
今天开始用的是@RestController,跳转不到html页面,后来改成@controller就可以跳转了,总结了一下两者的用法和区别。
首先两者都是用来表示spring某个类的是否可以接收HTTP请求
@RestController注解相当于@ResponseBody + @Controller合在一起的作用。
1)如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。
例如:本来应该到index.jsp页面的,则其显示index.
2)如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。3)如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。
在@controller注解中,返回的是字符串,(如果想返回string或者json,在方法名前加上ResponseBody)或者是字符串匹配的模板名称,与html页面配合使用的,
在这种情况下,前后端的配合要求比较高,java后端的代码要结合html的情况进行渲染,使用model对象(或者modelandview)的数据将填充user视图中的相关属性,然后展示到浏览器。
java示例代码如下:
@Controller@RequestMapping(method = RequestMethod.GET, value = "/")
public String getuser(Model model) throws IOException {
model.addAttribute("name",bob);
model.addAttribute("sex",boy);
return"user";//user是模板名
}
相应的java代码:
@RestController@RequestMapping(method = RequestMethod.GET, value = "/")
public User getuser( ) throws IOException {
User bob=new User();
bob.setName("bob");
bob.setSex("boy");
return bob;
}
访问网址得到的是json字符串{“name”:”bob”,”sex”:”boy”},前端页面只需要处理这个字符串即可。
- @controller和@RestController的用法小结
- @Controller注解和@RestController注解的用法和区别
- @Controller和@RestController的区别?
- @Controller和@RestController的区别
- @Controller和@RestController的区别?
- @RestController和@Controller的区别
- @Controller和@RestController的区别?
- @Controller和@RestController的区别
- @Controller和@RestController的区别?
- @Controller和@RestController的区别?
- @Controller和@RestController的区别
- @Controller和@RestController的区别?
- @Controller和@RestController的区别
- @Controller和@RestController的区别?
- @Controller和@RestController的区别
- @Controller和@RestController的区别
- @Controller 和@RestController 的区别
- @Controller和@RestController的区别
- 电场线模拟实验
- 移动互联网的发展现状
- 一步一步写算法(字符串由小到大排序)
- 方差分析
- 分布式与集群的区别
- @controller和@RestController的用法小结
- nginx反向代理时通过rewrite解决后端资源css/js/img 写了绝对路径的问题
- 学生管理系统---小问题总结
- offer411--两个数字之和为s
- git版本控制器使用(一)
- 全面解析javascript事件流模型以及各事件流模型在浏览器中的兼容性情况
- postgre实现类似Oracle的trunc日期函数
- web.xml基本配置
- 102 复习习题:最值题