Filter、Listener
Filter(过滤器)
概念:
对请求参数、请求头以及响应参数进行过滤。一般用于完成通用的操作,如:登录验证、统一编码处理、敏感字符过滤...。
代码:
public class FilterDemo implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
//进行初始化一些信息,服务器启动时
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
//进行请求的过滤
System.out.println("filterDemo1被执行了....");
//放行
filterChain.doFilter(servletRequest,servletResponse);
//对响应内容进行过滤
System.out.println("filterDemo1被执行了22....");
}
@Override
public void destroy() {
//进行销毁,服务器正常关闭时
}
}
过滤器web.xml配置:
<filter>
<filter-name>demo1</filter-name>
<filter-class>cn.itcast.web.filter.FilterDemo1</filter-class>
</filter>
<filter-mapping>
<filter-name>demo1</filter-name>
<!-- 拦截路径 -->
<url-pattern>/*</url-pattern>
</filter-mapping>
- 拦截路径配置
- 具体资源路径: /index.jsp 只有访问index.jsp资源时,过滤器才会被执行。
- 拦截目录: /user/* 访问/user下的所有资源时,过滤器都会被执行。
- 后缀名拦截: *.jsp 访问所有后缀名为jsp资源时,过滤器都会被执行。
- 拦截所有资源:/* 访问所有资源时,过滤器都会被执行。
- 注解
@WebFilter
Listener(监听器)
定义:
由事件、事件源、监听器、注册监听组成事件监听机制。注册监听将事件、事件源、监听器绑定在一起。 当事件源上发生某个事件后,执行监听器代码。
方法(举例一个监听ServletContext对象的创建和销毁):
public class ServletContextDemo implements ServletContextListener{
public void contextInitialized(ServletContextEvent sce) {
System.out.println("ServletContext初始化时执行该代码");
}
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("ServletContext销毁时执行该代码");
}
}
监听器web.xml配置:
<listener>
<listener-class>cn.itcast.web.listener.ContextLoaderListener</listener-class>
</listener>
- 注解
@WebListener
Filter、Listener的更多相关文章
- Servlet、Filter、Listener、Interceptor
首先,JSP/Servlet规范中定义了Servlet.Filter.Listener这三种角色,并没有定义Interceptor这个角 色,Interceptor是某些MVC框架中的角色,比如Str ...
- servlet、filter、listener、interceptor之间的区别和联系
一.概念 1.servlet:servlet是一种运行服务器端的java应用程序,具有独立于平台和协议的特性,并且可以动态的生成web页面,它工作在客户端请求与服务器响应的中间层. 2.filter: ...
- j2ee Servlet、Filter、Listener
首先,JSP/Servlet规范中定义了Servlet.Filter.Listener这三种角色,并没有定义Interceptor这个角色,Interceptor是某些MVC框架中的角色,比如Stru ...
- Filter、Listener 学习总结
今天我们来介绍 Filter.Listener 这两个模块一些简单的知识和应用,接下来我们开始我们的正题 ! 1. Filter(过滤器) 1.1 对 Servlet 容器调用 Servlet 的过程 ...
- SpringBoot 配置 Servlet、Filter、Listener
SpringBoot 配置 Servlet.Filter.Listener 在SpringBoot应用中,嵌入式的 Servlet 3.0+ 容器不会直接使用 ServletContainerInit ...
- 【SpringBoot】SpringBoot拦截器实战和 Servlet3.0自定义Filter、Listener
=================6.SpringBoot拦截器实战和 Servlet3.0自定义Filter.Listener ============ 1.深入SpringBoot2.x过滤器Fi ...
- SpringBoot注册Servlet、Filter、Listener
SpringBoot默认是以jar包的方式启动嵌入式的Servlet容易来启动SpringBoot的Web应用,没有web.xml文件 因此我们可以使用以下方式来注册Servlet.Filter.Li ...
- spring boot(18)-servlet、filter、listener
servlet.filter.listener的用法就不讲了,只讲如何在spring boot中配置它们.有两种方式,一种是从servlet3开始提供的注解方式,另一种是spring的注入方式 ser ...
- Servlet、Filter、Listener总结
servlet规范提供了一组标准的servlet api.servlet容器就是servlet规范的实现. 1.In Action (1)写一个类继承HttpServlet: (2)重写其中的方法. ...
- SpringBoot(四)-- 整合Servlet、Filter、Listener
SpringBoot中有两种方式可以添加 Servlet.Filter.Listener. 1.代码注册 通过ServletRegistrationBean. FilterRegistrationBe ...
随机推荐
- CS起源-havana地图红方打法分析
作者:海底淤泥 havana是美国第一人称射击游戏<反恐精英>中的地图之一,编号为cs_havana,这张地图发生在古巴哈瓦那的某座城市中,恐怖分子们挟持了几名美裔的重要政治人物,以此为筹 ...
- Google Chrome调整控制台的位置
众所周知,控制台是开发必备的工具,学会流畅的使用控制台会给我们的开发带来不一样的体验,但是控制台的位置有时却是困扰我们的一件事,控制台默认是在浏览器内,有时十分妨碍我们,那么有没有什么办法修改控制台的 ...
- KMM
目录 概 主要内容 Huang J., Smola A., Gretton A., Borgwardt K. & Scholkopf B. Correcting Sample Selectio ...
- [数据结构]严蔚敏版(C数据结构)配套实现程序111例
以下为根据严蔚敏版数据结构的示例和概念实现的程序 目录 一.严蔚敏版(C数据结构)配套实现程序111例 1.数组与字符串 2.栈与队列 3.链表LinkList 4.树与二叉树 5.排序相关算法 6. ...
- Java初学者作业——分析计费规则后,编写程序输入乘坐出租车的时间和里程数,计算里程价格
返回本章节 返回作业目录 需求说明: 某城市的出租车计费规则如下: 在 7:00 - 23:00 之间,3km 以内收取起步价 10 元,超过 3km 每 km 收取 2 元. 如果不在这个时间段,在 ...
- 【工具】Java转换exe
一.导出jar包 eclipse中对着要转换的项目,右键,导出 搜索jar,选择jar文件,下一步 选择要输出的项目 继续下一步 选择主程序 完成 二.下载及安装exe4j,并转换jar文件为exe文 ...
- CSS过渡、CSS动画
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <script s ...
- Linux_grep命令
搜索内容 命令格式如下 grep 参数 "搜索的内容" 搜索路径 注:搜索路径可缺省,缺省时,默认搜索当前目录以及其子目录下所有文件 显示文件名+内容: grep -r " ...
- Java带包结构调用命令行运行编译
原文: https://www.toutiao.com/i6491809562037846542/ 带包结构调用命令行运行编译. 记事本编写两个简单的类 文件结构目录 启动DOS,进入文件所在目录 分 ...
- day 19 C语言顺序结构基础2
(1).算术运算符和圆括号有不同的运算优先级,对于表达式:a+b+c*(d+e),关于执行步骤,以下说法正确的是[A] (A).先执行a+b的r1,再执行(d+e)的r2,再执行c*r2的r3,最后执 ...