Day7_JavaWeb——ServletContext、Request、Response的作用

一. 储备知识

1.1 ServletContext:

每个web应用都有自己唯一的一个全局上下文对象。
创建:服务器在启动时根据项目的配置文件创建而成(服务器关闭时或移除部署时才会被销毁)
代表:整个web项目
作用:在整个项目所有资源中共享数据(域对象)、获取文件的真实路径、获取全局初始化参数、根据文件的后缀名获取文件的真实类型

1.2 Request:

创建:服务器创建并传入到doGet中
代表:请求报文对象、请求域对象
作用:获取请求报文中的内容(如request.getParameter("username"););获取url地址;获取请求头(报文的头都是键值对的形式,可以根据键获取值);请求的转发

转发的特点

  1. 浏览器发起一个请求,接收到一个响应结果
  2. 浏览器的地址栏没有改变,打开的页面是转发后的页面
  3. 转发是服务器内部通过request对象实现的
  4. 浏览器不知道转发的发生
  5. 由于转发在服务器内部执行,所以效率要比重定向要高

1.3 Response:

创建:服务器在接收到用户的请求后将请求报文创建成请求对象、服务器信息封装为响应对象传入service方法中最终传入到doGet中
代表:响应报文
作用:设置响应头(告诉浏览器解码方式)、设置响应体(向响应体中写入页面片段或完整页面)最终显示到浏览器页面中、重定向(用户访问服务器资源时,资源处理完成直接响应页面过于麻烦,可以通过重定向的方式给浏览器响应页面的地址,让浏览器再次发起请求)
重定向的特点

  1. 浏览器会发起两个请求,得到两个响应报文
  2. 浏览器地址栏改变了
  3. 响应报文变了 HTTP/1.1 302 Found ; Location : 1.html
  4. 浏览器能够感知重定向的发生
  5. 由于浏览器发起了两次请求,所以效率很低
  6. 第一次的响应体不会被解析,最终显示在页面中的是重定向后的资源内容
发布了177 篇原创文章 · 获赞 16 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_40634846/article/details/99437827