Servlet笔记
Servlet
servlet入门
创建web项目,导入Servlet依赖坐标
1
2
3
4
5
6<dependency>
<groupld>javax.servlet</groupld>
<artifactld>javax.servlet-api</artifactld>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>创建:定义一个类,实现Servlet接口,并重写接口中所有方法,并在service方法中输入一句话
1
2
3public class ServletDemo1 implements Servlet {
public void service(){}
}配置:在类上使用@WebServlet注解,配置该Servlet的访问路径
1
2
public class ServletDemo1 implements Servlet {}访问:启动Tomcat,浏览器输入URL访问该Servlet:http://localhost:8080/web-demo/demo1
Servlet执行流程
Servlet生命周期
对象的生命周期指一个对象从被创建到被销毁的整个过程。
Servlet运行在servlet容器(web服务器)中,其生命周期由容器来管理,分为4个阶段:
- 加载和实例化:默认情况下,当Servlet第一次被访问时,由容器创建Servlet对象。
- 初始化:在Servlet实例化之后,容器将调用Servlet的 init() 方法初始化这个对象,完成一些如加载配置文件、创建连接等初始化的工作。该方法只调用一次。
- 请求处理:每次请求servlet时,Servlet容器都会调用Servlet的service()方法对请求进行处理。
- 服务终止:当需要释放内存或者容器关闭时,容器就会调用Servlet实例的destroy()方法完成资源的释放。在destroy()方法调用之后,容器会释放这个Servlet实例,该实例随后会被Java的垃圾收集器所回收。
测试用例:
1 | package com.jpc; |
Servlet的urlPattern配置
- 精确匹配:
- 配置路径:@WebServlet(“/user/select”)
- 访问路径:localhost:8080/web-demo/user/select
- 目录匹配:
- 配置路径:@WebServlet( “/user/*”)
- 访问路径:localhost:8080/web-demd/user/aaa,localhost:8080/web-demd/user/bbb
- 扩展名匹配:
- 配置路径:@WebServlet( “*.do” )
- 访问路径:localhost:8080/web-demo/aaa.do,localhost:8080/web-demo/bbb.do
- 任意匹配
- 配置路径:@WebServlet(“/“),@WebServlet(“/*”)
- 访问路径:localhost:8080/web-demo/hhh
- /和/*区别:
- 当我们的项目中的Servlet配置了“/”,会覆盖掉tomcat中的DefaultServlet,当其他的url-pattern都匹配不上时都会走这个Servlet.
- 当我们的项目中配置了“/*”,意味着匹配任意访问路径
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 贾小白博客!