Servlet——Servlet概述
Servlet是一个Java程序。一个Servlet应用程序经常包含一个或多个Servlet。JSP页面要被翻译成Servlet,并进行编译。
Web服务器与Web客户端之间通过超文本转移协议(HyperText Transfer Protocol,HTTP)进行通信。
HTTP1.1支持7种请求类型:GET、POST、HEAD、OPTIONS、PUT、DELETE和TRACE。
Web服务器与Web客户端之间通过超文本转移协议(HyperText Transfer Protocol,HTTP)进行通信。
HTTP1.1支持7种请求类型:GET、POST、HEAD、OPTIONS、PUT、DELETE和TRACE。
Servlet API种有4个Java包
javax.servlet 包含定义Servlet与Servlet容器之间契约的类和接口。
javax.servlet.http 包含定义HTTP Servlet与Servlet容器之间契约的类和接口。
javax.servlet.annotation 包含对Servlet、Filter和Listener进行标注的注解。还为标注元件指定元数据。
javax.servlet.descriptor 包含为Web应用程序的配置信息提供编程式访问的类型。
Servlet容器会把Servlet类加载到内存中,并在Servlet实例中调用特定的方法。在一个应用程序中,每个Servlet类型只能有一个实例。
用户请求会引发Servlet容器调用一个Servlet的service方法,并给这个方法传入一个ServletRequest实例和一个ServletResponse实例。ServletRequest封装当前的HTTP请求,以便Servlet的开发者不必解析和操作原始的HTTP数据。ServletResponse表示当前用户的HTTP响应,它的作用是使得将响应回传给用户更容易。
Svrvlet容器还为每个应用程序创建一个ServletContext实例。这个对象封装context的环境细节。每个context只有一个ServletContext。每个Servlet实例还有一个封装Servlet配置信息的ServletConfig。
Servlet接口定义了以下5个方法:
void init(ServletConfig config) throws ServletException
void service(ServletRequest request, ServletResponse response) throws ServletException.java.io.IOException
void destroy()
java.lang.String getServletInfo()
ServletConfig getServletConfig()
init、service和destroy方法属于Servlet生命周期方法。
init 第一次请求Servlet时,Servlet容器就会调用这个方法。在后续的请求中,将不会再调用该方法。可以利用该方法编写一些应用程序的初始化代码。调用时,Servlet容器会传递一个ServletConfig。
service 每次请求Servlet时,Servlet容器都会调用这个方法。在该方法中编写要Servlet完成的相应代码。第一次请求Servlet时,Servlet容器会调用init方法和service方法。对于后续请求,则只调用service方法。
destroy 要销毁Servlet时,Servlet容器就会调用这个方法。通常发生在卸载应用程序,或者关闭Servlet容器的时候。在该方法中可以编写一些资源清理相关的代码。
getServletInfo 返回Servlet的描述
getServletConfig 该方法返回由Servlet容器传给init方法的ServletConfig。

浙公网安备 33010602011771号