使用RequestDispatcher调用servlet doGet()方法

时间:2012-05-10 16:26:57

标签: java servlets requestdispatcher

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

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

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

2 个答案:

答案 0 :(得分:4)

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

如果要调用其他servlet的doGet(),则需要重构应用程序,即将doGet()中实现的逻辑分开,将其放到其他类中,并从两个servlet中调用此类。

答案 1 :(得分:0)

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

Java - sending HTTP parameters via POST method easily