文章目录
- 1. Servlet技术
- 1.1 什么是Servlet
- 1.2 手动实现 Servlet 程序
- 1.3 url 地址到 Servlet 程序的访问
- 1.4 Servlet 的生命周期
- 1.5 GET 和 POST 请求的分发
- 1.6 通过继承 HttpServlet 实现 Servlet 程序
- 1.7 使用 IDEA 创建 Servlet 程序
- 1.8 Servlet 类的继承体系
- 2. ServletConfig 类
- 2.1 ServletConfig 类的三大作用
- 3. ServletContext 类
- 3.1 什么是 ServletContext?
- 4. HTTP 协议
- 4.1 什么是 HTTP 协议
- 4.2 请求的 HTTP 协议格式
- 4.2.1 GET 请求
- 4.2.2 POST
- 4.2.3 常用请求头的说明
- 4.2.4 哪些是 GET 请求,哪些是 POST 请求
- 4.3 响应的 HTTP 协议格式
- 4.4 常用的响应码说明
- 4.5 MIME 类型说明
- 5. HttpServletRequest 类
- 5.1 HttpServletRequest 类有什么作用
- 5.2 HttpServletRequest 类的常用方法
- 5.3 如何获取请求参数
- 5.4 请求的转发
- 5.5 base 标签的作用
- 5.6 Web 中的相对路径和绝对路径
- 5.7 web 中 / 斜杠的不同意义
- 6. HttpServletResponse 类
- 6.1 HttpServletResponse 类的作用
- 6.2 两个输出流的说明
- 6.3 如何往客户端回传数据
- 6.4 响应的乱码解决
- 6.5 请求重定向
1. Servlet技术
1.1 什么是Servlet
1.2 手动实现 Servlet 程序
1.3 url 地址到 Servlet 程序的访问
1.4 Servlet 的生命周期
package com.gyh.servlet;
import javax.servlet.*;
import java.io.IOException;
/**
* @author Gao YongHao
* @version 1.0
*/
public class HelloServlet implements Servlet {
/**
* 在Servlet实例化后,Servlet容器会调用init()方法,来初始化该对象,
* 主要是为了让Servlet对象在处理客户请求前可以完成一些初始化的工作。
* 例如:建立数据库连接,获取配置信息等。
* 对于每一个Servlet实例,init()方法只能被调用一次。
* init()方法有一个类型为ServletConfig的参数,
* Servlet容器通过这个参数向Servlet传递配置信息。
* Servlet使用ServletConfig对象从Web应用程序的配置信息中获取以名-值对形式提供的初始化参数。
* 另外,在Servlet中,还可以通过ServletConfig对象获取描述Servlet运行环境的ServletContext对象,
* 使用该对象,Servlet可以和它的Servlet容器进行通信
* @param servletConfig
* @throws ServletException
*/
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
/**
* 该方法返回容器调用init()方法时传递给Servlet对象的ServletConfig对象,
* ServletConfig对象包含了Servlet的初始化参数
* @return
*/
@Override
public ServletConfig getServletConfig() {
return null;
}
/**
* 专门用来处理请求的响应方法
* 这个函数用于处理业务逻辑
* 程序员应当把业务逻辑写在这里
* 会被调用多次,当用户每访问该servlet时,都会被调用
* req用于获得客户端(浏览器(b/s结构))的信息,res用于向客户端(浏览器)返回信息
* @param servletRequest
* @param servletResponse
* @throws ServletException
* @throws IOException
*/
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("Hello Servlet 被访问了");
}
/**
* 返回一个String类型的字符串,其中包括了关于Servlet的信息,
* 例如,作者、版本和版权。该方法返回的应该是纯文本字符串,而不是任何类型的标记(HTML,XML等)
* @return
*/
@Override
public String getServletInfo() {
return null;
}
/**
* 当容器检测到一个Servlet对象应该从服务中被移除的时候,容器会调用该对象的destroy()方法,
* 以便让Servlet对象可以释放它所使用的资源,保存数据到持久存储设备中。
* 例如:将内存中的数据保存到数据库中,关闭数据库的连接等。当需要释放内存或容器关闭时,
* 容器就会调用Servlet对象的destroy()方法。在Servlet容器调用destroy()方法前,
* 如果还有其他的线程正在service()方法中执行,容器会等待这些线程执行完毕或等待服务器设定的超时值到达。
* 一旦Servlet对象的destroy()方法被调用,容器不会再把其他的请求发送给该对象。
* 如果需要该Servlet再次为客户端服务,容器会重新产生一个Servlet对象来处理客户端的请求。
* 在destroy()方法调用后,容器会释放这个Servlet对象,在随后的时候内,该对象会被Java的垃圾收集器所回收
*/
@Override
public void destroy() {
System.out.println("销毁");
}
}
1.5 GET 和 POST 请求的分发
1.6 通过继承 HttpServlet 实现 Servlet 程序
1.7 使用 IDEA 创建 Servlet 程序
1.8 Servlet 类的继承体系
2. ServletConfig 类
2.1 ServletConfig 类的三大作用
3. ServletContext 类
3.1 什么是 ServletContext?
4. HTTP 协议
4.1 什么是 HTTP 协议
4.2 请求的 HTTP 协议格式
4.2.1 GET 请求
4.2.2 POST
4.2.3 常用请求头的说明
4.2.4 哪些是 GET 请求,哪些是 POST 请求
4.3 响应的 HTTP 协议格式
4.4 常用的响应码说明
4.5 MIME 类型说明
5. HttpServletRequest 类
5.1 HttpServletRequest 类有什么作用
5.2 HttpServletRequest 类的常用方法
5.3 如何获取请求参数
5.4 请求的转发
什么是请求的转发?
请求转发是指:服务器收到请求后,从一个资源跳转到另一个资源的操作叫 请求转发
5.5 base 标签的作用
5.6 Web 中的相对路径和绝对路径
5.7 web 中 / 斜杠的不同意义
6. HttpServletResponse 类
6.1 HttpServletResponse 类的作用
HttpServletResponse 类和 HttpServletRequest 类一样。每次请求进来,Tomcat 服务器都会创建一个 Response 对象传
递给 Servlet 程序去使用。HttpServletRequest 表示请求过来的信息,HttpServletResponse 表示所有响应的信息,
我们如果需要设置返回给客户端的信息,都可以通过 HttpServletResponse 对象来进行设置。