【javaweb三大组件】

一、Listener监听器

1、概述

Listener是JavaEE的规范(接口)
作用:监听某种事物的变化,通过回调函数,反馈给客户(程序)去做一些响应的处理。

2、使用

ServletContextListener监听器
它监听ServletContext对象的创建和销毁。当创建和销毁时调用方法contextInitializedcontextDestroyed

使用步骤:
1、编写实现类,实现方法
2、web.xml配置Listener


    xxx

二、Filter过滤器

1、概述

Listener是JavaEE的规范(接口)
作用:拦截请求,过滤响应
拦截请求场景:

  • 权限检查
  • 日记操作
  • 事务管理

2、使用

使用步骤:
1、编写实现类实现接口Filter,实现doFilter方法
2、web.xml配置filter和filter-mapping


    filterName
    xxx


    filterName
    /

3、Filter生命周期

1、构造器方法
2、init初始化方法
    1/2步,在web启动的时候执行(Filter已经创建)
3、doFilter过滤方法
    每次拦截请求,执行一次
4、destroy销毁方法
    停止web,执行(销毁Filter对象)

4、FilterConfig类

Filter过滤器的配置文件类
每次创建Filter的时候,也会同时创建一个FilterConfig类,这里包含了Filter配置文件的配置信息

FilterConfig类的作用是获取filter过滤器的配置内容
1、获取Filter的名称filter-name的内容:.getFilterName()
2、获取在Filter中配置的init-param初始化参数.getInitParameter("")
3、获取ServletContext对象:.getServletContext()

5、FilterChain类

image.png

6、Filter的拦截路径

  • 精确匹配/xxx.html
  • 目录匹配/*
  • 后缀名匹配*.html(不能以/开头)

三、Servlet

1、概述

规范(接口)
是运行在服务器上的一个java小程序。可以接收客户端发送过来的请求,并响应数据给客户端

2、实现

1、编写实现Servlet接口
2、实现service方法,处理请求,响应数据(service方法专门用来处理请求和响应的)
3、到web.xml中配置servlet程序的访问地址


    ServletName
    xxx



    ServletName
    /xxx

3、url访问过程

image.png

4、Servlet的生命周期

1、servlet构造器方法
2、init初始化方法
    - 1/2在第一次访问,调用
3、service方法
    - 每次访问调用一次
4、destroy销毁方法
    - 停止web调用

继承HttpServlet
重写doGet(doPost)方法

5、ServletConfig

Servlet程序和ServletConfig对象都是由Tomcat负责创建,我们负责使用。
Servlet程序默认是第一次访问的时候创建,ServletConfig是每个Servlet程序创建时,就创建一个对应的ServletConfig对象。

作用:

  • 可以获取Servlet程序的别名servlet-name的值.getServletName()
  • 获取初始化值init-param.getInitParameter("")
  • 获取ServletContext对象.getServletContext()

获取Config:getServletConfig()
初始化Config:在初始方法中保存config

6、ServletContext

接口,表示Servlet上下文对象
一个web工程,只有一个ServletCOntext对象实例
是一个域对象
ServletContext在Web启动创建,停止销毁

作用:

  • 获取web.xml中配置的上下文参数context-param
.getInitParameter("");


    xxx
    xxx

  • 获取当前的工程路径,格式:/工程路径
    .getContextPath()
  • 获取工程部署后在服务器硬盘上的绝对路径
    .getRealPath("/")
  • 像Map一样存取数据
.setAttribute("","");
.getAttribute("");

你可能感兴趣的:(【javaweb三大组件】)