JavaWeb入门—Servlet生命周期

版权声明:. https://blog.csdn.net/WildestDeram/article/details/87187950

Servlet生命周期

生命周期指创建到销毁的过程。

Servlet生命周期中有5个阶段:

1.装载-Web.xml:

当Tomcat启动时,会扫描工程中的Web.xml文件。在xml中对Servlet进行声明和绑定URL。注意:此时只是解析并不是创建,是知道Serlvet的存在

2.创建-构造函数

在第一次访问Servlet对应的URL时,Tomcat会对该Servlet类进行创建对象 ,并执行构造函数

3.初始化-init()

通过默认的init()方法对Servlet进行初始化,此时Servlet就创建成功了

4.提供服务-service()

当对Servlet进行访问时,就会提供访问服务,比如:doGet()、doPost()、service()。

5.销毁-destory()

当Tomcat重启或者关闭时,Servlet就会执行 destory()

init()和destory()方法可以通过eclipse来生成:Source——Override/Implement Methods——GenericServlet

其中init()选择使用init(ServletConfig)。

index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"> 
<title>Insert title here</title>
</head>
<body>
	<form action="/ServletDemo1/sape">
		姓名:<input name="name"><br><br>
		<input type="submit" value="提交">
	</form>
</body>
</html>

Web.xml

<?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>ServletDemo1</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-name>IN</servlet-name>
  	<servlet-class>javaDemo.NameDemo</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>IN</servlet-name>
  	<url-pattern>/sape</url-pattern>
  </servlet-mapping>
</web-app>

NameDemo.java

package javaDemo;

import java.io.IOException;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class NameDemo extends HttpServlet {
	
	//构造方法
	public NameDemo() {
		System.out.println("正在创建NameDemo");
	}
	
	@Override	//初始化方法
	public void init(ServletConfig config) throws ServletException {
		System.out.println("初始化NameDemo对象");
	}

	// service()方法
	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response) 
			throws ServletException, IOException {
		String name = request.getParameter("name");
		//控制台输出
		
		response.getWriter().println("<h1>"+name+"</h1>");
	}

	@Override	//销毁
	public void destroy() {
		System.out.println("销毁Servlet对象");
	}

	
}

猜你喜欢

转载自blog.csdn.net/WildestDeram/article/details/87187950
今日推荐