首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Spring MVC 3.1控制器的处理方法中,直接将流转换为响应输出流

在Spring MVC 3.1控制器的处理方法中,直接将流转换为响应输出流
EN

Stack Overflow用户
提问于 2013-03-08 06:50:34
回答 3查看 32.9K关注 0票数 24

我有一个处理ajax调用和返回JSON的控制器方法。我使用来自json.org的JSON库来创建JSON。

我可以执行以下操作:

@RequestMapping(method = RequestMethod.POST)
@ResponseBody
public String getJson()
{
    JSONObject rootJson = new JSONObject();

    // Populate JSON

    return rootJson.toString();
}

但是,将JSON字符串放在一起,只让Spring将其写入响应的输出流,效率很低。

相反,我可以将其直接写入响应输出流,如下所示:

@RequestMapping(method = RequestMethod.POST)
public void getJson(HttpServletResponse response)
{
    JSONObject rootJson = new JSONObject();

    // Populate JSON

    rootJson.write(response.getWriter());
}

但似乎有一种更好的方法可以做到这一点,而不是将HttpServletResponse传递给处理程序方法。

有没有其他类或接口可以从处理程序方法中返回,我可以使用它以及@ResponseBody注释?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15283347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档