(一)Servlet的生命周期
一、Servlet的生命周期概述
1、什么是生命周期生命周期:一个对象从创建到销毁的过程
2、Servlet的生命周期
(1)Servlet生命周期:Servlet对象从创建到销毁的过程
(2)Servlet中有init、service、destroy方法,这几个方法称为是生命周期相关的方法
1)Servlet是在第一次被访问的时候会被实例化,只要Servlet一被实例化,那么Ser
vlet中的init方法就会执行(init只会执行一次)
2)之后再有任何一次从客户端发送来的请求,那么Servlet中的service方法就会执行
(在service方法的内部,会根据请求的方式不同,调用不同的doXxx方法)
3)当Servlet从服务器中移除,或者服务器关闭的时候,Servlet对象就被销毁,里面
的destroy方法就会执行,然后垃圾回收就会将其回收掉
3、代码演示Servlet的生命周期
(二)Servlet的启动时加载一、为什么使用启动时加载
Servlet对象是第一次被访问的时候会被创建的,init方法就会执行,假设在init方法
中做了一些比较耗时的操作(比如:加载了一些配置文件,并且解析可能需要花费
3秒钟,那么第一个用户第一次访问这个Servlet的时候,需要等待3秒钟),如何使
第一个用户在第一次访问的时候,不需要花费这么长时间?就需要我们的Servlet在
启动时加载二、什么是启动时加载Servlet默认是在第一次访问的时候创建的对象,
现在通过一个配置,将Servlet的实例化的过程,放在服务器启动的时候(让服务器
启动的时候就创建Servlet的对象)。如果这样做,那么之前耗时花费的时间就会在服务
器启动的时候一起消耗掉了。对于用户来讲,就不需要额外花费这个时间了三、配置完
成启动时加载优先级:数字越小越优先,不能比tomcat默认的Servlet优先级
(1)大
(三)Servlet的访问路径的配置一、Servlet中的urlPatter的配置
1、完全路径匹配以
/开始,比如:
/ServletDemo1 /aaa/ServletDemo2http://localhost:8080/web01/ServletDemo5
2、目录匹配以
/开始,以/*结束,比如:
/* /aaa/* /aaa/bbb/*http://localhost:8080/web01/aaa/asdf
3、扩展名匹配
不能以/开始,以*开始,比如:
*.action *.do *.jsphttp://localhost:8080/web01/asdf.abc
二、访问的优先级完全路径匹配 > 目录匹配 > 扩展名匹配
(四)ServletConfig对象(了解)一、ServletConfig对象的概述ServletConfig是用来获
取Servlet的相关配置的对象二、获得ServletConfig对象getServletConfig()方法三
、ServletConfig对象的API获得Servlet的初始化参数获得ServletContext对象获得
Servlet的名称
四、演示ServletConfig的API在web.xml中配置初始化参数 在Servlet中的代码实现
(五)ServletContext对象之获取web项目信息一、ServletContext对象概述
1、什么是ServletContextServletContext
:Servlet的上下文对象。ServletContext对象对Servlet之前和之后的内容都知道,这
个对象一个Web项目只有一个。在服务器启动的时候,为每个Web项目创建一个单
独的ServletContext对象2、ServletContext对象的作用
(1)作用一:用来获取Web项目信息
1)因为一个Web项目只有一个ServletContext对象,所以这个对象对整个项目的相关
内容都是了解的
2)方法:获取文件的MIME的类型getMimeType(String file)获取Web项目请求的工
程名getContextPath()获取Web项目的全局初始化参数getInitParameter(String name)getInitParameterNames()