package com.dsideal.gw.Handler; import cn.hutool.json.JSONObject; import com.jfinal.handler.Handler; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.HashMap; import java.util.Map; public class RouterHandler extends Handler { /** * 功能:输出JSON文本串 * @param res * @param jo */ public void renderJson(HttpServletResponse res, JSONObject jo) { res.setHeader("Access-Control-Allow-Origin", "*"); res.setHeader("Cache-Control", "no-cache"); res.setCharacterEncoding("UTF-8"); res.setContentType("application/json"); try { res.getWriter().println(jo); res.getWriter().flush(); } catch (IOException e) { throw new RuntimeException(e); } } public void renderJson(HttpServletResponse res, String msg) { renderJson(res, new JSONObject().put("msg", msg)); } @Override public void handle(String target, HttpServletRequest req, HttpServletResponse res, boolean[] isHandled) { //可以正确获取到URL的完整路径 String servletPath = req.getServletPath(); JSONObject jo = new JSONObject(); Map _map = new HashMap<>(); _map.put("servletPath", servletPath); _map.put("success", true); jo.putAll(_map); if (req.getMethod().equals("GET")) { renderJson(res, "现在调用是GET!"); } else if (req.getMethod().equals("POST")) { renderJson(res, "现在调用是POST!"); } else if (req.getContentType() != null && req.getContentType().contains("multipart/form-data")) { renderJson(res, "现在调用是上传操作!"); } else { renderJson(res, "系统只支持GET,POST和文件上传,其它的OPTIONS不允许!"); } //输出结果 renderJson(res, jo); //停止filter isHandled[0] = true; } }