Servlet的处理流程
1,客户端(浏览器之类)连接上Web服务器,并发送http/https请求(GET,POST)
2,Web服务器接收到请求后,这有几个小步骤:a,解析确定要访问的主机;
b,解析确定要访问的Web应用;
c,解析确定要访问的Web资源;
d,查看该Servlet是否为第一次调用,是,则创建一个Servlet实例并执行第3步,否则,调用已有的实例.执行第4步
3,调用Servlet对象的init方法,初始化Servlet的信息,创建代表request响应的response,然后调用servlet的service方法响应客户端
4,service方法执行
5,service方法返回.
6,服务器从response中取出数据,构建一个http响应,回写给客户端
7,客户端解析http响应,提取数据显示.
Servlet实例被摧毁的情况:
1,从服务器中移除web应用,
2,重启Web服务器.
在Servlet的整个生命周期内,Servlet的init方法只能被调用一次,而对一个Servlet的每次访问都导致Servlet引擎调用一次Servlet的service方法.对于每次访问请求,Servlet引擎都会创建一个新的HttpServletRequest请求对象和一个新的HttpServletResponse响应对象 , 然后将这两个对象作为参数传递给Servlet的service方法,其再根据请求方式分别调用doXXX方法.
如果在<Servlet>元素中配置一个<load-on-startup>元素,那么WEB引用程序在启动时,就会装载并创建Servlet的实例对象,以及调用Servlet实例对象的init方法.
<servlet>
<servlet-name>invoke</servlet-name>
<servlet-class>xxx</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
作用: 为web应用写一个InitServlet,这个servlet配置为启动时装载,为整个web应用创建必须的数据库表和数据.
772

被折叠的 条评论
为什么被折叠?



