Java 从url中取出参数

Java 从url中取出参数,java,url,getparameter,Java,Url,Getparameter,我有一个很长的url,有很多参数,比如 http://localhost:8080/BUUK/dbcc?dssin=9371062001&roundid=JS&KIPL=02&PLATFORM=1&FREQUENCY=2&DRBEARER=1&BUYTYPE=1&EUP=12&TID=72123456435653654&SHORTCODE=54300&ADCODE=234rfdfsf&Buytag=3&

我有一个很长的url,有很多参数,比如

http://localhost:8080/BUUK/dbcc?dssin=9371062001&roundid=JS&KIPL=02&PLATFORM=1&FREQUENCY=2&DRBEARER=1&BUYTYPE=1&EUP=12&TID=72123456435653654&SHORTCODE=54300&ADCODE=234rfdfsf&Buytag=3&Checkpoint=5,6,7&CHARGEMODEL=complete&restbalance=1
我想从这个url中检索所有参数

我想知道是否可以使用
request.getParameter(“restbalance”)

如果需要,我会提供更多信息。
谢谢

是的,您可以使用request.getParameter,其中request是HttpServletRequest的对象

来自javadocs

java.lang.String getParameter(java.lang.String名称)返回值 将请求参数设置为字符串,如果参数未设置为空,则为空 存在。请求参数是随请求发送的额外信息。 对于HTTP servlet,参数包含在查询字符串或 已发布表单数据。只有在确定的情况下,才应使用此方法 该参数只有一个值。如果参数可能有更多 如果有多个值,请使用getParameterValues(java.lang.String)

如果对多值参数使用此方法,则 returned等于返回的数组中的第一个值 getParameterValues

如果参数数据是在请求正文中发送的,例如 对于HTTP POST请求,然后通过getInputStream()或getReader()直接读取正文可能会干扰此方法的执行


如果您处理的是
HttpServletRequest
,则可以使用

String restbalance = request.getParameter("restbalance");
或者…要获取所有参数,可以执行以下操作:

String[] params = request.getParameterValues();
下面是HttpServletRequest类的示例,列出了所有可用的方法。

请尝试
getParameterMap()


好的,
request.getparameter()
只有当
请求
从您想要获取请求参数的位置命中您的Servlet时,才能正常工作。请通过文档界面查看所有相关方法

  • getParameter()

  • getParameterNames()

  • getParameterValues()

  • getParameterMap()

  • 您还可以用于自定义解析


    对于普通Java代码,您可以解析自己返回的字符串以提取数据。

    对于每个请求,您的web服务器更准确地说,您的web容器将创建一个两个对象的请求和响应

    HttpServletRequest和HttpServletResponse

    servletcontainer连接到一个Web服务器,该服务器侦听特定端口号(通常为80)上的HTTP请求。当客户机(使用webbrowser的用户)发送HTTP请求时,servletcontainer将创建新的HttpServletRequest和HttpServletResponse对象,并通过已创建的筛选器和Servlet实例(其url模式与请求url匹配)的方法将其传递给同一线程

    请求对象提供对HTTP请求的所有信息的访问,例如请求头和请求正文。response对象提供了控制和发送HTTP响应的工具,如设置标题和正文(通常使用JSP文件中的HTML内容)。当HTTP响应提交并完成时,请求和响应对象都将被丢弃

    request.getParameter(“request_param”)将为您提供
    请求参数
    值。
    因此,从
    请求对象

    访问
    请求参数
    时没有什么意外的,您想在servlet中检索参数吗?@AzAh是的,您可以。在发布此问题之前是否尝试过?“还是有什么你不想做的?”船长,我试过了,该死的,我没有正确使用它。现在我将它与bean一起使用,并使用一个带有
    HttpServletRequest
    参数的方法来设置所有bean。所有的答案都很有帮助。感谢
    request
    可以是任何
    ServletRequest
    的对象,但不一定是
    HttpServletRequest
    。请参见
    ServletRequest
    接口中声明的。
    Map params = request.getParameterMap();
    Iterator i = params.keySet().iterator();
    while ( i.hasNext() )
    
    {
    
    String key = (String) i.next();
    
    String value = ((String[]) params.get( key ))[ 0 ];
    
    }