Filter的介绍

拦截路径配置

拦截所有资源:/*

具体资源路径:/myServlet/demo1

拦截目录:/myServlet/*

后缀名被拦截:*.jsp


Filter的介绍

拦截路径配置

过滤器的拦截路径一般有这4种方式

  • 拦截所有资源:/*,访问所有的资源,过滤器都会被执行
  • 具体资源路径:/myServlet/demo1,只有访问myServlet/demo1资源时,过滤器才会被执行
  • 拦截目录:/myServlet/*,访问/myServlet下所有资源是,过滤器都会被执行
  • 后缀名被拦截:*.jsp,访问后缀名为jsp资源时,过滤器都会被执行

下面我们就举例演示这4种方式

来2个Servlet,资源路径分别取为/myServlet/demo1和/myServlet/demo2,一个jsp页面,myJSP.jsp,一个过滤器demo1

/myServlet/demo1代码

package com.lingaolu.servlet;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;/*** @author 林高禄* @create 2020-08-04-19:34*/
@WebServlet("/myServlet/demo1")
public class Demo1 extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("/myServlet/demo1执行了......");}@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request, response);}
}

/myServlet/demo2代码

package com.lingaolu.servlet;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;/*** @author 林高禄* @create 2020-08-04-19:34*/
@WebServlet("/myServlet/demo2")
public class Demo2 extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("/myServlet/demo2执行了......");}@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request, response);}
}

myJSP.jsp代码

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>我的JSP</title>
</head>
<body><% System.out.println("myJSP进来了......");%>
</body>
</html>

过滤器demo1代码

package com.lingaolu.filter;import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;/*** @author 林高禄* @create 2020-08-04-9:42*/
@WebFilter("/*")
public class Demo1 implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {System.out.println("demo1过滤器进来了......");filterChain.doFilter(servletRequest,servletResponse);System.out.println("demo1过滤回来了......");}@Overridepublic void destroy() {}
}

