Servlet life cycle

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Servlet life cycle相关的知识,希望对你有一定的参考价值。

 

 

init()

 

    init方法是初始化参数服务的。
只要servlet在web.xml文件中配置了,
那么一定会执行init方法。
servlet实例只创建一次,所以init初始化函数只在第一次请求时调用一次。
    有时候希望在servlet首次载入时,执行复杂的初始化任务,但并不想每个请求都重复这些任务的时候,用init()方法他在servlet初次创建时被调用,之后处理每个用户的请求时,则不在调用这个方法。因此,他主要用于一次性的初始化,和applet的init方法相同。

由于servlet初始化参数的使用非常依赖于部署描述文件(web.xml),该文件可存放servlet所需要的起始参数以及web应用程序的结构数据。容器启动的时候会根据web.xml中的配置去调用Servlet中的init方法。在用户请求的时候去执行doPost or doGet方法。当servlet容器读取web.xml文件内容后。可以将这些起始参数封装成一个对象并在调用init方法时传递个servlet,这个对象就是ServletConfig对象所以我们可以在Servlet内覆写init方法,并通过ServletConfig对象来取得某些初始参数。

以init参数的名称为参数,调用ServletConfig的getInitParameter方法。返回值就是init参数的值。


config.getInitParameter() vs req.getParameter()

ServletRequest中的public String getParameter( String name )


          它用来获取客户端(.html)通过get或post方法等传递过来的值,是从客户端传递过来的,一般指的是客户端提


          交的表单组件的值(eg:  <form action="servlet/AddServlet" method=GET )


ServletConfig中的public void String getInitParameter( String name )


          它用来获取Servlet的配置文件(web.xml)的初始化参数的信息,也就是我们自己的web应用程序根目录下的WEB-


          INF目录下的web.xml文件中的初始化参数信息。

         init() 源码

 

 

以上是关于Servlet life cycle的主要内容,如果未能解决你的问题,请参考以下文章

servlet 的生命周期

Light Life 小组Alfha冲刺(第二天)

Servlet的生命周期

Servlet的生命周期

JavaWeb之Servlet

Servlet的本质?它是如何工作的?大白话