基本概念
其实就是一个运行在web服务器上的java程序,用于处理从web客户端发送的请求,并且对请求做出响应。
Servlet的执行流程
1.发送请求
2.通过配置找到路径
3.通过sevelet-name找到servlet的全名称
4.最后找到类并执行service里面的方法
Servlet的实现关系
Servlet的生命周期
1.构造servlet,然后init方法将其初始化
2.处理来自客户端对service方法的所有调用
3.从服务中去除servelt,然后使用destory方法销毁它,最后进行垃圾回收终止它。
生命周期:
servlet是在第一次访问的时候会被实例化,这个时候init方法会被执行。init方法只会被执行一次。任何一次从客户端发送的请求,servlet的service方法就会执行。当servlet从服务器移除或者关闭的时候,sevlet对象就会被销毁,这个时候destroy方法就会执行,然后垃圾回收就会将其回收。
为什么使用启动时加载
servlet第一次启动时,第一个用户访问会有等待时间。其他用户是没有的。
如何解决
让服务启动的时候就创建servlet的对象。那么之前花费的在服务器启动的时候就一起花费掉了,对于用户就不需要等待时间了。在xml中配置
正整数越小级别越高
Servlet配置方式
完全路径匹配>目录匹配>扩展名匹配
ServletConfig
用来获得Servlet的相关配置对象
ServletContext
Servlet的上下文对象。对Servlet的之前和之后都了解。一个web项目只有一个
作用一
可以用来获取web项目的相关信息
1.获取文件的MIME的类型
2.获取请求路径的工程名
3.获取全局初始化参数
作用二
用来读取web项目下的文件(因为常规的IO流是读取不到的)
作用三
-
作为域对象存储数据
域对象:将数据存入域对象中。这个数据有一定的作用范围。
-
作用范围
实在服务器启动的时候为每个web项目单独创建一个ServletContext对象。当web项目从服务器当中移除。或者关闭服务器ServletContext对象会被销毁。所以想ServletContext当中所有的数据会一直存在。