Java Servlet重要知识点总结

Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。虽然现在被许多主流框架代替了,但是这些主流框架都是基于Servlet(JSP已过时),如现在常用的SpringMVC框架,所以理解Servlet的底层原理还是很有必要的,这样方便对SpringMVC框架的理解

一、Servlet的生命周期

Servlet 对象是有生命周期的,所谓的生命周期,就是启动一个 Servlet 必定会执行的一组方法,生命周期执行的每个方法是有顺序的。Servlet的生命周期顺序为:

  1. 创建,调用的是构造方法
  2. 初始化,调用 init()方法
  3. 服务,调用 service(…)方法
  4. 销毁,调用destory

所谓的生命周期就是说,这四个方法是不需要人工干预,是 Servlet 自动配调用的四个方法。只要启动了一个 Servlet。这个四个方法是必须被调用的!!

问题:这个生命周期对于我们开发人员有什么用?

初始化 init(),用于在启动的时候,就加载一些参数
服务 service(),用于接收请求(包括了 doGet\doPost\doHead…)

注意事项:重写了 service()方法,doGet\DoPost 会失效!!!
在这里插入图片描述

其实重写 service()方法,表示不管什么请求,统一拦截!!!
销毁:destroy():在 servlet 对象被注销的时候调用。

二、Servlet 参数的设置

我们希望,在 Servlet 启动的时候,就在 web.xml 设置一些静态属性。
问题 1:为什么需要在 web.xml 设置属性呢?
答:目的是为了,初始化参数可以打包以后也可以修改。
问题 2:如何实现 Servlet 将静态参数配置在 web.xml 呢?
答:servlet 是支持初始化参数配置的!!
第一步:在 web.xml 配置初始化参数
在这里插入图片描述
第二步:在 Servlet 类里面获得该参数
在这里插入图片描述
三、设置 Servlet 随 tomcat 启动而启动

问题:默认情况下,Servlet 对象是在请求过来以后才创建对象的!!如果我们希望在 Tomcat 启动的
那一个时刻就启动 Servlet 呢?
答:Servlet 技术是支持通过配置,让 Servlet 对象随 Tomcat 启动而启动的!
在这里插入图片描述
1:设置值为 0~5.优先级别。根据设置的序号从 0 开始,来执行
servlet 的顺序。如果优先级别相同,就从上到下执行。
注意:-1,表示启动不执行。(默认值)

四、Servlet 映射路径

映射路径支持,标准路径,也支持通配符(*)路径。

  1. 标准路径
    a. 标准路径必须要以/ 开头。
    b. 标准路径可以是一级的,也可以是多级的。
    –请求路径只要和映射路径一一对应
    如:请求路径:http://localhost:8080/web-demo-03-url/user/live
    映射路径:/user/live
    在这里插入图片描述
    2、通配符路径
    Servlet 是支持通配符路径,通配符就是使用(*)号来支持,servelet 拦截一个范围的请求!!
    需求 1:编写一个 servlet 拦截所有的请求
    在这里插入图片描述
    需求 2:拦截有/user/开头的请求
    在这里插入图片描述
    需求 3.拦截以.do 结尾的请求
    在这里插入图片描述

五、常用的 ServletAPI 说明

Application Program Interface,应用程序接口。应用程序接口不等同我们 Java 里面的接口!!
应用程序接口的意思是,对外提供使用的程序入口。包括(类、接口、枚举、注解等要素)
如:JDK 基础类库的文档,称为 JDK API 帮助文档。可以理解为 JDK 对外提供的类、接口、枚举、注
解等要素的帮助文档。

  1. HttpServlet (Servlet 类,就是用于定义接收页面请求,然后处理业务代码的一个 servlet 的父
    类)
  2. HttpServletRequest ,请求,用于获得请求信息(如:路径、端口、数据等)
  3. HttpServletResponse,响应,用于输出动态页面,输出流、重定向等。
  4. ServletConfig,Servlet 初始化参数配置接口,用于获得 web.xml 的初始化参数

在这里插入图片描述
总结:

  1. 生命周期,所谓的生命周期就是启动一个 servlet 对象后必须执行的几个方法。
  2. 生命周期是有顺序:创建、初始化、服务、销毁
  3. servlet 的启动配置
  4. servlet 的参数配置
  5. servlet 的映射路径的配置

猜你喜欢

转载自blog.csdn.net/qq_41936224/article/details/108831489