• Servlet request获取请求数据(请求行,请求体,请求体)


    请求行:GET/request-demo/req1?/username=zhangsan HTTP/1.1

    1.请求行:

      *String getMethod():获取请求方式 GET

      *String getContextPath():获取虚拟目录(项目访问路径):/request-demo

      *StringBuffer getRequestURL():获取url(统一资源定位符):http:/localhost:8080/request-demo/req1

      *String getRequestURL():获取url(统一资源定位符):/request-demo/req1

      *String getQueryString():获取请求参数(GET/username=zhangsan&password=123

     2.请求头 :

    例如:User-Agent:Mozilla/5.0 Chrome/103.0.5060.134//获取客户端浏览器的版本信息

    String getHeader(String name):根据请求头名称,获取值

    3.请求体:

    例如:username=zhangsan&password=123

    ServletInputStream getInputStream():获取字节输入流

    BufferReader getReader():获取字符输入流

    代码演示:

    1. package com.itheima.web;
    2. import javax.servlet.ServletException;
    3. import javax.servlet.annotation.WebServlet;
    4. import javax.servlet.http.HttpServlet;
    5. import javax.servlet.http.HttpServletRequest;
    6. import javax.servlet.http.HttpServletResponse;
    7. import java.io.BufferedReader;
    8. import java.io.IOException;
    9. @WebServlet("/req1")
    10. public class request_demo01 extends HttpServlet {
    11. /*
    12. *String getMethod():获取请求方式 GET
    13. *String getContextPath():获取虚拟目录(项目访问路径):/request-demo
    14. *StringBuffer getRequestURL():获取url(统一资源定位符):http:/localhost:8080/request-demo/req1
    15. *String getRequestURL():获取url(统一资源定位符):/request-demo/req1
    16. *String getQueryString():获取请求参数(GET)/username=zhangsan&password=123
    17. */
    18. @Override
    19. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    20. String method = req.getMethod();
    21. System.out.println(method); //获取请求方式 GET
    22. String contextPath = req.getContextPath();
    23. System.out.println(contextPath);//获取虚拟目录(项目访问路径)(模块)
    24. StringBuffer stringBufferRequestURL = req.getRequestURL();
    25. System.out.println(stringBufferRequestURL);//获取url(统一资源定位符),获取全目录
    26. String requestURI = req.getRequestURI();
    27. System.out.println(requestURI);//获取url(统一资源定位符)(模块+访问文件名称)
    28. String queryString = req.getQueryString();
    29. System.out.println(queryString);//:获取请求参数(GET)地址栏参数
    30. //-------------
    31. //获取请求头浏览器版信息
    32. String header = req.getHeader("User-Agent");
    33. System.out.println(header);
    34. }
    35. @Override
    36. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    37. //-------------
    38. //获取请求体POST
    39. //1.获取字符输入流
    40. BufferedReader reader = req.getReader();
    41. //读取数据
    42. String s = reader.readLine();
    43. System.out.println(s);
    44. }
    45. }

    效果演示:

     总结:

    1.第一行是获取post的请求体

    2.最后一行是获取请求头,也就是浏览器的版本

    3.中间的几行是获取的去请求行,也就是地址栏里面的参数

  • 相关阅读:
    压缩算法:基于FPGA的Varint编码实现(附代码)
    2022_06杂记
    提分必练!中创教育PMP全真模拟题分享来喽
    WebKit是什么?
    2022-08-20 mysql范围查询技术专利交底书
    Java手写队列和案例拓展
    vue3 源码解析(2)— ref、toRef、toRefs、shallowRef 响应式的实现
    `算法知识` 最近公共祖先LCA
    5G网络身份ID识别---详解5G-GUTI
    【计算机毕业设计】会议发布与预约系统小程序
  • 原文地址:https://blog.csdn.net/qq_51272114/article/details/126028377