什么是Servlet:
Servlet是运行在web服务器端(web容器,如tomcat)的程序,它与Applet相对,Applet是运行在客户端的程序。
Servlet的主要作用是处理客户端的请求,并把处理结果响应给客户端。生成动态网页。
Servlet的本质:
Servlet的本质是实现了javax.servlet.Servlet接口的Java类。javax.servlet.GenericServlet实现了Servlet接口,实现了Servlet基本的特征和功能,能够接受客户端发出的请求和产生响应信息。而javax.servlet.http.HttpServlet又继承了javax.servlet.GenericServlet类,所以我们编写的Servlet继承HttpServlet即可。
它的整个过程为:(Servlet的生命周期)
客户端发送请求给服务器端(Tomcat)。(若容器还不存在Servlet的实例,则容器先加载Servlet类,然后创建一个ServletConfig对象,这里包含了Servlet的初始化配置信息。并创建一个Servlet实例,然后通过Servlet实例的init()方法初始化该实例。)
容器接收到客户端请求,创建ServletRequest和ServletResponse对象,再调用service(ServletRequest req,ServletResponse res)方法,通过servletRequest对象获得请求的信息,通过servletResponse对象生成这个请求的相应结果。然后销毁ServletRequest和ServletResponse对象。
Web终止时,servlet容器调用servlet对象的destroy()方法,然后销毁servlet,同时也销毁servlet对象相关联的servletConfig对象,释放servlet所占用的资源。
其中init()和destroy()方法在整个生命周期内只执行一次。
GET请求和POST请求的区别: