过滤器监听器面试题都在这里(修订版)

第1章第11节:创建可容纳多行滚动文字的输入框TextEditor [SwiftUI快速入门到实战] TextField可以让用户输入单行的文字内容,若想输入多行的文字内容,可以使用能够容纳多行滚动文字的 TextEditor。 定义一个字符串属性,用来存储用户输入的文字内容。接着定义一个布尔属性,用来标识是否弹出警告窗口,以显示用户输入的内容。 TextEditor是由UIKit中的UITextView演变而来,因此可以在init方法中,通过UITextView修改TextEditor的外观属性。 添加一个VStack视图,作为子视图的容器。 创建一个TextEditor,Te.. 阅读详情

前言

只有光头才能变强。

文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y

以下我是归纳的过滤器监听器知识点图:


640?wx_fmt=png

(原图可以在公众号下回复 “脑图” 获取)

图上的知识点都可以在我其他的文章内找到相应内容。

监听器常见面试题

监听器有哪些作用和用法?

监听器有哪些作用和用法?

Java Web开发中的监听器(listener)就是application、session、request三个对象创建、销毁或者往其中添加修改删除属性时自动执行代码的功能组件,如下所示:

常见的监听器用途主要包括:网站在线人数技术、监听用户的行为(管理员踢人)。

过滤器常见面试题

过滤器有哪些作用和用法?

过滤器有哪些作用和用法?

Java Web开发中的过滤器(filter)是从Servlet 2.3规范开始增加的功能,并在Servlet 2.4规范中得到增强。对Web应用来说,过滤器是一个驻留在服务器端的Web组件,它可以截取客户端和服务器之间的请求与响应信息,并对这些信息进行过 滤。当Web容器接受到一个对资源的请求时,它将判断是否有过滤器与这个资源相关联。如果有,那么容器将把请求交给过滤器进行处理。在过滤器中,你可以改 变请求的内容,或者重新设置请求的报头信息,然后再将请求发送给目标资源。当目标资源对请求作出响应时候,容器同样会将响应先转发给过滤器,再过滤器中, 你可以对响应的内容进行转换,然后再将响应发送到客户端。

常见的过滤器用途主要包括:对用户请求进行统一认证、对用户的访问请求进行记录和审核、对用户发送的数据进行过滤或替换、转换图象格式、对响应内容进行压缩以减少传输量、对请求或响应进行加解密处理、触发资源访问事件、对XML的输出应用XSLT等。

和过滤器相关的接口主要有:Filter、FilterConfig、FilterChain

Java Web常见面试题

web.xml 的作用?

web.xml 的作用?

答:用于配置Web应用的相关信息,如:监听器(listener)、过滤器(filter)、 Servlet、相关参数、会话超时时间、安全验证方式、错误页面等。例如:

①配置Spring上下文加载监听器加载Spring配置文件:

<context-param>     <param-name>contextConfigLocation</param-name>    <param-value>classpath:applicationContext.xml</param-value>  </context-param>  <listener>     <listener-class>       org.springframework.web.context.ContextLoaderListener     </listener-class>  </listener>  
   <param-name>contextConfigLocation</param-name>  
  <param-value>classpath:applicationContext.xml</param-value>  
</context-param>  

<listener>  
   <listener-class>  
     org.springframework.web.context.ContextLoaderListener  
   </listener-class>  
</listener>  

②配置Spring的OpenSessionInView过滤器来解决延迟加载和Hibernate会话关闭的矛盾:

