JavaWeb三大组件(Filter&Listener&Ajax)

1.Filter

1.1概念:

filter表示过滤器,是JavaWeb的三大组件之一(Servlet,Filter,Listener)。

过滤器可以把资源的请求拦截下,从而实现特殊功能。

过滤器一般完成一些通用操作。 如权限控制,统一编码处理,敏感字符处理

1.2.filter快速入门

定义类,实现filter接口,重写所有方法

``

public class filterDemo implements Filter(要选javax Servlet类) {
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {}
@Override
public void init(FilterConfig filterConfig) throws ServletException {}
@Override
public void destroy() {}
}

配置Filter拦截资源路径,在类上定义注解@WebFilter

``

@WebFilter("/*")
public class FilterDemo implements Filter {

// ("/*")表示拦截所有

在doFilter方法中输出话,并放行

filter拦截路径的配置

执行逻辑:

拦截路径表示 Filter 会对请求的哪些资源进行拦截,使用 @WebFilter 注解进行配置。如:@WebFilter("拦截路径")

拦截路径有如下四种配置方式:

  • 拦截具体的资源:/index.jsp:只有访问index.jsp时才会被拦截

  • 目录拦截:/user/*:访问/user下的所有资源,都会被拦截

  • 后缀名拦截:*.jsp:访问后缀名为jsp的资源,都会被拦截

  • 拦截所有:/*:访问所有资源,都会被拦截

1.3.过滤器链的概述

1.3.1概念:

是指在一个Web应用,可以配置多个过滤器,这多个过滤器称为过滤器链。

如下图就是一个过滤器链。

1.3.2执行流程:
  1. 执行 Filter1 的放行前逻辑代码

  2. 执行 Filter1 的放行代码

  3. 执行 Filter2 的放行前逻辑代码

  4. 执行 Filter2 的放行代码

  5. 访问到资源

  6. 执行 Filter2 的放行后逻辑代码

  7. 执行 Filter1 的放行后逻辑代码

以上流程串起来就像一条链子,故称之为过滤器链

我们现在使用的是注解配置Filter,而这种配置方式的优先级是按照过滤器类名(字符串)的自然排序。

在实际问题要根据实际过滤,列如 登陆注册

2.Listener

2.1 概述

  • Listener 表示监听器,是 JavaWeb 三大组件(Servlet、Filter、Listener)之一。

  • 监听器可以监听就是在 applicationsessionrequest 三个对象创建、销毁或者往其中添加修改删除属性时自动执行代码的功能组件。

    request 和 session 我们学习过。而 applicationServletContext 类型的对象。

    ServletContext 代表整个web应用,在服务器启动的时候,tomcat会自动创建该对象。在服务器关闭时会自动销毁该对象。

2.2 分类

JavaWeb 提供了8个监听器:

这里面只有 ServletContextListener 这个监听器后期我们会接触到,ServletContextListener 是用来监听 ServletContext 对象的创建和销毁。

ServletContextListener 接口中有以下两个方法

 void contextInitialized(ServletContextEvent sce)`:`ServletContext` 对象被创建了会自动执行的方法
 void contextDestroyed(ServletContextEvent sce)`:`ServletContext` 对象被销毁时会自动执行的方法

3.AJAX

3.1 概述

==AJAX (Asynchronous JavaScript And XML):异步的 JavaScript 和 XML。==

我们先来说概念中的 JavaScriptXMLJavaScript 表明该技术和前端相关;XML 是指以此进行数据交换。

3.1.1 作用

AJAX 作用有以下两方面:

  1. 与服务器进行数据交换:通过AJAX可以给服务器发送请求,服务器将数据直接响应回给浏览器。如下图

我们先来看之前做功能的流程,如下图:

  • 30
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值