Servlet的原理是什么?

Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。[1]其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。最早支持Servlet标准的是JavaSoft的Java Web Server。此后,一些其它的基于Java的Web服务器开始支持标准的Servlet。

原理:
1、Servlet执行过程

用户请求一个Servlet,Servlet容器自动构建请求和响应对象,然后执行Servlet的service()方法,该方法会接收请求和响应对象,通过响应对象将处理结果发送给用户。

2、怎么请求Servlet

用户通过一个URL来请求一个Servlet。

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的实例。

你可能感兴趣的:(java,servlet)