1、 servlet容器如何处理请求资源路径?
比如,在浏览器地址栏输入
http://ip:port/web04/abc.html
请求资源路径是: /web04/abc.html
step1,容器依据应用名找到应用所在文件夹。
step2, 容器会假设要访问的是一个servlet,会比较web.xml文件中
web.xml文件中<url-pattern>是否与"/abc.html"一致:
a,精确匹配
b,通配符匹配:使用 "*" 来匹配任意的字符。
比如<url-pattern>/*</url-pattern>
/aaa /aaa.bbb /aaa/bbb/ccc
c,后缀匹配:使用"*."开头,后接任意的字符。
比如<url-pattern>*.do</url-pattern>
会匹配所有以".do"结尾的请求。
/adfasdfasd.do
step3,如果都不匹配,容器会查找静态页面,如果找到,
就返回,找不到,返回404 。
2. 如何让一个servlet 处理多种请求?
step1,使用后缀匹配模式。
step2, 分析请求资源路径,然后分别处理:
String uri = request.getRequestURL();
3. servlet的生命周期