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

    }
    }



  • 相关阅读:
    不同指针类型的转换
    dt7.0百度熊掌当天主动推送方法
    腾讯视频信息数据爬虫开发【核心爬虫代码】
    seo与python大数据结合给文本分词并提取高频词
    Python经典算法-猴子吃桃-思路分析
    猜数游戏-人机对战-经典的randint使用
    python模拟双色球大乐透生成算法
    python打造批量关键词排名查询工具
    python开发全自动网站链接主动提交百度工具
    centos下shell脚本kill掉mysql锁表进程【笔记】
  • 原文地址:https://www.cnblogs.com/yitaqiotouto/p/12437271.html
Copyright © 2020-2023  润新知