zoukankan      html  css  js  c++  java
  • 获取请求体数据 POST

    • POST获取请求体
      1.   请求体中封装了 POST请求的请求参数
      2.   获取流对象 再从流对象中那数据 一种字节流 一种字符流
      3.   BufferedReader getReader()获取字符输入流 只能操作字符
        1.    ServletInputStream  getInputStream(); 获取字节输入流 可以操作所有类型数据
    1. 获取请求参数通用方式
      1.   String getParameter(String name); 根据参数名称获取参数值 username=zs&password=13
      2.   String getParameterValues(String name);根据参数名称获取参数数组 hobby=ss&&hobby=sdad
      3.   Enumeration<String> getHeaderNames();  后去所有的请求的名称
      4.   Map<String,String[]>getParameterMap(); 获取所有的参数的Map集合
    •  request请求转发 是一中服务器内部资源跳转的方式 
    • request.getRequestDispatcher("...").forward(request,response);
    • 特点 浏览器地址栏路径不发生变化
    • 只能转发到当前服务器内部资源中
    • 转发是一次请求
    • 数据共享
      •   域对象:一个有作用范围的对象,在范围内可以共享数据
      • request域:代表一次请求的范围,一般用于请求转发的多个资源共享数据
    1. Servlet之间数据通信 
    •   setAttribute(String name ,Object obj):存储数据
    •        getAttitube(String name):通过键获取值
    •   removeAttribute(String name);通过键移除键直对
    • 获取ServletContext
    1. ServletContext getServletContext();
    • 对最后一个方法举例
    •     Map<String, String[]> parameterMap = request.getParameterMap();

      Set<String> keySet = parameterMap.keySet();//获取Keyset字符串数组

      for (String name : keySet) {//循环Keyset

      System.out.println(name); //输出键名称

      String[] values = parameterMap.get(name);

      for (String value : values) {

      System.out.println(value);//输出键值数组
      }
      System.out.println("--------");

      }

      }

      

    • GET和POST中文乱码问题  设置流的编码 request.setCharacterEncoding("utf-8"); 即可解决  get不会乱码 post 使用中文 要注意

        注册实例 

    <form action="/reDemo5" method="post">
    <input type="text" placeholder="in" name="username"><br>
    <input type="password" placeholder="out" name="password"><br>
    <input type="submit" value="resgist">
    </form>

        BufferedReader br = request.getReader();
    String line = null;
    while ((line=br.readLine())!=null){
    System.out.println(line);

    }
    }



  • 相关阅读:
    pytest.mark.parametrize里面indirect参数详细解释
    linux环境安装python环境
    gitlab怎么给别人新增项目权限
    VMware虚拟机下的CentOS7如果Ping不通百度,解决办法
    ip configuration could not be reserved (no available address timeout etc.)虚拟机连接不上网卡解决办法
    虚拟机安装教程
    auto_now与auto_now_add之间的区别
    【二分答案】洛谷P2678 [NOIP2015 提高组] 跳石头/P1824 进击的奶牛/P2440木材加工/P1873 砍树
    团体程序设计天梯赛PTA L2-021点赞狂魔
    团体程序设计天梯赛PTA L2-020功夫传人
  • 原文地址:https://www.cnblogs.com/yitaqiotouto/p/12437271.html
Copyright © 2011-2022 走看看