Servlet中的Response(HTTP响应对象)用法及笔记

Servlet中的Response用法及笔记

    • 1.生命周期(创建到销毁的过程,init>service>destroy)
    • 2.生命周期的描述
    • 3.ServletConfig对象的使用
    • 4.Servlet体系结构
    • 5.servletContext的概述
    • 6.HttpServletResponse接口

1.生命周期(创建到销毁的过程,init>service>destroy)

1.1类创建实现Servlet接口,实现接口方法,方法中包含
1. init:初始化,用户第一次访问时执行
2. getServletConfig:获取Servlet的初始化参数(xml文件中配置的初始化参数可以获得)
3. service:服务,应用活着。每次访问都会执行
4. getServletInfo:提供有关servlet 的信息,如作者、版本、版权
5. destroy:死亡,应用卸载

2.生命周期的描述

当客户端第一次请求的时候,会先执行init方法,创建出来  (总共执行1次)

客户端任何一次请求会执行Service方法,

当servlet从服务器移除或者服务器正常关闭会执行destroy方法,销毁

3.ServletConfig对象的使用

在配置好的xml文件中,写入对应的初始化参数Servlet中的Response(HTTP响应对象)用法及笔记_第1张图片
接着使用包含servletConfig对象的方法或者使用servletConfig对象调用getInitParameter方法,
在此方法中传入xml文件中param-name中的初始化名称,获得对应的初始化值
在这里插入图片描述

4.Servlet体系结构

Servlet是一个接口,GenericServlet实现了Servlet接口,GenericServlet类中拥有HttpServlet子类
应用场景:

  1. 实现Servlet接口,需要重写5个方法
  2. 而当只需要实现一个service(服务方法)时,只需要继承GenericServlet类
  3. 当需要对浏览器发送回来的get或post请求进行处理时,我们需要继承HttpServlet实现doGet或doPost方法,来进行不同的操作

5.servletContext的概述

服务器创建一个项目(应用)就会创建对应的servletContext,他是当前项目所有servlet共有的

5.1作用

  1. 作为域对象存取数据
  2. 获得全局初始化参数(和servletConfig对象获取值方法相似Servlet中的Response(HTTP响应对象)用法及笔记_第2张图片在这里插入图片描述)
  3. 获得web资源路径(在下载文件中,常用方法
    1.String getRealPath(String path);根据资源名称得到资源的绝对路径.
    2.getResourceAsStream(String path) ;返回制定路径文件的输入流)

6.HttpServletResponse接口

它继承自ServletResponse接口,专门用来封装HTTP响应消息。由于HTTP响应消息分为状态行、响应消息头、消息体三部分,因此,在HttpServletResponse接口中定义了向客户端发送响应状态码、响应头、响应体的方法

6.1操作响应行
使用Response的对象方法setStatus(传入对应的状态码)
常见状态码:

  1. 200:成功
  2. 302:重定向
  3. 304:访问缓存
  4. 404:客户端错误
  5. 500:服务器错误

6.2操作响应头
使用Response的对象方法setHeader(响应头,值)
常见响应头:

  1. Refresh:定时跳转,值写指定秒数后跳转的页面,如:resp.setHeader(“refresh”,“2;url=http://tlias-stu.boxuegu.com/#/login”);

  2. Location:重定向。跳转页面Servlet中的Response(HTTP响应对象)用法及笔记_第3张图片

  3. Content-Disposition:设置文件下载时候的头,通知浏览器,使用下载方式,而不是解析,设置值attachment:filename=项目中被下载的文件名

  4. Content-Type:设置响应内容的MIME类型,解决乱码问题,值设置"text/html;charset=UTF-8"

6.3操作响应体
使用Response的对象方法getOutputStream(),以字节流的方式响应服务器
使用Response的对象方法getWriter(),文本处理,含中文选择字符流处理

	下载文件思路
 - 使用getServletContext().getResourceAsStream(web项目中的文件),返回输入流对象
- 通知浏览器,下载的资源不以解析方式打开,HttpServletResponse对象的	setHeader("Content-Disposition","attachment;filename=项目中被下载的文件名")
- 使用getOutputStream响应给浏览器、
- 以IO流的方式进行输出

Servlet中的Response(HTTP响应对象)用法及笔记_第4张图片

你可能感兴趣的:(Servlet中的Response(HTTP响应对象)用法及笔记)