servlet技术原理
什么是servlet?
servlet是用Java编写的运行在web服务器中的程序,它可以调用服务器端的类,也可以被调用。它自己本身就是一个类。
JSP页面在编写完成后,在web引擎中运行前也会被编译器先转换为servlet,再编译成字节码文件,因此servlet和JSP页面是一一对应的。
注意区分:servlet,JavaScript,和javaApplet是有区别的。
servlet是运行在服务器端的程序,JavaScript是运行在客户端浏览器中的脚本程序,javaApplet是运行在客户端的Java小程序。
1 servlet的工作原理。
servlet由web服务器引擎负责编译执行,客户端浏览器访问servlet时,服务器将启动一个线程来响应。
web服务器中的servlet被请求访问时,此servlet被加载到Java虚拟机中,在servlet中要接受HTTP请求并做相应处理。
2 servlet的生命周期
生命周期有以下三个部分:
(1)servlet初始化,servlet是一个类,当第一次客户端被请求时,web服务器引擎首先生成这个类的对象,并加载这个对象,通过这个对象的init() 方法完成初始化的工作。
(2)生成的servlet类的对象调用service() 方法来响应请求。
(3)servlet类的对象自第一次生成后常驻内存直到web服务器关闭。再次请求时,从内存中取出对象响应请求,web服务器被关闭,将调用servlet对象的destroy()方法消除对象。
注:init() 方法只会在第一次请求时被调用一次,只被调用一次。service()方法在每次servlet被请求时都会被执行。