一、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. 获取请求行信息
2. 获取请求头信息(header信息)
3. 获取 form 表单的数据(queryString或者body信息)
三、Http响应:HttpServletResponse
1. 设置响应行的信息
返回值类型 | 方法 | 描述 |
void | setStatus(int status) | 用于设置 HTTP 响应消息的状态码,并生成响应状态行。 |
2. 设置响应头信息
3. 设置响应体信息
返回值类型 | 方法 | 描述 |
void | sendRedirect | 重定向URL |
utputStream | getOutputStream() | 向body中写入二进制格式数据 |
PrintWriter | getWriter() | 向body中写入 文本 格式数据 |
四、大致总结