Servlet调用过程详述

**

Servlet调用过程:**

当用户在浏览器的地址栏中输入要访问的URL后,浏览器就发出一个http请求;(这里的URL为配置文件中<servlet-mapping><url-pattern>中设置的mapping URL)

服务器端的处理:
服务器通过DNS将域名解析为ip地址,找到对应的服务器;HTTP请求通过80端口到达服务器;

通过HTTP请求中的Host请求头来确定访问服务器上的哪个虚拟主机;通过请求行中的请求资源路径可确定请求哪一个Servlet(Servlet Mapping URL);

如何确定最终运行的Servlet文件:
在创建Servlet时我们需要配置web.xml来添加对应Servlet。在调用时,服务器也是通过web.xml来确定最终需运行的Servlet文件。

<servlet>
 <servlet-name>FirstServlet</servlet-name>
 <servlet-class>cn.tedu.servlet.FirstServlet</servlet-class>
 </servlet>
 
 <servlet-mapping>
 <servlet-name>FirstServlet</servlet-name>
 <url-pattern>/servlet/FirstServlet</url-pattern>
 </servlet-mapping>

服务器通过浏览器发送过来的HTTP请求得到的请求资源路径是<servlet-mapping>下的<url-pattern>,以此就能确定servlet-name,然后在<servlet>中再利用这个servlet-name确定对应的servlet-class,而<servlet-class>中设置的就是Servlet的路径。这样就最终确定了运行时的Servlet文件。

这时就会创建Servlet对象,并进行初始化操作。request对象和response对象也是在Servlet的实例对象创建后创建的。然后服务器通过调用Servlet对象中的service方法来提供服务。

最后,服务器通过response对象中的实体内容,将数据以HTTP响应返回给浏览器端。

一个完整的Servlet调用完成。

猜你喜欢

转载自blog.csdn.net/weixin_38121168/article/details/89435096
今日推荐