diff --git a/Java/abstract.java b/Java/abstract.java new file mode 100644 index 0000000000000000000000000000000000000000..527db76be5436b60f199e083f489373daaedef43 --- /dev/null +++ b/Java/abstract.java @@ -0,0 +1,109 @@ +@Controller +public class XXXController { + + /** + * 真事,之前的公司项目就是这样的,我都看傻了 + * 一个controller直接掌管全局,根据入参的"cmd"参数来控制到底走那个处理 + * 你可能会问,那传json怎么传呢?哎!人家自有妙招 直接转字符串传入,然后在转Map处理 + * 无论是普通的请求,还是下载文件等等,只要是请求,就都请求这个一个接口 + * @param req + * @param res + */ + @RequestMapping(value = "/xxx", method = {RequestMethod.GET}) + public void xxx(HttpServletRequest req, HttpServletResponse res) { + A a = new A(); + B b = new B(); + C c = new C(); + if (a.invoke(req, res)) return; + if (b.invoke(req, res)) return; + if (c.invoke(req, res)) return; + } + +} + +class A { + + public boolean invoke(HttpServletRequest req, HttpServletResponse res) { + int cmd = Integer.parseInt(req.getParameter("cmd")); + int c = 6000; + if (cmd == c) { + //一顿操作 + return true; + } else if (cmd == c + 1) { + //一顿操作 + return true; + } else if (cmd == c + 2) { + //一顿操作 + return true; + } else if (cmd == c + 3) { + //一顿操作 + return true; + } else if (cmd == c + 4) { + //一顿操作 + return true; + } else if (cmd == c + 5) { + //一顿操作 + return true; + } + return false; + } + +} + +class B { + + public boolean invoke(HttpServletRequest req, HttpServletResponse res) { + int cmd = Integer.parseInt(req.getParameter("cmd")); + int c = 7000; + if (cmd == c) { + //一顿操作 + return true; + } else if (cmd == c + 1) { + //一顿操作 + return true; + } else if (cmd == c + 2) { + //一顿操作 + return true; + } else if (cmd == c + 3) { + //一顿操作 + return true; + } else if (cmd == c + 4) { + //一顿操作 + return true; + } else if (cmd == c + 5) { + //一顿操作 + return true; + } + return false; + } + +} + +class C { + + public boolean invoke(HttpServletRequest req, HttpServletResponse res) { + int cmd = Integer.parseInt(req.getParameter("cmd")); + int c = 8000; + if (cmd == c) { + //一顿操作 + return true; + } else if (cmd == c + 1) { + //一顿操作 + return true; + } else if (cmd == c + 2) { + //一顿操作 + return true; + } else if (cmd == c + 3) { + //一顿操作 + return true; + } else if (cmd == c + 4) { + //一顿操作 + return true; + } else if (cmd == c + 5) { + //一顿操作 + return true; + } + return false; + } + +} \ No newline at end of file