【Web】Web容器与Servlet

       

        首先说说我们知道的服务器,比如 IIS, Tomcat, Jboss.它们都与web应用有关,IIS是一种Web服务组件,包括Web服务器,FTP服务器,NNTP服务器和SMTP服务器; Tomcat属于轻量级Web服务器,中小型项目中我们经常用到; Jboss属于重量级的Web应用服务器,包括EJB容器和Web服务器,我们的ITOO项目用的就是Jboss.

 

       我们来看看Web服务器和Web应用的关系.


     技术分享

         Web服务器与Web应用属于不同的范畴,它们间需要借助标准的接口来协作,Servlet是主要的一个接口.

 

Servlet容器:

 

        它是JavaWeb应用中最核心,最常用的组件.我们还记得在web.xml文件中配置过Servlet元素,这是因为客户请求访问特定Servlet,Servlet容器需要创建一系列与Servlet有关的对象.我们来了解下这一过程.

 

         客户端发出一个请求,有求就得有应啊,于是Servlet容器就站出来它说要接收,接收完请求得干活啊,于是它得解析这个请求,于是左创建一个ServletRequest对象,(包含了客户请求等信息).右创建一个ServletResponse对象.Servlet容器调用特定Servletservice方法的时候,ServletRequestServletResponse就被悄悄地送进去做参数了.特定的Servlet这下高兴了,ServletRequest对象中取得客户请求信息,利用ServletResponse对象生成相应结果.Servlet容器一看,哇塞,结果出来了,转手就发给客户了.

 

           Servlet容器是个神马玩意呢?好像它并没干多少活,就是要了客户的需求,造了两个小兵,让小兵背走需求去搞,它还告诉小兵在service方法调用的时候,它要把需求倒背如流,搞完了就让另一个小兵把结果给运回来.容器创造了对象并让对象协调工作,并能对外进行良好的沟通.啧啧啧,很牛.

 

       说得好不如画的好,有图有真相.


         技术分享


Servlet接口:


       所有的Servlet都实现了Servlet接口,接口中有五个方法.分别是:

        Init();

        Service();

        destory();

        getServletConfig();

        getServletInfo();

 

        其中,Init(),Service()destory()是由容器调用的,在不同的Servlet生命周期阶段分别调用.容器初始化一个Servlet对象时,创建一个ServletConfig对象,包含这个Servlet的初始化参数信息.ServletConfig对象只对一个Servlet有效,不能被另一个Servlet访问到.

 

         在Servlet相关的对象中还有一个ServletContext对象,ServletContextServletConfig不同的是:ServletContext对任何Servlet都有效,是全局对象.我们会在下篇博客中对这二者进行详细的了解.



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。