一、Servlet概述:
Servlet是运行在web服务器端的一个java小程序,简单来说,它就是一个java类。
Servlet它是一个资源,是用来被用户访问的资源,同时是一个动态资源,它是由sun指定的servlet规范。
Servlet主要用于处理客户端传来的HTTP请求,并返回一个响应,它能够处理的请求有doGet()和doPost()等方法。
在使用servlet时,需要导入javax.servlet下的jar包。比如:tomcat服务器提供了 servlet的servlet-api.jar包,所以在开发时用tomcat服务器就不需要再导入servlet的jar包。
Servlet由Servlet容器提供,所谓的Servlet容器是指提供了Servlet 功能的服务器(本书中指Tomcat),Servlet容器将Servlet动态地加载到服务器上。与HTTP 协议相关的Servlet使用HTTP请求和HTTP响应与客户端进行交互。因此,Servlet容器支持所有HTTP协议的请求和响应。Servlet应用程序的体系结构如图所示。
Servlet的请求首先会被HTTP服务器接收,HTTP服务器只负责静态HTML页面的解析,对于Servlet的请求转交给Servlet容器,Servlet容器会根据web.xml文件中的映射关系,调用相应的Servlet,Servlet将处理的结果返回给Servlet容器,并通过HTTP服务器将响应传输给客户端。
二、Servlet的接口和实现类:
1、Servlet的接口:javax.servlet.Servlet
需要注意的是,表中提及的Servlet容器指的是Web服务器。
2、GenericServlet
是一个抽象类,该类为Servlet接口提供了部分实现,它并没有实现HTTP请求处理。
3、HttpServlet
是GenericServlet的子类,它继承了GenericServlet的所有方法,并且为HTTP请求中的POST、GET等类型提供了具体的操作方法。
通常情况下,编写的Servlet类都继承自HttpServlet,在开发中使用的具体的Servlet对象就是HttpServlet对象。HttpServlet的常用方法及其说明如下表所示。