今天去面试的时候,碰到这样一道题:Servlet的生命周期,Servlet和CGI的区别?
当时就蒙了:Servlet的生命周期?Servlet还有生命周期?怎么不是线程的?CGI又是啥?
后来就乱写一气。自己也不知道写的什么。
回来之后查阅资料才知道:Servlet的生命周期是:
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost等),当服务器决定将实例销毁的时候条用其destroy方法。
<想要知道详细的资料可以参阅http://sunnylocus.iteye.com/blog/342996>这位作者关于Servlet的生命周期写的非常详尽具体。
那么,“Servlet和CGI的区别?”又是什么?
这个就真不知到了,后来“百度”才知道:
Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet。
分享到:
相关推荐
【Servlet生命周期】 Servlet的生命周期主要包括三个阶段:加载与实例化、初始化、服务以及销毁。当服务器接收到对Servlet的第一次请求时,会加载Servlet类并创建一个Servlet实例,然后调用`init()`方法进行初始化...
Servlet生命周期包括四个阶段:加载和实例化、初始化、服务和销毁。在加载和实例化阶段,Servlet容器(如Tomcat)会根据需求创建Servlet实例。初始化阶段,Servlet会调用`init()`方法进行初始化操作。服务阶段,...
- `destroy()`方法:在Servlet生命周期结束时,释放资源。 4. Servlet处理完请求后,通过Servlet容器将响应结果返回给Web服务器,再由Web服务器将响应发送回客户端。 四、Servlet API Servlet API包含两个主要的...
四、Servlet生命周期 1. 加载与初始化:Servlet被Servlet容器(如Tomcat)加载后,会调用`init()`方法进行初始化。 2. 服务阶段:当接收到请求时,Servlet容器调用`service()`方法,根据请求类型分发到对应的`doGet...
`javax.servlet`包提供Servlet的基本接口和类,如Servlet接口,所有Servlet必须实现这个接口,其中包含`init()`、`service()`和`destroy()`等生命周期方法。`init()`方法用于初始化Servlet,`service()`方法处理请求...
Java Servlet 规范中定义了一个生命周期,包括初始化、请求处理和销毁阶段。Servlet 容器负责管理 Servlet 的生命周期。Servlet 容器是一个 Web 服务器扩展,用于提供 Servlet 的运行环境。当 Web 容器启动时,它...
Servlet是Java Web开发中的核心组件,它是一种基于...理解Servlet的工作原理和生命周期对于开发高效、健壮的Web应用程序至关重要。通过熟练掌握Servlet,开发者可以构建出功能丰富的动态Web应用,满足各种业务需求。
这是Servlet生命周期的开始,`init()`方法只被调用一次,用于配置和准备Servlet。 - **请求处理阶段**:一旦Servlet初始化完毕,接下来每当有新的请求到达,Servlet容器会为每个请求创建一个新线程,并在这个线程...
Servlet容器,即Servlet引擎,是Web服务器或应用程序服务器的一部分,负责Servlet的生命周期管理和执行。Servlet之间的通信是通过HTTP请求/响应模型进行的,其中包含了诸如URI、URL、HTTP/1.0、MIME等网络协议,以及...
相比CGI、Java Servlet或Struts等早期Web开发技术,JSF提供了更高层次的抽象和自动化。例如,Struts需要手动处理表单bean和动作,而JSF允许直接将UI组件与JavaBean属性绑定,实现数据的自动同步。JSF的这种特性减少...
`Servlet`接口定义了Servlet的生命周期方法,如`init`、`service`和`destroy`。`ServletConfig`提供了Servlet的配置信息,而`ServletContext`则代表了Servlet容器内的全局环境,可以用来获取配置信息或进行全局通信...
通过查看和学习这些源码,开发者可以深入理解HTTP请求的处理流程、Servlet生命周期、JSP的编译过程等核心概念。 在"javaee源码"这个压缩包中,我们可以期待找到以下内容: 1. Servlet容器的核心源码:包括请求解析...
Servlet的生命周期包括以下几个阶段: 1. 加载与实例化:当服务器启动或第一次接收到针对Servlet的请求时,Servlet容器会加载Servlet类并创建其实例。 2. 初始化:Servlet实例化后,会调用`init()`方法进行初始化。...
它负责加载、初始化、执行Servlet以及管理Servlet的生命周期。 - **例子**:Apache Tomcat是一个流行的Servlet容器,它可以运行Servlet 2.4规范的Web应用程序。 - **与其他技术的对比**:Servlet与CGI(通用网关...
Servlet容器是Web服务器或应用服务器的一部分,负责处理HTTP请求,生成响应,并管理Servlet的生命周期。它可以作为Web服务器的插件或嵌入到应用服务器中。容器必须至少支持HTTP/1.0协议,推荐支持HTTP/1.1。在Java 2...
- `destroy()`: 当Servlet对象退出生命周期时调用,释放资源。 Servlet的框架结构围绕着这些方法构建,确保了Servlet的可扩展性和高效性。 #### 结论 Servlet作为J2EE架构的关键组件,不仅提供了一种高效的动态...