Servlet在doPost方法中获得GET和POST的参数

我的问题是,当我试图通过request.getParameter("name")访问POST变量时,它完美地工作。 但在某些情况下,当POST请求到达我的应用程序时,我还需要从查询字符串中获取GET参数。

就我所知,使用getParameter ,只能访问当前请求的参数,但正如我所说的,正如我所说的,我还需要在doPost方法内获取GET参数。

有没有一种方法来获取GET参数而不解析查询字符串?


getParameter()方法可以返回(如果可能的话)GET和POST参数,因为它可以在GETPOST之间透明地工作。 您不需要做任何明确的工作来获取GET参数。 您可以将getParameter用于查询参数和POST参数。

但是,你应该这样做吗? - 这被认为是一个糟糕的设计实践,特别是如果有敏感信息要发送。

看看这个答案:

  • 带有URL查询参数的HTTP POST - 好主意还是不好?

  • 如果在查询字符串和发布的表单数据中具有相同名称的参数,请使用getParameterValues()

    例:-

    String fromQuery = request.getParameterValues("name")[0];
    String fromForm = request.getParameterValues("name")[1];
    

    我认为你在这里有一个困惑。 您可以根据请求的类型使用相同的getParameter(..)来检索所有请求参数(在GET或POST或其他中)。 如果是GET请求,则可以检索所有GET参数。 如果它是POST请求,则可以检索所有POST参数。 您使用getParameter(...)获取参数。 而且你一次提出一个请求。 如果您在html或JSP文件中发出POST请求,则使用doPost方法接收所有参数。 此时,GET请求中没有任何内容。 之后,您发出GET请求,您将在doGet方法中检索所有参数。 此时,POST中没有任何内容。 请记住,HTTP请求是无状态的。

    链接地址: http://www.djcxy.com/p/41099.html

    上一篇: Servlet get GET and POST's parameters at the doPost method

    下一篇: POST request only with http