1.4 Servlet的概念和使用(重点)
1.4.1 基本概念
- Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,是Java语言编写
的服务器端程序,换句话说,Servlet就是运行在服务器上的Java类。
- Servlet用来完成B/S架构下客户端请求的响应处理,也就是交互式地浏览和生成数据,生成动态
Web内容。
1.4.2 Servlet的编程步骤
- 建立一个Java Web Application项目并配置Tomcat服务器。
- 自定义类实现Servlet接口或继承 HttpServlet类(推荐) 并重写service方法。
- 将自定义类的信息配置到 web.xml文件并启动项目,配置方式如下:
- 在浏览器上访问的方式为:
1.4.3 Servlet接口
(1)基本概念
- javax.servlet.Servlet接口用于定义所有servlet必须实现的方法。
(2)常用的方法
1.4.5 GenericServlet类
(1)基本概念
- javax.servlet.GenericServlet类主要用于定义一个通用的、与协议无关的servlet,该类实现了
Servlet接口。
- 若编写通用servlet,只需重写service抽象方法即可。
(2)常用的方法
1.4.6 HttpServlet类
(1)基本概念
- javax.servlet.http.HttpServlet类是个抽象类并继承了GenericServlet类。
- 用于创建适用于网站的HTTP Servlet,该类的子类必须至少重写一个方法。
(2)常用的方法
1.4.7 Servlet 的生命周期
- 构造方法只被调用一次,当第一次请求Servlet时调用构造方法来创建Servlet的实例。
- init方法只被调用一次,当创建好Servlet实例后立即调用该方法实现Servlet的初始化。
- service方法被多次调用,每当有请求时都会调用service方法来用于请求的响应。
- destroy方法只被调用一次,当该Servlet实例所在的Web应用被卸载前调用该方法来释放当前占用
的资源。
1.5 POST和GET请求(重点)
1.5.1 GET请求
1.5.2 POST请求
1.5.3 ServletRequest接口
(1)基本概念
- javax.servlet.ServletRequest接口主要用于向servlet提供客户端请求信息,可以从中获取到任何
请求信息。
- Servlet容器创建一个ServletRequest对象,并将其作为参数传递给Servlet的service方法。
(2)常用的方法
1.5.4 HttpServletRequest接口
(1)基本概念
- javax.servlet.http.HttpServletRequest接口是ServletRequest接口的子接口,主要用于提供HTTP
请求信息的功能。
- 不同于表单数据,在发送HTTP请求时,HTTP请求头直接由浏览器设置。
- 可直接通过HttpServletRequest对象提供的一系列get方法获取请求头数据。
(2)常用的方法
1.5.5 ServletResponse接口
(1)基本概念
- javax.servlet.ServletResponse接口用于定义一个对象来帮助Servlet向客户端发送响应。
- Servlet容器创建ServletResponse对象,并将其作为参数传递给servlet的service方法。
(2)常用方法
1.5.6 HttpServletResponse接口
(1)基本概念
- javax.servlet.http.HttpServletResponse接口继承ServletResponse接口,以便在发送响应时提供
特定于HTTP的功能。
(2)常用的方法
1.5.7 使用示例
1.6 Servlet接收中文乱码(重点)
1.6.1 接收乱码原因
- 浏览器在提交表单时,会对中文参数值进行自动编码。当Tomcat服务器接收到浏览器请求后自动
解码,当编码与解码方式不一致时,就会导致乱码。
1.6.2 解决POST接收乱码
1.6.3 解决GET接收乱码
1.7 ServletConfifig接口(熟悉)
(1)基本概念
- javax.servlet.ServletConfifig接口用于描述Servlet本身的相关配置信息,在初始化期间用于将信息
传递给Servlet配置对象。
(2)配置方式
(3)常用的方法
1.8 ServletContext接口(熟悉)
(1)基本概念
- javax.servlet.ServletContext接口主要用于定义一组方法,Servlet使用这些方法与它的Servlet容
器通信。
- 服务器容器在启动时会为每个项目创建唯一的一个ServletContext对象,用于实现多个Servlet之间
的信息共享和通信。
- 在Servlet中通过this.getServletContext()方法可以获得ServletContext对象。
(2)配置方式
(3)常用的方法