原生java写一个简答的http服务 并且能够接受get请求指定的参数 并且还响应json格式的数据给浏览器 必须使用HttpServletRequest类库来接收get参数 请用代码写出来
以下是一个简单的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类库来获取请求中的参数,并将它们构造成一个包含name和age字段的Map对象。
然后,我们使用Google的Gson库将Map对象转换为JSON格式的字符串。接下来,我们设置响应头,将响应类型设置为application/json,并将字符编码设置为UTF-8。
最后,我们使用PrintWriter将JSON数据写入响应体,并刷新输出流。这样,浏览器就能够收到我们响应的JSON数据了。
原文地址: https://www.cveoy.top/t/topic/bIGl 著作权归作者所有。请勿转载和采集!