首页 > 编程语言 > 详细

5. Spring MVC 数据响应

时间:2021-06-30 18:04:45      阅读:19      评论:0      收藏:0      [点我收藏+]

回写数据

1. 直接返回字符串:

Web基础阶段,客户端访问服务器端,如果想直接回写字符串作为响应体返回的话,只需要使用 response.getWriter().print(“hello world”) 即可,那么在Controller中想直接回写字符串该怎样呢? 

先来个原始的直接返回字符串,通过response 来返回,response 对象那里来呢? 也是通过形参,让SpringMVC帮我们自行注入即可:

跳转  +  返回.

@Controller
public class TestController {
    @RequestMapping(value = "/go")
    //因为是直接用Response返回 所以返回值类型是void
    public void GoUrl(HttpServletResponse response){
        try {
            response. setContentType("text/html;charset=UTF-8");    //处理乱码
            response.getWriter().print("我是返回的语句");  //需要处理异常
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

所以你访问 http://localhost:8080/go 然后会跳转到s1 本来s1的内容会被你返回的覆盖(基础啊 这里不说那么多)。

 

当然 我们怎么可能用 这个原生的response? 我们肯定是用 注解啊:

将需要回写的字符串直接返回,但此时需要通过@ResponseBody注解告知SpringMVC框架,方法 返回的字符串不是跳转是直接在http响应体中返回。

单返回
@ResponseBody()   此注解 告知 返回的字符串是 响应体 而不是跳转Url:

@Controller
public class TestController {
    @RequestMapping(value = "/go")
    @ResponseBody()
    public String GoUrl(){
        //中文会有乱码 具体处理方法我也不知道..
        return "我是通过注解responsebody注解响应的数据";
    }
}

中文处理方法暂时不详,后面得知.

 

 

一般我们处理数据的话 我们是不会单单返回字符串的,一般都是返回JSON:

用第三方的插件来写:这里用 jackson:

导入GAV:

<!--jackson-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.0</version>
</dependency>

<!--绑定的-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>

<!--自动检测注解的-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.0</version>
</dependency>

 

其实你也可以用其他 但这里用一下这玩意而已 这玩意要导入的东西好多...

代码:

@Controller
public class TestController {
    @RequestMapping(value = "/go")
    @ResponseBody()
    public String GoUrl() throws JsonProcessingException {
        Student BiHu = new Student();
        BiHu.setName("bihu");
        BiHu.setAge(18);
        //开始用JSON插件生成JSON
        ObjectMapper objectMapper = new ObjectMapper();
        String json = objectMapper.writeValueAsString(BiHu);    //此方法抛异常
        return json;
    }
}

所以当你访问 xxx/go : 允许结果:

技术分享图片

 

5. Spring MVC 数据响应

原文:https://www.cnblogs.com/bi-hu/p/14953640.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!