3月31日

DataServlet.java

package org.example;

import com.google.gson.Gson;
import org.example.FoodDao;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/data")
public class DataServlet extends HttpServlet {
    private FoodDao foodDao = new FoodDao();
    private Gson gson = new Gson();

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("application/json");
        response.setCharacterEncoding("UTF-8");

        String type = request.getParameter("type");
        String json = "{}";

        try {
            switch (type) {
                case "price":
                    json = gson.toJson(foodDao.getPriceDistribution());
                    break;
                case "top10":
                    json = gson.toJson(foodDao.getTop10Products());
                    break;
                case "province":
                    json = gson.toJson(foodDao.getProductsByProvince());
                    break;
                case "type":
                    json = gson.toJson(foodDao.getProductsByType());
                    break;
                case "delivery":
                    json = gson.toJson(foodDao.getDeliveryStats());
                    break;
                case "sellers":
                    json = gson.toJson(foodDao.getTopSellers());
                    break;
                default:
                    response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Invalid type parameter");
                    return;
            }
        } catch (Exception e) {
            response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Server error");
            return;
        }

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

 

posted @ 2025-04-03 07:59  KuanDong24  阅读(11)  评论(0)    收藏  举报