【发布时间】:2012-05-10 16:26:57
【问题描述】:
如何从RequestDispatcher调用doGet()方法?
RequestDispatcher rd = sc.getRequestDispatcher("/CartServlet");
rd.forward(request, response);
此代码调用doPost() 作为默认操作。
【问题讨论】:
标签: java servlets requestdispatcher
如何从RequestDispatcher调用doGet()方法?
RequestDispatcher rd = sc.getRequestDispatcher("/CartServlet");
rd.forward(request, response);
此代码调用doPost() 作为默认操作。
【问题讨论】:
标签: java servlets requestdispatcher
它调用doPost(),因为您的原始请求使用了 POST 方法。
通常 servlet 不能相互“调用”。他们只能转发或重定向请求。在这两种情况下,都使用原始请求中使用的相同 HTTP 方法。
如果您想调用其他 servlet 的 doGet(),那么是时候重构您的应用程序了,即将在 doGet() 中实现的逻辑分离,将其放到其他类中并从两个 servlet 中调用该类。
【讨论】:
查看下面的链接,使用 HttpURLConnection 通过 POST 或 GET 方法在内部发送请求。很长一段时间我都觉得有必要这样做。
【讨论】: