Servlet简介
问题:对XXXServlet进行了10次访问,init(),destory(),service(),doGet(),doPost() 一共执行力多少次?request对象创建几个?response创建几个?
web应用中所有的资源的响应都是servlet负责,包括静态资源
Servlet简介
Servlet 运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求、响应给浏览器的动态资源。但servlet的实质就是java代码,通过java的API 动态的向客户端输出内容
Servlet规范(包含三个技术点)
1)Servlet技术
2)Filter技术---过滤器
3)Listener技术---监听器
执行过程
生命周期
1)init(ServletConfig config)
何时执行:servlet对象创建的时候执行
ServletConfig : 代表的是该servlet对象的配置信息
2)service(ServletRequestrequest,ServletResponse response)
何时执行:每次请求都会执行
ServletRequest :代表请求 认为ServletRequest 内部封装的是http请求的信息
ServletResponse :代表响应 认为要封装的是响应的信息
3)destroy()
何时执行:servlet销毁的时候执行
详细执行
基本配置
其中url-pattern的配置方式:
1)完全匹配 访问的资源与配置的资源完全相同才能访问到 /quick
2)目录匹配 格式:/虚拟的目录../* *代表任意 /aaa/ddd/ccc/*
3)扩展名匹配 格式:*.扩展名 *.abc
4)缺省匹配 格式: / 当访问资源地址所有的servlet都不匹配时 , 由缺省的servlet负责处理
注意:第二种与第三种不要混用/aaa/bbb/*.abcd(错误的)
服务器启动实例化Servlet配置
Servlet的何时创建:默认第一次访问时创建
当在servlet的配置时 加上一个配置 <load-on-startup> servlet对象在服务器启动时就创建
<load-on-startup>1(2,3,4....)</load-on-startup> 数字代表优先级,数字越小,优先级越高
缺省Servlet
可以将url-pattern配置一个/,代表该servlet是缺省的servlet
什么是缺省的servle?----当访问资源地址所有的servlet都不匹配时 , 由缺省的servlet负责处理