servlet,全称Java Servlet,是用Java编写的服务器端程序。而这些Servlet都要实现Servlet这个接口。其主要功能在于交互式的浏览和修改数据,生成动态Web内容。Servlet运行于支持Java的应用服务器中。
Servlet产生背景和主要作用
我们都知道网页有静态和动态之分。静态的只能看看,而动态可以实现客户端和服务器的交互,比如登录的功能,我们输入用户名和密码后提交到服务器,服务器会处理这些信息,如果正确的话则进入主页。若不正确,则给出提示信息。这是我们很常实现的例子,可是我们有没有想过:客户端到服务器之间这个交互的过程是怎么实现的?之前我没有想过。直到遇到了Servlet.Servlet是Java中用来处理BS架构下,客户端请求的响应处理。
servlet处理请求的原理:
客户端发送HTTP请求,容器(如tomcat)会读取web.xml文件,可能会请求servlet、jsp、htnl、png或者jpg。如果解析到servlet,在还没有创建servlet实例的时候,会进行第一次创建并且调用一次init()方法。有了第一次的建立过后,就可以调用servlet()方法,servlet再给出响应返回容器,容器再返回响应给客户端。
Servlet 生命周期
servlet只会初始化一次,也就是创建一个servlet对象而且指挥进行一次即init()方法,调用这个方法时,Servlet容器会传入一ServletConfig对象进来从而对Servlet对象进行初始化。
然后,调用service( )方法,每当请求Servlet时,Servlet容器就会调用这个方法。后续的请求中,Servlet容器只会调用service方法了(不必再进行servlet的实例创建)。
最后,调用destroy()方法(关闭服务器也行),销毁创建的Servlet实例。