【问题标题】:Does <jsp:forward> or RequestDispatcher.forward use GET or POST?<jsp:forward> 或 RequestDispatcher.forward 是否使用 GET 或 POST?
【发布时间】:2011-05-21 10:43:23
【问题描述】:

问题在标题中:&lt;jsp:forward&gt;RequestDispatcher.forward 是否使用 GET 或 POST 来做它的事情?

如果它使用一个,我可以一直计算它是那个,还是会因服务器而异?

谢谢大家!

【问题讨论】:

    标签: java jsp servlets forwarding


    【解决方案1】:

    都不是;它直接在你的容器中查找servlet类,然后调用dispatcher。

    调度程序将检查请求的类型并调用适当的方法。所以如果原来的请求是POST,就会调用doPost()

    【讨论】:

    • servlet 容器是否必须这样做?我的意思是,如果请求通过 GET 到达,服务器是否有可能在目标上调用 doPost()?
    • 你总是可以将 doGet 和 doPost 都指向 doStuff()
    • @Bozho:当你的目标是一个区分 GET 和 POST 的 Spring 控制器时(例如,GET 上的 formBackingObject,POST 上的 onSubmit)
    • @user1010:调用哪个方法仅取决于存储在 HttpRequest 实例中的请求类型。它适用于所有容器。除非您专门修改请求实例,否则所有后续 servlet 都将使用相同的方法调用。所以GET 请求将永远调用doPost(),除非您篡改请求类型。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-17
    • 2014-05-16
    相关资源
    最近更新 更多