【问题标题】:Call servlets doGet() method with RequestDispatcher使用 RequestDispatcher 调用 servlet doGet() 方法
【发布时间】:2012-05-10 16:26:57
【问题描述】:

如何从RequestDispatcher调用doGet()方法?

RequestDispatcher rd = sc.getRequestDispatcher("/CartServlet");
rd.forward(request, response);

此代码调用doPost() 作为默认操作。

【问题讨论】:

    标签: java servlets requestdispatcher


    【解决方案1】:

    它调用doPost(),因为您的原始请求使用了 POST 方法。 通常 servlet 不能相互“调用”。他们只能转发或重定向请求。在这两种情况下,都使用原始请求中使用的相同 HTTP 方法。

    如果您想调用其他 servlet 的 doGet(),那么是时候重构您的应用程序了,即将在 doGet() 中实现的逻辑分离,将其放到其他类中并从两个 servlet 中调用该类。

    【讨论】:

      【解决方案2】:

      查看下面的链接,使用 HttpURLConnection 通过 POST 或 GET 方法在内部发送请求。很长一段时间我都觉得有必要这样做。

      Java - sending HTTP parameters via POST method easily

      【讨论】:

        猜你喜欢
        • 2014-06-02
        • 2012-11-12
        • 2015-06-02
        • 1970-01-01
        • 2012-07-16
        • 2012-01-31
        • 1970-01-01
        • 2011-08-18
        • 2012-02-27
        相关资源
        最近更新 更多