首页 > 文章列表 > Java Servlet 如何高效响应JSON数据?

Java Servlet 如何高效响应JSON数据?

192 2025-03-10

Java Servlet 如何高效响应JSON数据?

Servlet高效返回JSON数据

传统Java Servlet向前端返回JSON数据的方法是将对象直接写入输出流,这需要前端手动解析JSON字符串。然而,更便捷高效的方法是直接发送JSON对象,让前端自动解析。

优化方案:

  1. 利用Jackson、Gson或Fastjson等第三方库将Java对象转换为JSON字符串。
  2. 将JSON字符串写入Servlet的输出流。
  3. 设置HTTP头部"Content-Type: application/json",告知前端接收的数据类型为JSON。

改进后的Servlet代码示例:

import com.fasterxml.jackson.databind.ObjectMapper;

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setHeader("Access-Control-Allow-Origin", "*");
    String id = request.getParameter("id");
    if (id != null) {
        Page resultPage = pageService.getById(Integer.parseInt(id));

        ObjectMapper mapper = new ObjectMapper();
        String json = mapper.writeValueAsString(resultPage); // 对象转JSON字符串

        response.setContentType("application/json"); // 设置HTTP头部
        response.setCharacterEncoding("UTF-8"); // 设置字符编码
        response.getWriter().write(json); // 写入JSON数据
    }
}

通过此方法,前端可以直接将收到的JSON字符串解析为JavaScript对象,无需手动解析,提高了开发效率和代码可读性。

来源:1739988924