• servlet-api api文档获取请求参数


    1。假如有个get请求后面带有的参数如下:

    a=b&a2=b2&a3=b3&a4=b4.

    如果想获取所有的key,value。这个时候可以根据request的getQueryString获取。但是这样有个问题,getQueryString方法并不会对参数进行解码。

    可以使用: String decode = URLDecoder.decode(url, “utf-8”)方法进行解码操作。

    2、假如请求参数是在body中的话,getQueryString方法就不能获取请求参数了。

    只能通过 getInputStream方法通过流的方式获取。方法如下。IOUtils使用了common-codes jar包,也可以直接自己实现将inputstream转成string

     HttpServletRequest request = getRequest();
     request.setCharacterEncoding("UTF-8");
     InputStream is = request.getInputStream();
     byte[] dataOrigin = new byte[request.getContentLength()];
     IOUtils.readFully(is, dataOrigin);
     String result= new String(dataOrigin);

    3、如果参数多的话,可以使用如下方法获取所有的请求参数并转成Map

    Map<String, String> data = Maps.newHashMap();
    HttpServletRequest request = this.getRequest();
     Enumeration<String> names = request.getParameterNames();
     while (names.hasMoreElements()) {
     String key = names.nextElement();
     String value = request.getParameter(key);
     data.put(key, value);
     }
  • 相关阅读:
    (数据结构)十分钟搞定时间复杂度(算法的时间复杂度)
    深入学习二叉树
    我对工作的认识
    mysql系列纠错;
    关于普通指针转换为智能指针的一些问题
    vscode The VS Code Server failed to start
    git 分支管理
    git change_id的理解
    git 指令速查
    c++ make_shared()函数理解 (待整理)
  • 原文地址:https://www.cnblogs.com/wzk1992/p/5735500.html
Copyright © 2020-2023  润新知