Servlet是一种动态加载模块,可为服务器接受的请求提供服务,完全运行在java虚拟机上由于servlet在服务器上运行,所以并不依赖于浏览器的兼容性。从理论上讲,只要是java能实现的功能,servlet也可以实现。Jsp是servlet适应于web的一种发展,能用jsp实现的功能也能用servlet实现。 Servlet还可以看成服务器的applet,能被web服务器加载和执行,并能接受客户端的请求执行需要的操作,然后返回结果给服务器。接下来是servlet的两个基本概念:servlet容器和servlet接口:(1)servlet容器负责处理客户请求,把请求传送给servlet并把结果集返回给客户。不同程序的容器实际实现可能有所变化,但容器与servlet之间接口是有servletAPI定义。这个接口定义了servlet容器在servlet上要调用的函数及传递给servlet的对象类(2)servlet接口Servlet提供公共接口publicnterfaceServlet,给接口提供功能函数调用原型说明。其生命周期由javax.servlet.Servlet。接口定义。当编写servlet时必须直接或间接的实现这个接口,一般采用间接实现函数,即通过从javax.servlet.GenericServlet类或javax.servlet.http.HttpServlet类继承 Servlet生命周期是指一个servlet从被加载,初始化,相应请求,提供服务到别销毁的全过程。详细过程如下:(1) servlet容器创建servlet的一个实例。(2) 容器调用该实例的init()函数,进行初始化。如果初始化失败则直接卸载该实例。(3) 如果容器对该servlet有请求,则调用该实例的service()函数,提供服务。如果服务请求出错,则抛出异常unaviable(4) 服务完成后,容器调用该实例的destory()函数(5) 销毁并标记该实例以供作为垃圾收集容器在该servlet首次被调用时创建一个servlet实例,并爆出该实例在内存中,让器对所有的请求进行处理。容器可以决定在任何时候把这个实例从内存中移走。容器为每个servlet创建一个单独的实例,容器并不会每接到一个请求就创建一个新线程,而是使用一个线程池来动态的将线程分配给到来的请求。
servlet
最新推荐文章于 2025-12-04 16:52:46 发布
4646

被折叠的 条评论
为什么被折叠?



