- 分析当前请求是那台虚拟主机
查看请求头中的Host请求头来分析
Host: localhost
如果没有Host访问缺省虚拟主机
- 分析当前请求是哪一个web应用
从请求行中的请求资源部分中得出当前访问的是哪一个web资源
GET /game/servlet/MyFirstServlet HTTP/1.1
- 分析当前请求访问的是这个web应用的哪个资源
GET /game/servlet/MyFirstServlet HTTP/1.1
- 查看web.xml的文件,查看有没有对应的虚拟路径,如果有则用这个虚拟路径对应的资源(MyFirstServlet)做响应
<servlet>
<servlet-name>MyFirstServlet</servlet-name>
<servlet-class>MyFirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyFirstServlet</servlet-name>
<url-pattern>/servlet/MyFirstServlet</url-pattern>
</servlet-mapping>
5. Servlet的生命周期
Servlet在第一次被访问到的时候,服务器创建出servlet对象,立即调用init方法做初始化操作,创建出这个对象后会一直驻留在内存中为后续对这个servlet的访问服务器,每次对这个servlet的访问都会导致servlet中的service方法执行。当web应用移除出容器或服务器关闭,随着web应用的销毁,servlet会被销毁,在销毁之前会调用servlet的destroy方法做一些善后的工作
void |
service(ServletRequest req, ServletResponse res) |
ServletRequest 包含请求头信息,和实体内容
ServletResponse 传给浏览器
- 服务器从response对象中获取之前写入的数据,组织成http响应消息打给浏览器
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/html
Content-Length: 27
Date: Wed, 18 Feb 2015 14:20:06 GMT
Now time:2015-2-18 22:20:06
6. 静态资源是由缺省servlet进行处理