第4章:作为Servlet:请求和响应/4.2 请求

  • HTTP所有方法汇总

  1. GET:获取服务器上的资源,如果HTML中没有指定方法则默认是GET方法
  2. POST:修改服务器上的资源
  3. HEAD:只要求获取首部部分,有点像GET,但是没有响应体
  4. TRACE:要求服务端返回请求消息
  5. PUT:消息体放在URL资源上
  6. DELETE:删除URL上的资源
  7. OPTIONS:获取HTTP方法列表
  8. CONNECT:要求连接以便建立隧道
  • GET和POST区别

  1. GET的参数附加到URL后面,POST参数在消息体重
  2. GET参数有字节限制,POST没有
  3. GET参数暴露安全性
  4. GET约定不能修改数据,POST可以修改数据
  • 关于幂等性

  1. 概念:就是每次请求等到的结果都是一样的
  2. 幂等的方法
    1. GET
    2. HEAD
  3. 非幂等的方法
    1. POST
    2. PUT

 

  • 请求头部获取

  1. 获取方法
    //打印头部
    
               Enumeration<String> enumeration = request.getHeaderNames();
    
               while(enumeration.hasMoreElements()){
    
                    String name = enumeration.nextElement();
    
                    System.out.println("[" + name+"]:");
    
                    Enumeration<String> enumeration2 = request.getHeaders(name);
    
                    while(enumeration2.hasMoreElements()){
    
                         System.out.println("  " + enumeration2.nextElement());
    
                    }
    
               }

     

  2. 打印结果

    [host]:

      127.0.0.1:8081

    [connection]:

      keep-alive

    [cache-control]:

      max-age=0

    [origin]:

      http://127.0.0.1:8081

    [upgrade-insecure-requests]:

      1

    [user-agent]:

      Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36

    [content-type]:

      application/x-www-form-urlencoded

    [accept]:

      text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8

    [referer]:

      http://127.0.0.1:8081/myWeb/form.html

    [accept-encoding]:

      gzip, deflate, br

    [accept-language]:

      zh-CN,zh;q=0.9

    [content-length]:body长度

      11

  • 请求参数获取(无论get/post)

  1. 参数形式都是:key=value&key=value&key=value
    //获取参数名列表和参数对应的值
    
               Enumeration<String> enumeration2 = request.getParameterNames();
    
               while(enumeration2.hasMoreElements()){
    
                    String name = enumeration2.nextElement();
    
                    System.out.println("[" + name+"]:");
    
                    String []values = request.getParameterValues(name);
    
                    for (String string : values) {
    
                         System.out.println(string);
    
                    }
    
                    
    
               }

     

  2. 获取参数名和参数名对应的值

    [color]:

    light

    [color2]:

    write

》》》》》未完:易学笔记--Servlet和JSP--入门就看这一篇就够了》》》》》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易学笔记(qq:1776565180)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值