拦截所有资源:/*

现在我们的过滤器demo1的拦截路径就是/*,启动项目

访问myJSP.jsp,过滤器执行了

访问myServlet/demo1,过滤器执行了

访问myServlet/demo2,过滤器执行了

可见上面的拦截路径的配置,把所有的路径都被拦截了

具体资源路径:/myServlet/demo1

我们把过滤器的拦截路径改为/myServlet/demo1,启动项目

访问myJSP.jsp,过滤器没有执行

访问myServlet/demo1,过滤器执行了

访问myServlet/demo2,过滤器没有执行

可见上面的拦截路径的配置,只拦截了myServlet/demo1

拦截目录:/myServlet/*

我们把过滤器的拦截路径改为/myServlet/*,启动项目

访问myJSP.jsp,过滤器没有执行

访问myServlet/demo1,过滤器执行了

访问myServlet/demo2,过滤器执行了

可见上面的拦截路径的配置,只拦截了myServlet/资源目录下的资源

后缀名被拦截:*.jsp

我们把过滤器的拦截路径改为*.jsp,启动项目

访问myJSP.jsp,过滤器执行了

访问myServlet/demo1,过滤器没有执行

访问myServlet/demo2,过滤器没有执行

可见上面的拦截路径的配置,只拦截了后缀名为jsp的资源

Filter过滤器的拦截路径配置相关推荐

  1. java过滤器的执行顺序_Java Filter过滤器(拦截路径的配置+拦截方式的配置+生命周期+多个过滤器的先后执行顺序)...

    Java Filter过滤器+Listen监听器 啥是过滤器 顾名思义即过滤掉一些东西,比如我们经历的高考中考都是过滤器,他过滤掉一些在学习这一方面不是很好的人,而那些成绩好的人则升入高中,大学. 但 ...

  2. Filter过滤器的拦截方式配置

    Filter的介绍 拦截方式配置 REQUEST:默认值.浏览器直接请求资源 FORWARD:转发访问资源 INCLUDE:包含访问资源 ERROR:错误跳转资源 ASYNC:异步访问资源 多种拦截方 ...

  3. Filter过滤器拦截路径配置

    在Filter中拦截路径配置有四种形式 具体资源路径拦截:@WebFilter("/index.jsp") //这是指访问index.jsp的时候会经过过滤器 具体目录拦截:@We ...

  4. Filter_细节_过滤器拦截路径配置

    过滤器配置详解     * 拦截路径配置:         1. 具体资源路径: /index.jsp   只有访问index.jsp资源时,过滤器才会被执行         2. 拦截目录: /us ...

  5. java过滤器 配置路径_Filter过滤器拦截路径配置

    在Filter中拦截路径配置有四种形式 具体资源路径拦截:@WebFilter("/index.jsp") //这是指访问index.jsp的时候会经过过滤器 具体目录拦截:@We ...

  6. Spring Filter过滤器,Spring拦截未登录用户权限限制

    实现的功能:判断用户是否已登录,未登录用户禁止访问任何页面或action,自动跳转到登录页面. 比较好的做法是不管什么人都不能直接访问jsp页面,要访问就通过action,这样就变成了一个实实在在的权 ...

  7. Filter 过滤器拦截路径配置

    具体资源拦截: /index.jsp 只有访问/index.jsp资源时, 过滤器才会被执行 @WebFilter("/index.jsp") public class Filte ...

  8. Filter过滤器的例子与注解配置

    概念 作用 创建 创建web项目 定义类实现Servlet接口,实现其抽象方法 配置Filter 原理 注解配置 过滤器放行 Filter的生命周期 Filter的拦截路径 Filter的拦截方式 F ...

  9. Filter 过滤器的使用

    目录 一.Filter简介 二.Filter使用 1.Filter 的初体验 2.Filter 的生命周期 3.FilterConfig类 4.FilterChain过滤器链 5.Filter 的拦截 ...

最新文章

  1. setleft android,android TextView的setCompoundDrawables()方法
  2. oculus rift 开发入门
  3. git 将暂存区文件提交_Git知识
  4. OnClick,OnClientClick和OnServerClick的区别
  5. c现代方法8.2节 deal.c程序自己编写
  6. 低功耗设计——功耗估算
  7. 7-1 字母统计图 (10 分)(思路+详解)
  8. MySQL/MariaDB的response time插件
  9. 天梯赛L2-010 排座位(并查集和\set)
  10. penpyxl 格式_【上海校区】数据集.npy格式与png格式互换
  11. Energetically Consistent Invertible Elasticity
  12. 计算机软件编程英语词汇集锦
  13. 光电编码器的原理及应用场合_光电编码器原理及应用电路
  14. 使用n2disk和PF_RING构建一个(便宜的)2×10 Gbit(连续)数据包记录器
  15. leetcode【中等】781、森林中的兔子
  16. 【elasticsearch报错】 blocked by: [SERVICE_UNAVAILABLE/1/state not recovered / initialized];
  17. IDEA修改Git仓库远端地址,处理服务器ip发生变化的情况
  18. fastposter 1.6.0 发布 电商级海报生成器
  19. vue-currency-input 金额组件的安装及使用
  20. python爬虫微博图片_python爬取微博图片及内容

热门文章

  1. 【板栗糖GIS】arcmap—关于色带的那些事儿(综合篇)不断更新~
  2. Flutter Stack Align Positioned
  3. 已知3个人说了真话,1个人说的是假话,通过编程确定说假话的人
  4. 微信小程序webview内嵌H5页面缓存
  5. java class getfield_Java Class类 getField()方法及示例
  6. android python opencv_Python、C++、Android OpenCV 开发环境的配置
  7. HanLP-停用词表的使用示例
  8. loam 框架流程描述
  9. C++ 模块累积的理解
  10. CGB2005-京淘20