SpringMVC(六)——@ResponseBody注解

(1)在方法上只有@RequesstMapping时,无论方法返回值是什么,都认为需要跳转。
(2)如果不希望跳转,可以把控制器的返回值设置为void ,或者加上注解@ResponseBody

2.1 如果返回值满足 key-value 形式(对象或 map),

  1. 把响应头的Content-Type属性设置 application/json;charset=utf-8
  2. 并把返回的内容转换成json字符串格式,把转换后的内容输出流的形式响应给客户端.

底层使用Jackson进行json转换,需要导入jackson的jar

jackson的jar包
Controller层代码:

 @RequestMapping(value="demo11",produces="application/json;charset=utf-8")
    @ResponseBody
    public People demo11() {
    	People p=new People();
    	p.setName("张三");
    	p.setPassword("12");
    	return p;
  }

浏览器页面的显示:
页面显示
2.2 如果返回值不满足 key-value,例如返回值为 String。

  1. 把相应头的Content-Type设置为 text/html
  2. 把返回值的内容以流的形式直接输出
  3. 但是如果返回内容中有中文,会出现中文乱码问题
    解决办法:在@RequestMapping注解中加入produces="text/html;charset=utf-8"
    produces属性就是表示响应头中 Content-Type 取值.

Controller层代码:

    @RequestMapping(value="demo12",produces="text/html;charset=utf-8")
    @ResponseBody
    public String demo12() {
    	return "中文";
  }

浏览器页面的显示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值