【javaweb三大组件】

2020-07-06  本文已影响0人  giraffecode9668

一、Listener监听器

1、概述

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

2、使用

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

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

<listener>
    <listener-class>xxx</listener-class>
</listener>

二、Filter过滤器

1、概述

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

2、使用

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

<filter>
    <filter-name>filterName</filter-name>
    <filter-class>xxx</filter-class>
</filter>
<filter-mapping>
    <filter-name>filterName</filter-name>
    <url-pattern>/</url-pattern>
</>

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的拦截路径

三、Servlet

1、概述

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

2、实现

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

<servlet>
    <servlet-name>ServletName</servlet-name>
    <servlet-class>xxx</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>ServletName</servlet-name>
    <url-pattern>/xxx</url-pattern>
</servlet-mapping>

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对象。

作用:

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

6、ServletContext

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

作用:

.getInitParameter("");

<context-param>
    <param-name>xxx</param-name>
    <param-value>xxx</param-value>
</context-param>
.setAttribute("","");
.getAttribute("");
上一篇 下一篇

猜你喜欢

热点阅读