Servlet

简介

在Web服务器端加载并运行的Java应用程序具体运行在Servlet引擎管理的JVM上。

Servlet容器负责Servlet和用户的通信以及调用Servlet的方法。

Servlet和用户的通信采用请求/响应模式。用于以动态响应客户机请求形式扩展Web服务器(Web Container)的功能。

一个servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。

Servlet与JSP结合使用,能提供更强大的服务器端功能。

知识点

Servlet生命周期

Servlet没有main()方法,不能独立运行,它的运行完全由Servlet引擎来控制和调度。所谓生命周期,指的是servlet容器何时创建servlet实例、何时调用其方法进行请求的处理、何时并销毁其实例的整个过程。

所以简单来说为:

  1. 创建(访问地址时)【但是我们一般不把这步作为生命周期】
  2. 初始化(init)
  3. 服务(service)
  4. 销毁(destory)
具体说明

Servlet的生命周期大致可以分为三个阶段,分别是初始化阶段、运行阶段和销毁阶段。

  1. 初始化阶段

当客户端向Servlet容器发出HTTP请求访问Servlet时,Servlet容器首先会解析请求,检查内存中是否已经有了该Servlet对象,如果有,直接使用该Servlet对象;如果没有,就创建Servlet实例对象,然后通过调用init()方法完成Servlet的初始化。需要注意的是,在Servlet的整个生命周期内,它的init()方法只被调用一次。

  1. 运行阶段

这是Servlet生命周期中最重要的阶段,在这个阶段,Servlet容器会为客户端请求创建代表HTTP请求的ServletRequest对象和代表HTTP响应的ServletResponse对象,然后将它们作为参数传递给Servlet的service()方法。service()方法从ServletRequest对象中获得客户端请求信息并处理该请求,通过ServletResponse对象生成响应结果。在Servlet的整个生命周期内,对于Servlet的每一次访问请求,Servlet容器都会调用一次Servlet的service()方法,并且创建新的ServletRequest和ServletResponse对象,也就是说,service()方法在Servlet的整个生命周期中会被调用多次。

  1. 销毁阶段

当服务器关闭或web应用被移除出容器时,Servlet随着web应用的销毁而销毁。在销毁Servlet之前,Servlet容器会调用Servlet的destroy()方法,以便让Servlet对象释放它所占用的资源。在Servlet的整个生命周期中,destroy()方法也只被调用一次。

Filter生命周期的各个阶段

Filter的生命周期可分为创建、执行、销毁三个阶段。

  1. 创建阶段:Web服务器启动的时候会创建Filter实例对象,并调用init()方法,完成对象的初始化。

  2. 执行阶段:当客户端请求目标资源时,服务器会筛选出符合映射条件的Filter,并按照类名的的先后顺序依次执行doFilter() 方法。

  3. 销毁阶段:服务器关闭时,Web服务器调用destroy()方法销毁Filter对象。

过滤器的基本功能

Filter被称作过滤器或者拦截器,其基本功能就是对Servlet容器调用Servlet的过程进行拦截,它位于客户端和处理程序之间,能够对请求和响应进行检查和修改;还可以提高程序的性能

Listener监听过程中涉及的重要组成部分有哪些

  1. 事件:用户的一个操作,如单击一个按钮、调用一个方法、创建一个对象等。
  2. 事件源:产生事件的对象。
  3. 事件监听器:负责监听发生在事件源上的事件。
  4. 事件处理器:监听器的成员方法,当事件发生的时候会触发对应的处理器(成员方法)。

例题

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

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