文章目录
- 1.概述
- 1.1 JavaWeb三大组件
- 1.2 Servlet作用
- 2.ServletConfig接口
- 3.Servlet接口
- 3.1 实现Servlet的方式
- 3.2 Servlet生命周期
- 4.HttpServlet抽象类
- 6.ServletContext
- 5.1 概述
- 5.2 获取ServletContext
- 5.3 JavaWeb四大域对象
- 5.4 获取应用初始化参数
- 5.5 ServletContext获取资源
1.概述
1.1 JavaWeb三大组件
- Servlet
- 监听器
- 过滤器
1.2 Servlet作用
- 接收请求参数
- 处理请求
- 完成响应
2.ServletConfig接口
ServletConfig 类从类名上来看,就知道是 Servlet 程序的配置信息类。
Servlet 程序和 ServletConfig 对象都是由 Tomcat 负责创建,我们负责使用。
每个 Servlet 程序创建时,就创建一个对应的 ServletConfig 对 象。
3.Servlet接口
3.1 实现Servlet的方式
- 实现javax.servlet.Servlet接口
- 继承javax.servlet.GenericServlet类
- 继承javax.servlet.http.HttpServlet类
(1)servlet接口:直接去实现servlet接口的话,要实现的功能过多,开发不方便
(2)GenericServlet:将Servlet接口中其他的方法做了默认空实现,只将service()方法作为抽象。
将来定义Servlet类时,可以继承GenericServlet,实现service()方法即可。
(3)HttpServlet: 对http协议的一种封装,简化操作,使用方法如下:
① 定义类继承HttpServlet
② 复写doGet/dopost方法
3.2 Servlet生命周期
注意:
(1)service每一次处理请求都会调用,但是init方法和destroy只在创建或者销毁的时候调用一次。
(2)servlet是单例的,一个servlet类只会对应一个servlet类的对象。但是servlet类可能有多个。
(3)线程不安全的,所以效率高。
(4)servlet类由我们来写,但是servlet对象是由服务器创建的,并且由服务器调用其中的方法。
4.HttpServlet抽象类
servlet细节:
web.xml文件的继承
6.ServletContext
一个项目只有一个ServletContext。我们可以在N个Servlet中获取这个唯一的对象,所以使用它可以在Servlet中传递数据。(不让servlet直接传递数据是为了解耦合)
5.1 概述
5.2 获取ServletContext
ServletConfig
GenericServlet
HttpSession
ServletContextEvent
以上四个类都有方法getServletContext能获取ServletContext对象。
5.3 JavaWeb四大域对象
域对象在servlet中传递数据,所以与对象要有存数据和取数据的功能。
- PageContext
- ServletRequest
- HttpSession
- ServletContext
5.4 获取应用初始化参数
5.5 ServletContext获取资源
ServletContext可以获取web应用下的资源。