想要在同一个 servlet 类中编写多个 doget 方法是否可能......如果可以......如何实现。?

问题描述 投票:0回答:3
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);
java servlets
3个回答
3
投票

为什么你想要在同一个 servlet 中存在多个

doGet
,这就违背了要点。您要么有一个
Servlet
将控制分派给适当的控制器(首选),要么每个请求都有一个
Servlet

doGet
是从
HttpServlet
继承的方法,因此您可以重载
doGet
方法,但无法调用这些重载。由于您的实现将被注入到客户端,因此客户端已使用
HttpServlet
类进行编码,并且您的实现被称为多态。因此,客户端只能访问
HttpServlet
中定义的方法,并且您的重载实现将不为人知。

我希望这有帮助。


2
投票

doGet(HttpServletRequest req,HttpServletResponse res) 由 servlet 容器选取。所以是的,您可以拥有 doGet 的重载版本,但它们不会被 Servlet 容器识别。因此拥有多个 doGet 没有意义。

相反,重写 servlet 中的 doGet 和 doPost 方法是有意义的。
请参阅此了解更多信息。


0
投票

如果你愿意,你可以这样做。但我不推荐这样做。当你调用 GET 时,发送另一个参数,比如函数名,然后使用一个 get 方法,检查之前发送的参数,定义两个函数并将两个逻辑放入你的 get 中。

© www.soinside.com 2019 - 2024. All rights reserved.