• Servlet开发-通过代码案例熟悉HttpServletRequest类


    关于Servlet开发的流程推荐看servlet开发-通过Tomcat部署一个简单的webapp

    Servlet开发与idea集成的插件安装推荐看idea集成tomcat(Smart Tomcate插件安装)

    postman(第三方创建HTTP请求工具)的安装推荐看创建HTTP请求的几种方式

             HttpServletRequest类是Servlet开发常用的类之一

            HttpServletRequest类的方法:

    代码及其注释

    1. import javax.servlet.ServletException;
    2. import javax.servlet.annotation.WebServlet;
    3. import javax.servlet.http.HttpServlet;
    4. import javax.servlet.http.HttpServletRequest;
    5. import javax.servlet.http.HttpServletResponse;
    6. import java.io.IOException;
    7. import java.util.Enumeration;
    8. /**
    9. * Created with IntelliJ IDEA.
    10. * Description:
    11. * User: wuyulin
    12. * Date: 2023-09-22
    13. * Time: 12:19
    14. */
    15. //通过HttpServletRequest中的方法去获取并打印HTTP请求的信息
    16. @WebServlet("/request")
    17. public class HttpServletRequestExercise extends HttpServlet {
    18. @Override
    19. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    20. //由于要通过br来对返回给用户的数据换行,所以http响应数据报的类型应该是html类型,要显式设置一下
    21. resp.setContentType("text/html");
    22. //用StringBuilder对象来拼接Http请求的内容
    23. StringBuilder http_rep=new StringBuilder();
    24. //Http请求的请求头部分
    25. //拼接Http请求的方法
    26. http_rep.append(req.getMethod()+" ");
    27. //拼接Http请求的URI
    28. http_rep.append(req.getRequestURI());
    29. //拼接Http请求的URI的ContextPath部分
    30. http_rep.append(req.getContextPath());
    31. //拼接Http请求的URL中的查询字符串
    32. http_rep.append("?"+req.getQueryString());
    33. //拼接Http请求的版本号
    34. http_rep.append(req.getProtocol()+"
      "
      );
    35. //Http请求的Header部分
    36. //Header中就是一些键值对,大多数是统一规定的,少部分是程序员自己定义的
    37. //先获取到Header中所有的key值,放到一个枚举中
    38. Enumeration header_key= req.getHeaderNames();
    39. //遍历枚举中的key值
    40. //判断枚举中是否还有元素,有的话就取出来,没有的话就停止循环
    41. while (header_key.hasMoreElements()){
    42. String key=header_key.nextElement();
    43. http_rep.append(key+"="+req.getHeader(key)+"
      "
      );
    44. }
    45. //把http_rep字符串中的数据传到resp响应对象中(传到了http响应报文的body中)
    46. resp.getWriter().write(http_rep.toString());
    47. }
    48. }

            写好代码部署好webapp后,我们便可以通过postman工具向部署好的webapp发起一个请求,就能得到如下的效果

            我们可以看到,通过HttpServletRequest类中的方法得到了HTTP请求的信息

  • 相关阅读:
    【C++】类和对象(上)
    【Maven】Could not transfer artifact xxx from/to xxx的解决方案
    TDengine3.0流式计算引擎语法规则介绍
    Spring和junit整合_java培训
    多跳推理真的可解释吗?10.24
    机器学习 | 基于随机森林的可解释性机器学习
    JavaWeb Jsp 综合案例(mybatis,servlet,maven,jsp)(增删改查)
    ZFS了解
    vivo 消息中间件测试环境项目多版本实践
    【AntDesign】Docker部署
  • 原文地址:https://blog.csdn.net/q322359/article/details/133167190