开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第32天,点击查看活动详情
写在前面
当我们学习了spring框架之后,基本上来说,已经是打好了一个良好得基础了。
但是距离一个企业的基本开发需要掌握的框架,还是得经过不断得学习,才行。
这不,我们继续学习下一个框架SpringMVC。
SpringMVC这个框架,一般来说,用来作为我们项目得Controller层,用来接收用户得输入,然后选择相应得视图回显展示给用户。
MVC作为WEB项目开发的核心环节,正如三个单词的分解那样,C(控制器)将V(视图、用户客户端)与M(javaBean:封装数据)分开构成了MVC。
对于以前得项目来说,还有出现Struts得,但现在基本都很少了。
Struts1(现在一般不用),Struts2(一般老项目使用)等等。
这不,接下来就是spring mvc框架的学习之旅了,希望可以帮助到大家。
一、返回值处理
1.1 使用注解修饰
- ResponseBody注解介绍
注解介绍
ResponseBody注解的作用:
一、ResponseBody注解可以针对Controller返回值类型,使用内置的9种HttpMessageConverter进行
匹配,找到合适的HttpMessageConverter进行处理。
二、HttpMessageConverter处理逻辑分为三步:
1、指定HttpServletResponse的ContentType值。
2、将转换之后的数据放到HttpServletResponse对象的响应体返回到页面
@RequestBody注解的作用和@ResponseBody注解正好相反,它是处理请求参数的http消息转换的。
常用的HttpMessageConverter
MappingJacksonHttpMessageConverter
作用:处理POJO类型返回值
默认使用MappingJackson的JSON处理能力,将后台返回的Java对象(POJO类型),转为JSON格式输出到页面
将响应体的Content-Type设置为application/json;charset=utf-8
调用response.getWriter()方法将json格式的字符串写回给调用者。
StringHttpMessageConverter
作用:处理String类型返回值
将响应体的Content-Type设置为text/plain;charset=utf-8
调用response.getWriter()方法将String类型的字符串写回给调用者。
- ResponseBody示例
Controller代码
方式1(使用@ResponseBody注解):
@RequestMapping("responsebody")
@Controller
public class MyResponseBodyController {
// @RequestMapping注解中的consumes和produces分别是为请求头和响应头设置contentType
@RequestMapping(value = "returnString", produces = "text/plain;charset=UTF-8")
@ResponseBody
public String returnString() {
// 如果在使用@ResponseBody注解的前提下,如果返回值是String类型,则返回值会由StringHttpMessageConverter进行处理
return "查询失败";
}
}
方式2(使用@RestController注解):
@RequestMapping("restcontroller")
@RestController //相当于Controller注解和ResponseBody注解的组合
public class MyRestcontroller {
//@RequestMapping注解中的consumes和produces分别是为请求头和响应头设置contentType
@RequestMapping(value="returnString",produces="text/plain;charset=UTF-8")
public String returnString() {
// 如果在使用@ResponseBody注解的前提下,如果返回值是String类型,则返回值会由
StringHttpMessageConverter进行处理
return "查询失败";
}
}
好了,以上就是SpringMVC学习之旅-应用掌握篇(2) 的全部内容了。
今天就先到这里了,后面的内容,留下次分享了,先溜了!!!^_^
如果觉得写得不错的,帮忙点赞、评论、收藏一下呗!!!