什么是Servlet?
Servlet可以用很多方式来描述,这取决于上下文。
是一种技术,它被用来创建一个Web应用程序。
是一个API,它提供了许多接口和类,包括文档。
是一个接口,创建任何Serwlet都必须实现这个接口。
是一个扩展了服务器功能的类,响应任何请求。
是一个网络组件,创建一个动态网页。
Servlet与CGI相比的优势
Servlet有很多优点。Web容器创建线程来处理对Servlet的多个请求。线程比进程有很多好处,比如它们共享一个共同的内存区域,重量轻,线程之间的通信成本低。Servlet的优点有以下几点。
- 更好的性能:因为它为每个请求创建一个线程,而不是进程。
- 可移植性:因为它使用Java语言。
- 稳健:JVM管理Servlet,所以我们不请要担心内存泄漏、垃圾收集等问题。
- 安全性:因为它使用Java语言。
Servlet接口
Servlet接口为所有Servlet提供了共同的行为。Servlet接口定义了所有Servlet必须实现的方法。Servlet接口需要在创建任何servlet(直接或间接)时实现。它提供了3个生命周期方法,用于初始化servlet,为请求提供服务,以及销毁servlet和2个非生命周期方法。
Method | Description |
---|---|
public void init(ServletConfig config) | 初始化Servlet。它是servlet的生命周期方法,只被Web容器调用一次。 |
public void service(ServletRequest request,ServletResponse response) | 为进入的请求提供响应。它在每次请求时被Web容器调用。 |
public void destroy() | 只被调用一次,表示servlet正在被销毁。 |
public ServletConfig getServletConfig() | 返回ServletConfig的对象。 |
public String getServletlnfo() | 返回有关servlet的信息,如作者、版权、版本等。 |