一、servlet简介
servlet是一门专门用于开发动态web资源的技术,并且是按照servlet的标准编写的一个Java类。他可以对web浏览器或者其他HTTP客户端程序发出的请求进行处理。Servlet的使用和JSP不同,它需要web.xml文件的配置。当一个客户端发出HTTP请求时,服务器会根据配置文件中的配置信息将该请求的信息发送给相对应的Servlet进行处理。
二、servlet的作用
servlet是处理客户端的请求并将其发送到客户端。
三、servlet的运行机制
servlet程序由Web服务器调用,web服务器收到客户端的servelet访问请求后执行:
四、tomcat和servlet的关系
Tomcat 是Web应用服务器,是一个Servlet/JSP容器. Tomcat 作为Servlet容器,负责处理客户请求,把请求传送给Servlet,并将Servlet的响应传送回给客户.而Servlet是一种运行在支持Java语言的服务器上的组件. Servlet最常见的用途是扩展Java Web服务器功能,提供非常安全的,可移植的,易于使用的CGI替代品.
五。servelet的生命周期
1、init()方法
在一个Servlet的生命周期中,init方法只会被执行一次,之后无论用户执行多少次请求,都不会在调用该方法。
关于init方法的执行时机,有两种方式可选,一般的是在服务器启动后第一个用户请求改Servlet是调用,也可以设置该Servlet在服务器启动后自动执行。
init()方法负责简单的创建或者加载一些数据,这些数据将用于该Servlet的整个生命周期中。
2、service()方法
当一个客户请求改Servlet时,实际的处理工作全部有service方法来完成,service方法用来处理客户端的请求,并生成格式化数据返回给客户端。
每一次请求服务器都会开启一个新的线程并执行一次service方法,service根据客户端的请求类型,调用doGet、doPost等方法
3、destroy()方法
该方法在整个生命周期中,也是只会被调用一次,在Servlet对象被销毁是调用,在servlet中,我们可以做一些资源的释放等操作,执行destory方法之后的servlet对象,会等待jvm虚拟机的垃圾回收机制择时回收。
4、doGet(),doPost()方法
实际的业务处理流程,service根据客户端的请求类型来自动匹配需要执行那个方法。
5、servlet的xml配置
Servlet在使用之前需要进行一定的配置,来告诉服务器被请求的Servlet应该发到哪里。这其实就是一个Servlet在服务器的注册过程,这样服务器就会知道哪个Servlet请求对应哪个Servlet对象。配置过程通常分为Servlet的声明和Servlet的映射两部分。