当前位置: 首页 > article >正文

Request和Response的概述

⭐作者介绍:大二本科网络工程专业在读,持续学习Java,输出优质文章
⭐作者主页: @︶ㄣ释然
⭐如果觉得文章写的不错,欢迎点个关注 😉有写的不好的地方也欢迎指正,一同进步 😁

Request和Response的概述

Request是请求对象,Response是响应对象。这两个对象在之前使用Servlet的时候有看到:

此时,就需要思考一个问题:request和response这两个参数的作用是什么?

  1. request:获取请求数据

  1. 浏览器会发送HTTP请求到后台服务器[Tomcat]

  1. HTTP的请求中会包含很多请求数据[请求行+请求头+请求体]

  1. 后台服务器[Tomcat]会对HTTP请求中的数据进行解析并把解析结果存入到一个对象中

  1. 所存入的对象即为request对象,所以我们可以从request对象中获取请求的相关参数

  1. 获取到数据后就可以继续后续的业务,比如获取用户名和密码就可以实现登录操作的相关业务

  1. response:设置响应数据

  1. 业务处理完后,后台就需要给前端返回业务处理的结果即响应数据

  1. 把响应数据封装到response对象中

  1. 后台服务器[Tomcat]会解析response对象,按照[响应行+响应头+响应体]格式拼接结果

  1. 浏览器最终解析结果,把内容展示在浏览器给用户浏览

对于上述所讲的内容,通过下面的代码来初步体验下request和response对象的使用。

@WebServlet("/demo1")
public class Demo1 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //使用request对象 获取请求数据
        String name = request.getParameter("name");//url?name=zhangsan

        //使用response对象 设置响应数据
        response.setHeader("content-type","text/html;charset=utf-8");
        response.getWriter().write("<h1>"+name+",欢迎您!</h1>");
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("Post...");
    }
}

启动成功后就可以通过浏览器来访问,并且根据传入参数的不同就可以在页面上展示不同的内容:

目前只知道这两个对象是用来干什么的,它们具体是如何实现的,就需要继续深入的学习。

接下来,主要介绍下面这些内容:

  • request继承体系

  • request获取请求参数

  • request请求转发

Request

request请移步我这一篇文章:

[Java Web]Request对象 | 超1w字带你熟悉Servlet中的request请求_︶ㄣ释然的博客-CSDN博客

Response

response请移步我这一篇文章:

[Java Web]Response对象_︶ㄣ释然的博客-CSDN博客


http://www.kler.cn/a/587.html

相关文章:

  • 学习java——②面向对象的三大特征
  • 【大数据开发】报错汇总
  • Linux防火墙的关闭
  • 对vue3中reactive、toref、torefs、ref的详细理解
  • 我在字节当主管:百次面试结果,总结一个刷掉99%求职者的问题!
  • 【Linux】软件性能分析工具:perf
  • 震撼,支持多模态模型的ChatGPT 4.0发布了
  • exe反编译为.py文件
  • 可吸附分离金属离子的147597-66-8,p-SCN-Bn-NOTA信息概述
  • 正则表达式高阶技巧之匹配模式(使用python实现)
  • 排序算法 - 冒泡排序
  • 「Python 基础」Web 应用编程
  • DAP-seq文章合集-蓝景科信
  • 【计算机组成原理 - 第一章】计算机系统概论(完结)
  • 理解 zk-SNARKs 和 zk-STARKs 的区别
  • Vue3做出B站【bilibili】 Vue3+TypeScript+ant-design-vue【快速入门一篇文章精通系列(一)前端项目案例】
  • 20年程序员生涯,读了200多本技术书,挑了几本精华好书分享给大家
  • 【代码随想录训练营】【Day44】第九章|动态规划|完全背包理论基础|518.零钱兑换 II|377.组合总和 Ⅳ
  • 操作技巧 | 在Revit中借用CAD填充图案的方法
  • Linux操作系统基础的常用命令