Servlet细节问题
(1)一个
(2)url-partten中的路径可以使用*匹配符号进行配置,
1、注意,只能是/开头/*结尾,或*.后缀这两种方式
<url-pattern>/MyFirstServlet/my/* </url-pattern>
http://localhost:8080/MyFirstServlet/my/abcldefqdf12
<url-pattern>*.haha </url-pattern>
http://localhost:8080/a123dsfffrgre.haha
2、由于*的引入,有可能一个路径被多个urlpartten匹配,这是优先级判断条件如下:
哪个最像找哪个
*.后缀永远匹配级最低
(3)一般Servlet在第一次被访问到的时候,服务器才创建出Servlet对象,
在
用途:为web应用写一个InitServlet,这个servlet配置为启动时装载,为整个web应用创建必要的数据库表和数据。
(4)缺省Servlet:如果有一个Servlet的url-partten被配置为了一根正斜杠/,这个Servlet就变成了缺省Serlvet
<serlvet-mapping>
<servlet-name>MyFirstServlet</servlet-name>
<url-pattern>/ </url-pattern>
</serlvet-mapping>
1、其他Servlet 都不处理的请求,由缺省Servlet来处理。
2、地址栏上的请求url和web.xml的servlet不匹配的时候,访问缺省Servlet,缺省Servlet先去匹配web应用根目录静态资源的url,将静态资源显示到浏览器。
3、设置404页面500页面等提示页面也是由缺省Servlet来执行
4、通常我们不会自己去配置缺省Servlet,会导致静态资源不能通过URL地址直接被访问了,默认缺省Servlet来自tomcat\conf\web.xml。