public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException
{
String param1 = req.getParameter("x");
String param2 = req.getParameter("y");
String param3 = req.getParameter("z");
int x = Integer.parseInt(param1);
int y = Integer.parseInt(param2);
int z = Integer.parseInt(param3);
为什么你想要在同一个 servlet 中存在多个
doGet
,这就违背了要点。您要么有一个 Servlet
将控制分派给适当的控制器(首选),要么每个请求都有一个 Servlet
。
doGet
是从HttpServlet
继承的方法,因此您可以重载doGet
方法,但无法调用这些重载。由于您的实现将被注入到客户端,因此客户端已使用 HttpServlet
类进行编码,并且您的实现被称为多态。因此,客户端只能访问HttpServlet
中定义的方法,并且您的重载实现将不为人知。
我希望这有帮助。
doGet(HttpServletRequest req,HttpServletResponse res) 由 servlet 容器选取。所以是的,您可以拥有 doGet 的重载版本,但它们不会被 Servlet 容器识别。因此拥有多个 doGet 没有意义。
相反,重写 servlet 中的 doGet 和 doPost 方法是有意义的。
请参阅此了解更多信息。
如果你愿意,你可以这样做。但我不推荐这样做。当你调用 GET 时,发送另一个参数,比如函数名,然后使用一个 get 方法,检查之前发送的参数,定义两个函数并将两个逻辑放入你的 get 中。