Servlet-复习笔记
近期对于Servlet的概念都开始有些模糊了,于是在网上找了一些资料进行复习和巩固,加深印象。
一:什么是Servelt?
1.Servlet是一个Java类
2.Servlet就是运行在Web服务器的小型Java程序
二:Servlet的执行过程
在浏览器输入URI,通过localhost:8080定位到本机的Web服务器,在Web服务器内部通过firstProject定位到具体的这个应用。扫描web.xml,加载web.xml内配置的信息,通过/helloDemo这个url-pattern找到对应的servlet。
当第一次访问servelet时,实例化servlet对象,并且init和service方法被调用。将响应的数据返回给浏览器。
当应用被卸载(undeploy)时,destroy方法被调用。
三:Servlet的生命周期
实例化—>初始化—>服务—>销毁
详情可参考图一。
四: Servlet的三种创建方式
1.实现Servlet接口
2.继承GenericServlet类
3.继承HttpServlet类
五:Servlet获取配置信息
1.ServletConfig
a. 获取当前Servlet的配置信息。
b.可以获得ServletContext对象。
2.ServletContext
2.1ServletContext简介
类似一个全局性的map集合。
Servlet代表的是整个应用,一个应用只有一个ServeltContext对象。
2.2 ServletContext的功能:
a.在当前应用范围内,使多个Servlet共享数据
b.获得全局配置信息
c.获得资源路径
d.实现Servlet的转发
六:Servlet规范的核心类图
七:其他
1.想让Servlet在服务器一启动就创建,只需要在相应的servlet下增加 load-on-startup配置即可
2.url-pattern的匹配顺序: 绝对匹配 > /开头匹配 > 扩展名方式匹配
3.如果url-pattern的值是/, 表示执行默认映射,所有资源都是servlet。
4.Servlet若调用转发,转发到其他的Servlet后,仍然会回到最初的Servelt,再返回给客户端。
5.Servlet是Web服务器创建的,不是我们自己new的。