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文件中的初始化参数信息。
以上是关于Servlet life cycle的主要内容,如果未能解决你的问题,请参考以下文章