• 获取请求体数据 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);

    }
    }



  • 相关阅读:
    【转载】 opencv, PIL.Image的彩色图片维度 && caffe和pytorch的矩阵维度
    【转载】 Caffe BN+Scale层和Pytorch BN层的对比
    【转载】 Pytorch中的学习率调整lr_scheduler,ReduceLROnPlateau
    【转载】 Pytorch(0)降低学习率torch.optim.lr_scheduler.ReduceLROnPlateau类
    【转载】 PyTorch学习之六个学习率调整策略
    【转载】 Pytorch(1) pytorch中的BN层的注意事项
    【转载】 【caffe转向pytorch】caffe的BN层+scale层=pytorch的BN层
    硬件设计之串口收发器---ISO1050 (现行) 隔离式 5V CAN 收发器
    外盘和内盘
    工业级别sd卡存贮slc mlc tlc
  • 原文地址:https://www.cnblogs.com/yitaqiotouto/p/12437271.html
Copyright © 2020-2023  润新知