Servlet API 详解

 

 

目录

一、HttpServlet

① init() 方法

② service() 方法

③ destroy() 方法

④ doGet()方法

⑤ doPost()方法

⑥ doPut/deDelete/doOptions

常见面试题: 请你谈谈Servlet的生命周期

二、Http请求:HttpServletRequest

1. 获取请求行信息

2. 获取请求头信息(header信息)

3. 获取 form 表单的数据(queryString或者body信息)

三、Http响应:HttpServletResponse

1. 设置响应行的信息

2. 设置响应头信息

 3. 设置响应体信息

四、大致总结


 

一、HttpServlet

 

① init() 方法

在 Servlet 的生命期中,仅执行一次 init() 方法。它是在服务器装入 Servlet 时执行(也就是HttpServlet实例化之后)。 无论有多少客户机访问 Servlet,都不会重复执行 init() 。

② service() 方法

service() 方法是 Servlet 的核心。每当一个客户请求一个HttpServlet 对象,该对象的service() 方法就要被调用,而且传递给这个方法一个"请求"(ServletRequest)对象和一个"响应"(ServletResponse)对象作为参数。 在 HttpServlet 中已存在 service() 方法。缺省的服务功能是调用与 HTTP 请求的方法相应的 do 功能。

③ destroy() 方法

destroy() 方法仅执行一次,即在服务器停止执行该方法。有可能会调用不到,比如杀进程或者电脑直接断电。

④ doGet()方法

收到GET请求的时候调用(由service方法调用,Tomcat收到请求,会先调用Service,再调用doxxx,实际开发中很少重写Service,一般重新doxxx方法即可)

⑤ doPost()方法

收到POST请求的时候调用(由service方法调用)

⑥ doPut/deDelete/doOptions

收到其他请求的时候调用 (由service方法调用)

 

常见面试题: 请你谈谈Servlet的生命周期

二、Http请求:HttpServletRequest

1. 获取请求行信息

返回值 方法名 描述
String getMethod() 该方法用于获取 HTTP 请求方式(如 GET、POST 等)
String getRequestURI() 该方法用于获取请求行中的资源名称部分,即位于 URL 的主机和端口之后,参数部分之前的部分
String getQueryString() 该方法用于获取请求行中的参数部分,也就是 URL 中“?”以后的所有内容
String getContextPath() 返回指示请求上下文的请求URI部分
String getRemoteAddr() 该方法用于获取客户端的 IP 地址

2. 获取请求头信息(header信息)

返回值类型 方法声明

描述

Enumeration getHeaderNames() 返回一个枚举,包含请求中所有的头名(.header的头名)
String getHeader(String name) 通过头名返回头名的值(如这个头名有多个,只返回第一个)
Enumeration getHeaders(String name) 该方法返回指定头名所有的值(适用于有这个头名有多个)
返回值类型 方法声明

描述

String getContentType() 该方法用于获取 Content-Type 头字段的值。
int getContentLength() 该方法用于获取 Content-Length 头字段的值 。
String getCharacterEncoding() 该方法用于返回请求消息的字符集编码 。

3. 获取 form 表单的数据(queryString或者body信息)

返回值类型 方法声明 功能描述
Enumeration  getParameterNames ( ) 以枚举集合的形式返回请求中所有参数名
String  getParameter(String name) 返回指定参数名的参数值
String [ ]  getParameterValues (String name) 以字符串数组的形式返回指定参数名的所有参数值(HTTP 请求中可以有多个相同参数名的参数)

三、Http响应:HttpServletResponse

1. 设置响应行的信息

返回值类型 方法 描述
void setStatus(int status)

用于设置 HTTP 响应消息的状态码,并生成响应状态行。

2. 设置响应头信息

返回 方法 描述
void addHeader(String name,String value) 添加一个有名称和值的header,存在也不覆盖,继续添加
void setHeader (String name,String value) 添加一个有名称和值的header,存在直接覆盖
void addIntHeader(String name,int value) 增加 值为 int 类型的响应头字段,不覆盖
void setIntHeader(String name, int value) 设置 值为 int 类型的响应头字段,覆盖
void setContentType(String type) 设置 Servlet 输出内容的 MIME 类型 和 字符编码格式。
void setCharacterEncoding(String charset) 设置输出内容 的字符编码格式。

 3. 设置响应体信息

返回值类型 方法 描述
void sendRedirect 重定向URL
OutputStream getOutputStream() 向body中写入二进制格式数据
PrintWriter getWriter() 向body中写入  文本 格式数据

四、大致总结

Servlet API 详解_第1张图片

你可能感兴趣的:(网络,servlet,面试,java)