Servlet简介
Servlet是什么
泛指运行在web服务器、邮件服务器或者其他服务器端的小程序。Sun只提供了Servlet的一系列标准,具体的jar包实现则由各个服务器如tomcat来提供。
Servlet接口的体系结构
所有接口在javax.servlet包及子包中,其中Servlet接口是最顶层的父接口,最重要的方法是service,会被服务器直接调用。
GenericServlet是实现了Servlet接口的抽象类,通用Servlet。
HttpServlet是GenericServlet类的子类,是专门用来被web服务器调用的Servlet,也是个抽象类,所以我们自己写的Servlet继承这个类,重写方法即可。
常用的有doGet和doPost方法,当客户端请求一个url地址的时候,会调用这个Servlet的doGet方法,从form表单中点击提交并且form的method是post的时候会调用这个Servlet的doPost方法。
如何调用Servlet
首先在tomcat的webapps目录中创建一个web application文件夹,在里面添加一个WEB-INF文件夹,这个是所有的web application必须要有的文件夹,里面的文件主要是被tomcat调用。在WEB-INF中再添加classes文件夹,这个文件夹用来放Servlet编译后的class文件,然后再添加一个web.xml文件,用来配置web application,格式如下:

上面是一个Servlet完整的配置信息,其中servlet-name是Servlet的名字,可以随意取,servlet-class一定要和class的名字一致,url-pattern是访问这个Servlet的url地址,可以随意取,但最前面一定要加/
Servlet的生命周期
当客户端第一次发送http请求到服务器的某个web application时,服务器通过web.xml中的配置,找到对应的Servlet class,然后调用构造函数创建一个实例,并调用init方法,然后调用service方法,对于http来说就是doGet或者doPost方法,然后等待客户端的下一次http请求,但不会再创建新的实例,而是使用第一次创建的实例,且不再调用init方法,只调用doGet或者doPost方法,直到web application退出,再调用destory方法,至此Servlet的整个生命周期结束。
浙公网安备 33010602011771号