笔记

@bean注入的时候方法名就是bean容器的id。类似map的key
如果重名,后面来的会覆盖前面的
securityfilterchain是通过order来控制顺序的,是通过securityMatcher()来匹配url的
每一个filterchain里包含多个filter。是通过配置项.formLogin()等注入进去的,顺序是不可修改的,但是可以通过addFilterBefore等方法添加自定义filter
spring提供的,OncePerRequestFilter只会被执行一个,避免forword等方法会导致重复执行这个filter

字节数组中的每一个元素都是一个8位(1字节)的二进制数,因此可以表示0~255之间的十进制整数。例如,如果一个字节的二进制表示为01010101,那么它所代表的十进制整数就是85
大写字母A是字母表中的第一个字母,也是ASCII字符集中的第一个字符,其对应的ASCII码为65(十进制)或0x41(十六进制)。在计算机编程中,经常使用大写字母A作为变量名、常量名或函数名的开头,例如数组的第一个元素可能会命名为A[0]。
对于汉字,一般使用Unicode编码进行存储和传输。在Java中,可以使用String类来表示Unicode字符串,可以通过getBytes方法将Unicode字符串转换为字节数组。在Java中,默认情况下会使用UTF-8编码来进行转换。例如,以下代码将字符串"你好"转换为字节数组:

String str = "你好";
byte[] bytes = str.getBytes(); // 使用默认的UTF-8编码进行转换
需要注意的是,对于不同的编码方式,存储汉字所需要的字节数可能不同。例如,UTF-8编码下,一个汉字通常需要占用3个字节,而在GBK编码下,一个汉字只需要占用2个字节。因此,在使用Java处理汉字时,需要根据实际情况选择适合的编码方式,以确保正确地存储和传输汉字数据。

英文字符通常采用ASCII编码,而汉字采用Unicode编码。ASCII编码是一种7位编码,只能表示128个字符,包括英文字母、数字和一些特殊字符。而Unicode编码是一种多字节编码,可以表示世界上几乎所有的字符,包括各种语言的文字、符号、标点等

对于英文来说,采用 ASCII 编码和采用 UTF-8 编码是等价的,因为 ASCII 码表是 UTF-8 码表的一个子集。ASCII 码表共定义了128个字符,每个字符用一个字节(8位)表示。UTF-8 是一种变长的编码方式,对于 ASCII 字符,采用一个字节表示,因此 ASCII 字符使用 UTF-8 编码后的结果和 ASCII 编码的结果一致。

/^/api/
第一个 /:表示正则表达式的起始。
^:匹配字符串的开头。
/api:匹配 /api 字符串。这里的 / 是路径的一部分,由于 / 在正则表达式中有特殊含义,因此需要使用反斜杠 \ 进行转义。
最后一个 /:表示正则表达式的结束。

第一个斜杠 / 只是正则表达式的开始标记,告诉 JavaScript 从哪里开始解析正则表达式。实际匹配内容是正则表达式中间的部分,例如 ^/api。