您的位置:首页 > 其它

Servlet的生命周期及其常用覆盖方法的说明 以及在web.xml中配置servlet的属性说明

2013-05-14 20:39 786 查看
一、servlet的生命周期



二、servlet学用覆盖方法说明

@Override

public void init() throws ServletException {

System.out.println("execute init()");

}

@Override

public void init(ServletConfig config) throws ServletException {

System.out.println("execute init(config)");

System.out.println(config.getInitParameter("user"));

}

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

System.out.println("execute doGet()");

}

@Override

protected void doPost(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

System.out.println("execute doPost()");

}

@Override

protected void service(HttpServletRequest arg0, HttpServletResponse arg1)

throws ServletException, IOException {

System.out.println("execute service()");

}

@Override

public void destroy() {

System.out.println("execute destroy()");

}

* 首先从web.xml的配置文件中的url-pattern的虚拟路径找到相应的servlet类。

* 然后创建这个servlet类。首先会执行init()方法或init(config)方法。两者只会执行一个。且只会执行一次。

*

* 之后去调用doGet,doPost方法了。注意,若是servlet覆盖了services方法,那么就不会去调用doGet,doPost方法

* 了,而是只会调用services方法。

*

* 最后,当服务器停止时会去调用 destory方法。

* 另外,在web.xml中可以配置,<init-param>来在servlet首次执行init(config)时候传递参数。

* 若是在web.xml中servlet配置了<load-on-startup>属性,那么在tomcat服务器启动时就会去调用init().

* 注意、当init()和init(config)同时存在时,会默认调用init(config)方法

三、在web.xml中配置servlet的init-param和 load-on-startup

<servlet>

<servlet-name>scope</servlet-name>

<servlet-class>shu.cs.swartz.scopepara.ServletScopePara</servlet-class>

<init-param ><!-- 为servlet进行传递初始化参数,应该在init(config)中进行处理 -->

<param-name>user</param-name>

<param-value>Aaron initparam in servlet config web.xml</param-value>

</init-param>

<load-on-startup>1</load-on-startup> <!-- 该属性的值不为0或空,那么在启动tomcat服务器的时候就会执行自动调用该servlet中init()方法了 -->

</servlet>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: