对于sendredirect,哪个方法被称为doGet或doPost()

时间:2014-01-21 11:57:26

标签: java jsp java-ee servlets

我是servlets的新手。 我的问题是,如果我用于response.sendredirect() 哪个方法被称为doGet或doPost()? 我知道在jsp中,servlet get或post方法会根据方法类型调用。 但是如果使用response.sendRedirect()调用servlet请求是servlet,那么会调用哪个方法? servlet引擎如何决定调用哪个方法?

感谢avraance。

3 个答案:

答案 0 :(得分:0)

response.sendRedirect始终是GET

答案 1 :(得分:0)

重定向总是使用get方法, 重定向意味着一个新的请求.. 当我们给send重定向时实际发生的是来自用户的新请求.. 它总是得到.. 因为这是一个新的请求,我们无法访问旧的请求参数

答案 2 :(得分:0)

sendRedirect()始终是一个两步过程,服务器将URL位置和状态代码301发送到客户端浏览器。 然后客户端浏览器获取GET的URL,然后转到该URL位置。(您可以在地址栏中看到此URL)。

请记住,对Http或URL链接的请求始终是Get请求,无论该URL是应用程序内的servlet还是外部位置。

参考  http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletResponse.html#sendRedirect%28java.lang.String%29