<packaging>war</packaging>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<!--导入依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
// 使用@WebServlet注解,配置该Servlet的访问路径
@WebServlet("/demo1")
public class ServletDemo implements Servlet {
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("hello Servlet");
}
}
Servlet对象由tomcat服务器创建,service方法也是tomcat服务器调用的
启动 tomcat,之后就可进行访问了
C:\Users\hhx\AppData\Local\Temp\archetypetmp\web-demo
Servlet 生命周期
Servlet运行在Servlet容器(web服务器)中,其生命周期由容器来管理:
1.加载和实例化:默认情况下,当 Servlet第一次被访问时,由容器创建 Servlet对象。
@WebServlet(urlPatterns="/demo",loadOnStartup=1)
// loadOnStartup 默认为 -1,第一次被访问时创建 Servlet对象
// 0 或 正整数,服务器启动时创建 Servlet对象,数字越小优先级越高
2.初始化:在Servlet实例化之后,容器将调用 init 方法初始化这个对象,完成一些如加载配置文件,创建连接等初始化的工作,该方法只调用一次
3.请求处理:每次请求Servlet时,Servlet容器都会调用service方法对请求进行处理
4.服务终止:当需要释放内存或者容器关闭时,容器就会调用destroy方法完成资源的释放。destroy方法调用之后,容器就会释放这个Servlet实例,该实例随后被Java的垃圾收集器回收