Java 过滤器与拦截器详解在 Java Web 开发中,过滤器和拦截器是两种常用的机制,分别用于对 HTTP 请求和响应进行处理。它们虽然有些相似,但用途和实现方式存在一些关键区别。
📘 过滤器(Filter)在 Java 项目中,使用过滤器(Filter)的流程主要包括以下步骤:
1. 创建过滤器类过滤器需要实现 javax.servlet.Filter 接口,并重写其中的三个方法:
init(FilterConfig filterConfig):用于初始化过滤器。
doFilter(ServletRequest request, ServletResponse response, FilterChain chain):核心逻辑处理方法。
destroy():用于销毁过滤器实例。
示例代码12345678910111213141516171819202122232425262728import javax.servlet.*;import javax.servlet.annotation.WebFilter;import java.io.IOException;@WebF ...
Java 集合导学List和Map相关的面试题,比较高频就是
ArrayList
LinkedList
HashMap
ConcurrentHashMap
ArrayList底层实现是数组
LinkedList底层实现是双向链表
HashMap的底层实现使用了众多数据结构,包含了数组、链表、散列表、红黑树等
在讲解这些集合之后,我们会讲解数据结构,知道了数据结构的特点之后,熟悉集合就更加简单了。在讲解数据结构之前,我们也会简单普及一下算法复杂度分析,让大家能够评判代码的好坏,也能更加深入去理解数据结构和集合。
1 算法复杂度分析1.1 为什么要进行复杂度分析?我们先来看下面这个代码,你能评判这个代码的好坏吗?
123456789101112/** ** *求**1~n**的累加和 ** @param* *n ** @return*/public int sum(int n) { int sum = 0; for ( int i = 1; i <= n; i++) { sum = sum + i; } retu ...
目标
能够使用映射配置文件实现CRUD操作
能够使用注解实现CRUD操作
1,配置文件实现CRUD
如上图所示产品原型,里面包含了品牌数据的 查询 、按条件查询、添加、删除、批量删除、修改 等功能,而这些功能其实就是对数据库表中的数据进行CRUD操作。接下来我们就使用Mybatis完成品牌数据的增删改查操作。以下是我们要完成功能列表:
查询
查询所有数据
查询详情
条件查询
添加
修改
修改全部字段
修改动态字段
删除
删除一个
批量删除
我们先将必要的环境准备一下。
1.1 环境准备
数据库表(tb_brand)及数据准备
1234567891011121314151617181920212223-- 删除tb_brand表drop table if exists tb_brand;-- 创建tb_brand表create table tb_brand( -- id 主键 id int primary key auto_increment, -- 品牌名称 brand_name varchar(20), ...