<filter>    <filter-name>openSessionInView</filter-name>    <filter-class>       org.springframework.orm.hibernate3.support.OpenSessionInViewFilter    </filter-class>  </filter>  <filter-mapping>    <filter-name>openSessionInView</filter-name>    <url-pattern>/*</url-pattern>  </filter-mapping>  
  <filter-name>openSessionInView</filter-name>  
  <filter-class>  
     org.springframework.orm.hibernate3.support.OpenSessionInViewFilter  
  </filter-class>  
</filter>  

<filter-mapping>  
  <filter-name>openSessionInView</filter-name>  
  <url-pattern>/*</url-pattern>  
</filter-mapping>  

③配置会话超时时间为10分钟:

<session-config>    <session-timeout>10</session-timeout>  </session-config>  
  <session-timeout>10</session-timeout>  
</session-config>  

④配置404和Exception的错误页面:

[html] view plaincopy在CODE上查看代码片派生到我的代码片 <error-page>    <error-code>404</error-code>    <location>/error.jsp</location>  </error-page>  <error-page>    <exception-type>java.lang.Exception</exception-type>    <location>/error.jsp</location>  </error-page>  <error-page>  
  <error-code>404</error-code>  
  <location>/error.jsp</location>  
</error-page>  

<error-page>  
  <exception-type>java.lang.Exception</exception-type>  
  <location>/error.jsp</location>  
</error-page>  

⑤配置安全认证方式:

<security-constraint>    <web-resource-collection>      <web-resource-name>ProtectedArea</web-resource-name>      <url-pattern>/admin/*</url-pattern>      <http-method>GET</http-method>      <http-method>POST</http-method>    </web-resource-collection>    <auth-constraint>      <role-name>admin</role-name>    </auth-constraint>  </security-constraint>  <login-config>    <auth-method>BASIC</auth-method>  </login-config>  <security-role>    <role-name>admin</role-name>  </security-role>  
  <web-resource-collection>  
    <web-resource-name>ProtectedArea</web-resource-name>  
    <url-pattern>/admin/*</url-pattern>  
    <http-method>GET</http-method>  
    <http-method>POST</http-method>  
  </web-resource-collection>  
  <auth-constraint>  
    <role-name>admin</role-name>  
  </auth-constraint>  
</security-constraint>  

<login-config>  
  <auth-method>BASIC</auth-method>  
</login-config>  

<security-role>  
  <role-name>admin</role-name>  
</security-role>  

【补 充1】从Servlet 3开始,可以不用在web.xml中部署Servlet(小服务)、Filter(过滤器)、Listener(监听器)等Web组件,Servlet 3提供了基于注解的部署方式,可以分别使用@WebServlet、@WebFilter、@WebListener三个部署小服务、过滤器、监听器。

【补充2】如果Web提供了有价值的商业信息或者是敏感数据,那么站点的安全性就是必须考虑的问题。安全认证是实现安全性的重要手段,认证就是要解决“Are you who you say you are?”的问题。认证的方式非常多,简单说来可以分为三类:

A.What you know?  --口令

B.What you have? --数字证书(U盾、密保卡)

C.Who you are? -- 指纹识别、虹膜识别

在Tomcat中可以通过建立安全套接字层(Secure Socket Layer, SSL)以及通过基本验证或表单验证来实现对安全性的支持。

Servlet 3中的异步处理指的是什么?

Servlet 3中的异步处理指的是什么?

答: 在Servlet 3中引入了一项新的技术可以让Servlet异步处理请求。有人可能会质疑,既然都有多线程了,还需要异步处理请求吗?答案是肯定的,因为如果一个任务处 理时间相当长,那么Servlet或Filter会一直占用着请求处理线程直到任务结束,随着并发用户的增加,容器将会遭遇线程超出的风险,这这种情况下 很多的请求将会被堆积起来而后续的请求可能会遭遇拒绝服务,直到有资源可以处理请求为止。异步特性可以帮助应用节省容器中的线程,特别适合执行时间长而且 用户需要得到结果的任务,如果用户不需要得到结果则直接将一个Runnable对象交给Executor(如果不清楚请查看前文关于多线程和线程池的部 分)并立即返回即可。

开启异步处理代码:

@WebServlet(urlPatterns = {"/async"}, asyncSupported = true)  public class AsyncServlet extends HttpServlet {      private static final long serialVersionUID = 1L;      @Override      public void doGet(HttpServletRequest req, HttpServletResponse resp)               throws ServletException, IOException {          // 开启Tomcat异步Servlet支持          req.setAttribute("org.apache.catalina.ASYNC_SUPPORTED", true);          final AsyncContext ctx = req.startAsync();  // 启动异步处理的上下文          // ctx.setTimeout(30000);          ctx.start(new Runnable() {              @Override              public void run() {                  // 在此处添加异步处理的代码                  ctx.complete();              }          });      }  }  "/async"}, asyncSupported = true)  
public class AsyncServlet extends HttpServlet {  
    private static final long serialVersionUID = 1L;  

    @Override  
    public void doGet(HttpServletRequest req, HttpServletResponse resp)   
            throws ServletException, IOException 
{  
        // 开启Tomcat异步Servlet支持  
        req.setAttribute("org.apache.catalina.ASYNC_SUPPORTED", true);  

        final AsyncContext ctx = req.startAsync();  // 启动异步处理的上下文  
        // ctx.setTimeout(30000);  
        ctx.start(new Runnable() {  

            @Override  
            public void run() {  
                // 在此处添加异步处理的代码  

                ctx.complete();  
            }  
        });  
    }  
}  


最后

乐于输出干货的Java技术公众号:Java3y。公众号内有200多篇原创技术文章、海量视频资源、精美脑图,不妨来关注一下!

640?wx_fmt=jpeg

有帮助?好看!转发!640


AutoSAR配置视频讲解:新建DaVinci工程 AutoSAR实验视频讲解:闪烁一颗LED实验【新建DaVinci工程】 上一篇 | 下一篇 | 总目录 实验架构图 视频本频放在了文末,下图描述了本次实验配置内容在AutoSAR架构中的位置,供大家参考 实验内容 本节课程讲解新建DaVinci工程,听上去新建工程很简单,但是还是需要很多的准备工作和细节。主要内容是新建工程和导入dbc文件和导入arxml文件的方法 主要步骤 新建DaVinci工程 导入.dbc通信矩阵文件 导入Mcal的arxml文件 实验视频2:Mcal配置 提示:版权所在,违 阅读详情

相关推荐

如何在n8n中高效调用playwright-mcp实现浏览器自动化(附避坑指南)

本文详细介绍了在n8n中高效集成playwright-mcp实现浏览器自动化的全流程指南,包括环境准备、工作流设计与优化、高级技巧与性能调优以及调试与问题排查。通过克服实际部署中的各种挑战,帮助用户打造稳定高效的自动化解决方案,特别适合需要浏览器自动化的工作流场景。

weixin_30379531的博客 387

过滤器监听器面试题都在这里

以下我是归纳的过滤器监听器知识点图: 图上的知识点都可以在我其他的文章内找到相应内容。 如果文章有错的地方欢迎指正,大家互相交流。习惯在微信看技术文章的同学,可以关注微信公众号:Java3y 监听器常见面试题 监听器有哪些作用和用法? 监听器有哪些作用和用法? Java Web开发中的监听器(listener)就是application...

weixin_33751566的博客 294

精通DC-DC变换器:Boost升压电路全解析

Boost升压变换器是一种将低直流电压转换为高直流电压的常用电路。其核心工作原理是通过电感储能:开关导通时电感充电,关断时电感与电源串联向负载供电。关键公式表明输出电压Vo=Vi/(1-D),占空比D越大,升压比越高。变换器工作时会产生电感电流纹波和输出电压纹波,需合理选择电感和电容参数。开关管和二极管需承受完整的输出电压,对元器件选型要求较高。理解这些原理是设计高效升压电源的基础。

2511_92918351的博客 3709

java web上下文监听_天天面试-请谈谈你对Javaweb开发中的监听器的理解?

Java Web开发中的监听器(listener)就是application、session、request三个对象创建、销毁或者往其中添加修改删除属性时自动执行代码的功能组件,如下所示:①ServletContextListener:对Servlet上下文的创建和销毁进行监听。②ServletContextAttributeListener:监听Servlet上下文属性的添加、删除和替换。③Ht...

weixin_42363565的博客 304

PIC单片机应用开发实践教程(二): 新建工程

File---New ProjectMicrochip Embedded --- Standalone Project 选择所用MCU对应型号 点击 Finish 后,工程就建好了 至止,我们的一个新工程就建完成了!

qq_57798018的博客 2888

实战分享:如何利用svchost进程绕过360防护(附完整Shellcode注入教程)

本文深入解析系统进程安全防护机制,探讨svchost等关键进程的安全特性与防护策略。详细分析安全软件的行为检测和内存保护技术,提供系统加固与监控实践建议,助力企业构建多层次防御体系,有效应对潜在安全威胁。

weixin_30752699的博客 99

JavaWeb第6章过滤器和监听器 课后习题

JavaWeb程序设计任务驱动教程主编:蓝敏周伟敏杨茜东北林业大学出版社课后习题 1.在实际开发中,定义过滤器只需要实现(B)接口即可。 A.FilterConfig B.Filter C.FilterChain D.MyFilter 2.以下哪种编码符不支持中文(B) A.UTF-8 B.ISO-8859-1 C.GBK D.MyFilter 3.在请求过滤处理后,需要调用chain参数的(doFilter)方法将请求向下传递给下一过滤器或者目标资源。 4.Servlet...

WHT869706733的博客 2280

盘点军工行业软件研发的那些常用GJB标准

GJB5000、2786、438、141、102、8114等...

文章主要涉及嵌入式软件开发、测试、项目管理等,欢迎交流,共同进步。 9450

前端面试题解答(十六)

前端面试题解答(十六)

xh888zw的博客 310

AI工具 | 每个打工人必备的15款人工智能超级工具

不过,还是有一些靠谱的人工智能平台,它们可不只是营销噱头。有些AI公司正试图改变游戏规则。人工智能工具让人们能够更聪明地工作,而不是更辛苦地劳作。如果你想知道未来有什么,那就来看看这10款人工智能工具吧,它们将彻底改变我们的工作方式。

Vampire_2017的博客 5万+

C2000ware介绍

C2000的下载安装指南C2000目录。

小柚子的博客 2796

【面试题】说说过滤器和拦截器

拦截器和过滤器其实都是AOP编程思想的实现都可以体现例如权限的检查 日志的记录等功能Servlet规范中三个技术(顺序为L F S)Filter是sun公司中servlet2.3后增加的一个新功能,在javaEE中定义了一个接口来描述过滤器Filter是包下的一个接口主要有以下三个方法多个Filter对同一个资源进行了拦截,那么当我们在开始的Filter中执行时,是访问下一下Filter,直到最后一个Filter执行时,它后面没有了Filter,才会访问web资源。

会飞的架狗师的博客 590

使用 Python 实现基于 AGA8 GERG - 2008 方程计算掺氢天然气压缩因子的示例代码

AGA8 GERG - 2008 方程是用于计算天然气混合物热力学性质的一种方法,下面是一个使用 Python 实现基于 AGA8 GERG - 2008 方程计算掺氢天然气压缩因子的示例代码。需要注意的是,AGA8 GERG - 2008 方程非常复杂,完整实现需要大量的系数和详细的计算步骤。这里我们简化了部分过程,使用CoolProp库来完成计算,因为CoolProp已经实现了 GERG - 2008 方程。

AI的内部世界的博客 887

javaweb过滤器_过滤器监听器面试题都在这里(修订版)

前言只有光头才能变强。文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y以下我是归纳的过滤器监听器知识点图:(原图可以在公众号下回复 “脑图” 获取)图上的知识点都可以在我其他的文章内找到相应内容。监听器常见面试题监听器有哪些作用和用法?监听器有哪些作用和用法?Java Web开发中的监听器(listener)就是ap...

weixin_39711721的博客 128

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

filter过滤后重新添加_过滤器监听器面试题都在这里(修订版)

前言只有光头才能变强。文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y以下我是归纳的过滤器监听器知识点图:(原图可以在公众号下回复 “脑图” 获取)图上的知识点都可以在我其他的文章内找到相应内容。监听器常见面试题监听器有哪些作用和用法?监听器有哪些作用和用法?Java Web开发中的监听器(listener)就是ap...

weixin_33483080的博客 106

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

收藏的技术文章

Java实现六种经典排序算法

想握住此生辽阔 259

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

java高频面试题-基础篇

设计模式通常包括创建型模式(用于对象的创建)、结构型模式(用于类和对象的组合)、行为型模式(用于对象之间的通信和职责分配)等几种类型。每种模式都有其特定的应用场景和解决方案,例如工厂模式用于创建对象、单例模式用于确保一个类只有一个实例、观察者模式用于对象之间的发布-订阅通信等。设计模式是在软件开发中常见的解决问题的模式化方法。它提供了一种简洁的模板语法,可以将数据和DOM进行绑定,实现数据驱动的视图。分层开发是一种软件开发的组织结构,它将软件系统划分为不同的层次或模块,每个层次或模块负责不同的功能。

如果你想拥有更多的人生选择,你必须拥有更多的知识。-- 来自u011437883的博客 388

04-过滤器与监听器(一)Listener-含练习代码与截图

04-过滤器与监听器(一) 一大早的起来看看视频,一过程的打瞌睡,要了老命,休息会儿开始做跟着敲代码,才醒了过来,具体视频是aliyun的java学习噢,纯手工笔记哈哈哈: (一)-Listener,监听器 01- 概念: 一个接口,内容可自定义; 需要注册,例如注册在按钮上; 其中的方法,会在特殊事件发生时被 调用; 观察者: 事件源; 事件; 监听器; 事件源(三大域): ServletContext 生命周期监听;servletContextListener 两个方法,创建时,销毁时;

qq_48146525的博客 228

IT兄弟连 JavaWeb教程 过滤器与监听器经典面试题

1.谈谈你对Servlet过滤器的理解 过滤器是Servlet2.3规范中定义的一种小型的、可插入的Web组件。用来拦截Servlet容器的请求和响应过程,以便查看、提取客户端和服务器之间正在交换的数据。过滤器通常是封装了一些功能的Web组件,这些功能很重要,但对于处理客户端请求或发送响应来说不是决定性的。典型的应用包括记录请求和响应的数据、管理会话属性等。 2.简述什么是监听器 监听web应...

weixin_34107955的博客 203

最近收集的一些面试题

15K的面试问题最近遇到一些比较有代表性,有点挑战性的面试题, 大概集中这几个方面: 1.性能的优化 2.功能的实现原理 3.基础知识的掌握程度 4.新技术的了解 关于这些问题,觉得下面几篇无论是文章的逻辑,文章的深度都是写得比较好的,希望对一些应聘者有所帮助.1. JNI 的调用怎么做优化? 思路: 在 Java 中声明一个 native 方法,然后生成本地接口的函数原型声明,再用 C/C++

林锐波 3769

Java三大器之过滤器(Filter)的工作原理和代码演示

一、Filter简介   Filter也称之为过滤器,它是Servlet技术中最激动人心的技术之一,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态html文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等 一些高级功能。   Servlet API中提供了

reggergdsg的博客 10万+

Filter 过滤器和 Listener 监听器

目录 一、Filter 过滤器 1、概述 2、开发步骤 3、过滤器执行流程 4、过滤器生命周期 5、过滤器配置问题 6、过滤器链(配置多个过滤器) 二、Listener 监听器 1、ServletContextListener 接口 2、开发步骤 一、Filter 过滤器 1、概述 当访问服务器资源时,Filter 过滤器可以将请求拦截下来,完成一些特殊的处理,其作...

ONESTARの博客 1996

经典面试题-过滤器的用法

首先要实现(implements)Filter 接口,同时覆盖Filter 接口的三个方法: init(FilterConfig config) //用于获得FilterConfig 对象; doFilter(ServletRequest request, ServletResponse response, FilterChain chain) //进行过滤处理一些业务; destroy() /...

逍遥云恋 629

面试题总结:filter过滤器、interceptor拦截器 区别

过滤器和拦截器的区别   ①拦截器是基于java的反射机制的,过滤器是基于函数回调。   ②拦截器不依赖与servlet容器,过滤器依赖于servlet容器。   ③拦截器只能对action请求起作用,过滤器则可以对几乎所有的请求起作用。   ④拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。   ⑤在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时...

ScorpC的博客 2338

Filter过滤器工作原理

Filter过滤器工作原理 Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术之一,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态html文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等 一些高级功能。   Servlet API中提...

Sadlay的博客 8631

Spring面试题整理

Spring 概述 1. 什么是spring? spring 是个Java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。 2. 使用Spring框架的好处是什么? 轻量:Spring 是轻量的,基

二狗家有矿 1万+
上一篇: 还在使用SimpleDateFormat?你的项目崩没?
下一篇: 监听器应用【统计网站人数、自定义session扫描器、踢人小案例】(修订版)
Java3y
Java3y 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 1万+粉丝 509原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值