基本配置
<servlet>
<servlet-name>abc</servlet-name>
<servlet-class>com.servlet.QuickStartServlet</servlet-class>
</servlet>
<!-- servlet的虚拟路径的配置 -->
<servlet-mapping>
<servlet-name>abc</servlet-name>
<!-- 完全匹配 访问的资源与配置的资源完全相同才能访问到 -->
<url-pattern>/quickStart</url-pattern>
<!-- 目录匹配 格式:/虚拟的目录../* *代表任意
<url-pattern>/aaa/bbb/ccc/*</url-pattern>
-->
<!-- 扩展名匹配 格式:*.扩展名
<url-pattern>*.abvd</url-pattern>
-->
</servlet-mapping>
其中url-pattern的配置方式:
1)完全匹配 访问的资源与配置的资源完全相同才能访问到
2)目录匹配 格式:/虚拟的目录…/* 代表任意
3)扩展名匹配 格式:.扩展名
注意:第二种与第三种不要混用 /aaa/bbb/*.abcd(错误的)
服务器启动实例化Servlet配置
Servlet的何时创建:默认第一次访问时创建
为什么是默认?
当在servlet的配置时 加上一个配置<load-on-startup>
servlet对象在服务器启动 时创建,不会等到第一次访问才创建
演示:
配置文件:
<servlet>
。。。
1-5之间的数字都可,代表优先级,数字越小,优先级越高
<load-on-startup>3</load-on-startup>
在服务器启动时,创建servlet对象
</servlet>
缺省Servlet
可以将url-pattern配置一个/,代表该servlet是缺省的servlet
什么是缺省的servlet?
当你访问资源地址所有的servlet都不匹配时 , 缺省的servlet负责处理
其实,web应用中所有的资源的响应都是servlet负责,包括静态资源
<url-pattern>/</url-pattern>
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
System.out.println("QuickStart is running ....");
res.getWriter().write("QuickStart is running ....");
}
欢迎页面
全局web.xml也有相关配置,如果在项目web.xml加入,则会覆盖。