Servlet学习笔记 Servlet原理
一、Servlet基础
1、Servlet执行过程
用户请求一个Servlet,Servlet容器自动构建请求和响应对象,然后执行Servlet的service()方法,该方法会接收请求和响应对象,通过响应对象将处理结果发送给用户。
2、怎么请求Servlet
用户通过一个URL来请求一个Servlet。比如:[url]http://localhost:8080/HelloApp/HelloServlet[/url]
3、怎么处理请求
当用户请求Servlet时,容器构建ServletRequest对象request,并传递给Servlet的Service()方法,Service通过request对象获取到请求的参数,然后,根据参数做出相应的处理,通过ServletResponse对象来向客户端发送响应内容。
4、怎么响应客户端
当用户请求一个Servlet时候,容器会自动创建ServletResponse对象response,然后通过response对象向客户端发送响应内容。
5、Servlet的生命周期
a、Servlet的class经过部署,并启动容器
b、(当请求该Servlet时候)容器自动创建Servlet对象xServlet,然后xServlet调用其init()方法。到此,Servlet初始化结束。
c、一旦客户端请求该Servlet,xServlet自动调用service()来处理请求。
d、一旦很长时间都没有请求该Servlet(或者说该Servlet超时),则容器会将xServlet从容器中清除掉。
二、Servlet接口API
1、接口五个方法
2、Servlet的分支
3、Servlet的请求对象ServletRequest
4、Servlet的响应对象ServletResponse
5、Http相关的Servlet
三、总结
1、Servlet是一种规范,称为Servlet规范,是J2EE规范的一部分。
2、Servlet规范定义了Servlet相关的一组接口、其实现是由Servlet容器开发商来实现,类似于JDBC驱动。
3、Servlet的也是类,其对象是通过Servlet容器来创建,Servlet只能在Servlet容器中运行。打个比方说:容器是青山,Servlet是松柏。
4、当客户端请求Servlet时,容器会做两件事情:
a、Servlet容器会将请求自动组装为一个ServletRequest对象,并自动产生一个ServletResponse对象,这两个对象一并传递给Servlet的service(request,response)方法。
b、在该Servlet对象上调用service(request,response)方法来处理并响应用户的请求。
5、用户无法直接调用Servlet的方法,也无法去创建Servlet的实例。