1浏览器从地址栏中获取主机名,并获取主机名对应的ip地址,首先从windowshosts文件中查找是否有该主机对应的ip地址 ,如果没有,则查找dns服务器查找主机名对应的ip地址.
2.浏览器连接服务器 。
3.浏览器向服务器发送http请求。4.服务器读取请求消息。从请求消息中确定客户机要访问的主机名 。
5.服务器从请求消息中确定客户机要访问具体的web应用
6.服务器从请求消息中确定客户机要访问具体的web资源
7.服务器发现客户机访问的是一个servlet程序。
服务器首先从内存找查找是否有该servlet对象,如果没有,则创建该servlet对象。
创建该servlet对象过程
A、servlet引擎读取配置文件web.xml,获取到该servlet的信息,封装init-param信息到ServletConfig对象中
<Servlet>
<servlet-name>ServletDemo1</servlet-name><servlet-class>cn.itcast.ServletDemo1</servlet-class>
<init-param>
<param-name>xxx</param-name>
<param-value>aaaa</param-value>
</init-param>
</Servlet><servlet-mapping>
<servlet-name>ServletDemo1</servlet-name>
<url-pattern>/servlet/ServletDemo1</url-pattern>
</servlet-mapping>
B、 利用反射技术创建出servlet对象,并调用init方法8.servlet引擎将客户端请求封装到request对象中,并创建一个响应头和响应体都为空的响应对象response。servlet引擎将这两个对象作为参数传递给
service(HttpServletRequest request,HttpServletResponse response)方法.每一个客户端请求访问一次servlet程序, servlet引擎就创建一个对应的request对象和response对象。response对象用于存放servlet程序针对客户端请求产生的数据(响应),以及服务器端控制浏览器显示的响应头
9.调用业务逻辑service方法对请求进行处理,将response响应返回到服务器程序中。10.服务器程序检查response对象中是否有数据,如果有,就生成http响应.
11.服务器将http响应发送给客户端
12.客户端浏览器显示服务器程序发送的http响应信息.