(1)Servlet和filter的加载销毁顺序
加载顺序init顺序:filter-->servlet
处理请求顺序:
filter-->servlet-->filter
销毁顺序:
servlet-->filter
(2)Servlet的路径匹配
三大原则:精确匹配,最长匹配,扩展匹配,如果都没有找到,那么就自动匹配到默认Servlet,不详述。
url-pattern详解
在web.xml文件中,以下语法用于定义映射:
l 以”/’开头和以”/*”结尾的是用来做路径映射的。
l 以前缀”*.”开头的是用来做扩展映射的。
l “/” 是用来定义default servlet映射的。
l 剩下的都是用来定义详细映射的。比如: /aa/bb/cc.action
所以,为什么定义”/*.action”这样一个看起来很正常的匹配会错?因为这个匹配即属于路径映射,也属于扩展映射,导致容器无法判断。
此处系转载,如有错误,请指出,谢谢
注意:Servlet只有在有对应的请求过来时才会初始化,而实际上有时我们期望在初始化程序时就能启动有些Servlet,这时只需要在Servlet的配置文件中加上<load-on-startup>num<load-on-startup/>的标签对即可,其中的num表示Servlet的启动顺序,num越小,Servlet越先启动。