前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Servlet生命周期

Servlet生命周期

作者头像
手撕代码八百里
发布2020-07-28 16:18:52
3140
发布2020-07-28 16:18:52
举报
文章被收录于专栏:猿计划猿计划

Servlet生命周期

先创建一个简单的项目

目录结构如下:

在这里插入图片描述
在这里插入图片描述

创建HelloServlet类,实现Servlet接口

为了方便演示,这里对每个方法进行了打印操作。

代码语言:javascript
复制
package com.zhenghui;

import java.io.IOException;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class HelloServlet implements Servlet{

	@Override
	public void destroy() {
		System.out.println("destroy");
	}

	@Override
	public ServletConfig getServletConfig() {
		System.out.println("getServletConfig");
		return null;
	}

	@Override
	public String getServletInfo() {
		System.out.println("getServletInfo");
		return null;
	}

	@Override
	public void init(ServletConfig config) throws ServletException {
		System.out.println("init");
	}

	@Override
	public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
		System.out.println("service");
	}
	
	public HelloServlet() {
		System.out.println("This is a HelloServlet");
	}

}

编辑web.xml进行Servlet的映射及配置

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>JavaWeb_HelloWord</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list> 
  
  <!--配置servlet  -->
  <servlet>
  	<!--Servlet 注册的名字  -->
  	<servlet-name>helloServlet</servlet-name>
  	<!--Servlet 的全类名  -->
  	<servlet-class>com.zhenghui.HelloServlet</servlet-class>
  </servlet>
  
 <!--映射servlet  -->
  <servlet-mapping> 
    <!--需要和某一个Servlet的servlet-name子节点的文本节点一致  -->
  	<servlet-name>helloServlet</servlet-name>
  	<!--映射具体的访问路径:/代表当前WEB应用的根目录-->
  	<url-pattern>/hello</url-pattern>
  </servlet-mapping>  
  
</web-app>

启动,测试

在这里插入图片描述
在这里插入图片描述

刷新测试 由于我刷新了好几次,所以会打印多了service

在这里插入图片描述
在这里插入图片描述

关闭服务测试

在这里插入图片描述
在这里插入图片描述

由前面两个实验可以看得出,Servlet生命周期生效的有四个方法,分别为:

1、构造方法:只被调用一次,只有第一次请求Servlet时,创建Servlet时被调用。
2、init方法:只被调用一次。在创建好实例后立即被调用。用于初始化当前Servlet。
3、service方法:被多次调用。每次请求都会调用。相应请求的。
4、destroy方法:只被调用一次,在当前Servlet所在的web应用在被关闭前调用。用于释放当前Servlet所占用的资源。

其他

代码语言:javascript
复制
<!--可以指定Servlet被创建的时机  -->
<load-on-startup>2</load-on-startup>
代码语言:javascript
复制
 <!--配置servlet  -->
  <servlet>
  	<!--Servlet 注册的名字  -->
  	<servlet-name>helloServlet</servlet-name>
  	<!--Servlet 的全类名  -->
  	<servlet-class>com.zhenghui.HelloServlet</servlet-class>
  	<!--可以指定Servlet被创建的时机  -->
  	<load-on-startup>2</load-on-startup>
  </servlet>
  
    <!--配置servlet  -->
  <servlet>
  	<!--Servlet 注册的名字  -->
  	<servlet-name>ceshiServlet</servlet-name>
  	<!--Servlet 的全类名  -->
  	<servlet-class>com.zhenghui.ceshiServlet</servlet-class>
  	<!--可以指定Servlet被创建的时机  -->
  	<load-on-startup>5</load-on-startup>
  </servlet>
  
 <!--映射servlet  -->
  <servlet-mapping> 
    <!--需要和某一个Servlet的servlet-name子节点的文本节点一致  -->
  	<servlet-name>helloServlet</servlet-name>
  	<!--映射具体的访问路径:/代表当前WEB应用的根目录-->
  	<url-pattern>/hello</url-pattern>
  </servlet-mapping>  
  
  
   <!--映射servlet  -->
  <servlet-mapping> 
    <!--需要和某一个Servlet的servlet-name子节点的文本节点一致  -->
  	<servlet-name>ceshiServlet</servlet-name>
  	<!--映射具体的访问路径:/代表当前WEB应用的根目录-->
  	<url-pattern>/ceshi</url-pattern>
  </servlet-mapping>  
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Servlet生命周期
    • 先创建一个简单的项目
      • 创建HelloServlet类,实现Servlet接口
        • 编辑web.xml进行Servlet的映射及配置
          • 启动,测试
            • 关闭服务测试
              • 由前面两个实验可以看得出,Servlet生命周期生效的有四个方法,分别为:
          • 其他
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档