00:02
啊啊呃,接下来呢,给大家去讲一个额外的一个东西啊,是什么呢?哎,就是我们这个对中文的一个处理啊啊大家这个之前是遇到了啊,我们来今天来把它去讲一下哈,呃,大家来注意呃,现在我这个项目呢,是能正常运行的,你看我去点击添加,当我加的时候呢,我加了一个中文对吧?啊比如说加了一个email啊,就随便加个吧,中文是吧,艾特c com,然后呢,男的比如说DBB部门的吧,来加一下。啊,大家来注意这个数据就加进来了,然后你就会发现这个是不是乱码啊是吧,OK,我们就来去处理这个问题,呃,那这个问题是因为什么导致的呢?就是因为我们这个编码是啊,哎,不统一的,不一致的。明白吧,编码是不统一的,不一致的,好,那么我们所要做的事情是什么呢?来听我讲我们在这个Java web中怎么去解决这个问题,大家还记得吗?
01:02
是不是通过request sitecoding啊,对不对,OK,但现在的话呢,我们肯定不可能再直接操作request,因此在spring mvc中如何解决中文乱码问题呢?它通过一个过滤器来解决的,而这个过滤器呢,我带你去找一下,叫做。好,Incoding filter啊,这是我们的这个过滤器啊,来点进来,它需要加一个web包,我们把这个web包呢,给它加一加,啊加上我们来读一下它的这个源代码。啊,外包。在这啊,我给它加上好,加上以后我们看一下它就是一个过滤器,然后呢,看过滤器的话,我们主要是看了这个do filter internal这个方法,在这个方法里面大家分析啊,我们一下子呢,就看到了这样一个代码,是不是我们以前设置过的代码,对吧?哦,那我就知道了,如果说我能让这一行代码升上,并且呢,这个地方有一个引扣点,我能把这个引扣点呢,给它设置成我们想要的utf杠八,诶这样是不是就可以了,对吧?所以说我们就来分析,那如何能让它生效呢?来听我讲,首先它判断这个encoding不等于空,那么我们来看一下encoding默认情况下啥都没有,那就是一个空吧。
02:20
对不对,所以说现在的话呢,这个条件肯定是不满足的,并且呢,这次点false encoding来看一下这个false encoding,它又是等于false,那么这个家伙是一个force,那你看force,但是呢,他获者了一个。这个东西request getcoding,因为我们没有设置过,所以说呢,这个地方它获取到的是什么呀。是不是就是一个nu啊对吧,那么这个条件整个是满足的,但是呢,因为前面的不满足,所以说呢,它这个是没设置上的,那我们怎么去使用这个过滤器呢?我们就希望诶把这个过滤器配上,并且呢能让这个条件满足,而且呢,这个位置设置的是一个UTF杠八,我们的编码是不是统一了,所以说我们要做的事情其实特别简单,既然你能配置过滤器,那么其实我也能让过滤器呢,配上一个初始化参数,我给你的这个encoding做一个初始化是不是就可以了,所以说你看了哈,我们要做的事情就是来到我们的外部点查秒中。
03:26
啊,然后呢,因为我们已经有了一个过滤器了,那么大家应该还记得过滤器呢,它是按照配置的顺序来去执行的吧,所以说字符编码过滤器一定要配置到第一个,如果你配置到下面不管用,明白吧?诶,字符编码过滤器一定要配置到我们的这个过滤器的前面,如果说你把字符编码过滤器配置到它下面了,那么先执行的是它,这个就不管用了,听到了吧,来叔叔我配到这啊,来写一个好fair内蒙下面呢,我们再写一个。
04:08
好,Fair mapping,然后这里面呢,写个fair name,写个URL,看懂了吧,那么呃,名字的话呢,就是叫他我们把这个全类名呢,给它copy一下,Copyl全类名好拿过来放到我们的这个位置,好这个CTRLC拿过来放到这个位置,好这个CTRLC拿过来,你放到这个位置,然后这个地方我们写的是不是还是C-C嘛,过滤器嘛,对吧?好,但是大家注意,你光这么配还不行,你就相当于把过滤器配上了,它里面这个我们刚刚分析过的,是不是依旧还是不满足的呀,所以说呢,我们就可以在这个位置注意了哈,在这个非这里面呢,我们给它通过in para来去设置一个初始化参数para name,以及这个para value para name呢,就是你想给他的哪个属性进行初始化,我是不是希望给他的这个encoding属性初始化呀,所以说我把引coding呢也拷贝到这,然后给它附个什么值呢,附一个UTF杠八。
05:05
听懂了吧,这样的话呢,就相当于给这个过滤器的引扣滤属性的负了个UGF杠八,那么来到这个位置,我们来分析这个条件是不是就满足了呀,对吧?然后后面的条件呢,也满足了,那么它就能把我们的request是不是设置了一个我们给它初始化的那个UTF杠八这个值了,对吧?这样的话呢,我们的请求,诶中文问题我们就已经成功解决了,好来接下来我们做一个测试。好,最后呢,我们重新来启动一下。嗯。好启动了,启动以后呢,我们再来访问一下,那么先来访问我们的员工信息列表啊,这个数据的话呢,你重新启动以后,它就又变成原始的了,因为它就是静态的嘛,好我们来去修改它啊,啊我们就再去添加啊添加。添加的时候呢,比如说我们还是添加中文是吧,啊这个宋老师啊。
06:04
啊,老师是吧。这个是吧,啊送送啊啊然后呢,男的,然后呢选上ddd。好,来添加一下。OK,我们来看这个数据是不是没有任何问题了,对吧,那么同样啊,你在修改的时候也是一样的啊,比如说我们把这个也来改一下啊,啊修改一下。啊,我们讲一个老师是吧?啊,你们后面会有一个老师啊。然后呢,他又会唱歌又会跳舞是吧?来改一下看到了吧,啊记住哈,又会唱歌又会跳舞对不对啊,到时候你们就让他唱歌跳舞啊来汪老师没问题了吧,所以说我们这个添加与修改的时候呢,这个中文问题呢,就已经得到了解决了,其实呢,就是使用了一个诶叫做这个file啊字符编码过滤器,明白了吧,OK。
07:10
嗯。
我来说两句