《Servlet工作原理.doc》由会员分享,可在线阅读,更多相关《Servlet工作原理.doc(1页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一、Servlet工作原理 Servlet是运行在Servlet容器中的,由Servlet容器来负责Servlet实例的查找、创建以及整个生命周期的管理,Servlet整个生命周期可以分为四个阶段:类装载及实例创建阶段、实例初始化阶段、服务阶段以及实例销毁阶段。类装载及实例创建阶段 默认情况下,Servlet实例是在接受到第一个请求时进行创建并且以后的请求进行复用,如果有Servlet实例需要进行一些复杂的操作,需要在初始化时就完成,比如打开文件、初始化网络连接等,可以配置在服务器启动时就创建实例,具体配置方法为在声明servlet标签中添加1标签。初始化 inint(ServletConfi
2、g config) 一旦Servlet实例被创建,将会调用Servlet的inint方法,同时传入ServletConfig实例,传入Servlet的相关配置信息,init方法在整个Servlet生命周期中只会调用一次。服务 services() 为了提高效率,Servlet规范要求一个Servlet实例必须能够同时服务于多个客户端请求,即service()方法运行在多线程的环境下,Servlet开发者必须保证该方法的线程安全性。 销毁 destory() 当Servlet容器将决定结束某个Servlet时,将会调用destory()方法,在destory方法中进行资源释放,一旦destory
3、方法被调用,Servlet容器将不会再发送任何请求给这个实例,若Servlet容器需再次使用该Servlet,需重新再实例化该Servlet实例。 二、Servlet执行流程 web服务器接受到一个http请求后,web服务器会将请求移交给servlet容器,servlet容器首先对所请求的URL进行解析并根据web.xml 配置文件找到相应的处理servlet,同时将request、response对象传递给它,servlet通过request对象可知道客户端的请求者、请求信息以及其他的信息等,servlet在处理完请求后会把所有需要返回的信息放入response对象中并返回到客户端,ser
4、vlet一旦处理完请求,servlet容器就会刷新response对象,并把控制权重新返回给web服务器。 三、与其它技术的比较 与其它服务相比servlet有以下的一些优点: 1、运行速度上比CGI快,因为使用了多线程2、servlet使用了标准的api,可被许多web服务支持3、与系统无关性,一次编译多次使用1 使多作次原一统支服 许,的标 线了使, 度行点些一有 相服比术其器服 回权制象 会容 求完旦 端客并对 入息返需会请处在 息他以求、端客可对 给传 、 将 的到文配 根析进 请首 容 给请将 ,请 接务流执 例实 化新需 该次容 ,例求任送将 用方 旦释资中 在方 会将 某结决 ( 性程方保须开 境程多运方 即端个务服能例 个要 高了 ( 次用调中生 整方 信关 传例 传法 的 调创例 ( 签标 - 签 在置体实创时器配,连网、开如成时初需作些进例实 有,用请后建行请个接是 ,情默 阶创及段毁销段服段初、建实装段个以期个 ,管命整以找例 责来 由中容 行