以下是一个简单的HTTP服务示例,它可以接受GET请求中指定的参数,并将JSON格式的数据响应给浏览器。

import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.google.gson.Gson;

public class SimpleHttpServer extends HttpServlet {

    private static final long serialVersionUID = 1L;

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // 从请求中获取参数
        String name = request.getParameter("name");
        String ageStr = request.getParameter("age");
        int age = ageStr != null ? Integer.parseInt(ageStr) : 0;

        // 构造响应数据
        Map<String, Object> data = new HashMap<>();
        data.put("name", name);
        data.put("age", age);

        // 将数据转换为JSON格式
        Gson gson = new Gson();
        String jsonData = gson.toJson(data);

        // 设置响应头
        response.setContentType("application/json");
        response.setCharacterEncoding("UTF-8");

        // 将JSON数据写入响应体
        PrintWriter out = response.getWriter();
        out.print(jsonData);
        out.flush();
    }

}

在这个示例中,我们重写了doGet()方法,它会在收到GET请求时被调用。我们使用HttpServletRequest类库来获取请求中的参数,并将它们构造成一个包含nameage字段的Map对象。

然后,我们使用Google的Gson库将Map对象转换为JSON格式的字符串。接下来,我们设置响应头,将响应类型设置为application/json,并将字符编码设置为UTF-8

最后,我们使用PrintWriter将JSON数据写入响应体,并刷新输出流。这样,浏览器就能够收到我们响应的JSON数据了。

原生java写一个简答的http服务 并且能够接受get请求指定的参数 并且还响应json格式的数据给浏览器 必须使用HttpServletRequest类库来接收get参数 请用代码写出来

原文地址: https://www.cveoy.top/t/topic/bIGl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录