00:00
好,我们接着来看,我们来看一下这个购物车,来看一下购物车的这个问题啊。我们做一下购物车的编辑。首先呢,我们先找到cut这个页面。也就是这个页面。那么在car的这个页面上,我们这边有加号和减号对不对。加号和减号。那么这个加号和减号呢?当我们点击的时候,我们需要去给服务器端发请求,发请求用来改变当前的这一项的数量。那行吧。咱们这一个T2就是一个购物车项。这一项。他就是一个cut item。那么这一个卡item。来,我们回到数据库。我们先来看一下。这边咔嚓一。这一个卡item。
01:01
我们不就是用来修改它的这个by com吗?是吧,同学们就是用来修改它,我们可以根据这个ID去修改。啊,我们可以根据ID去进行修改。好了,我们来试一下。所以。我们回到这,我们写一下update或者edit。A card。当我们被点击的时候,TH冒号on click,当点击的时候,我要调用一下这个方法,好A。然后呢,我们把一个值把它扔进去。把我们当前的你的卡item。到了大括号卡的item,他的ID。把它放进去。呃,接着修改这个当前这个卡item,然后呢,还要我们还要再往里面再扔一个值。我们再生的一个值是我们car item。
02:02
点。他是不是一个叫bacon的呀。八减一是不是啊。哎,对吧,同学们把这个值把它扔进去,那下面的加号不就是它的值加一吗。所以我们再来拷贝一下从这到这CTRLC。回到这边来。把它改成加一。哎,就是这样。好。再来。那么我们就需要写一下这个方法叫a com这边这个报错不管它啊,剪切一下,剪切再粘贴。还不错。山。那算了吧,他报错就报错吧,不管他了。Ad的。Cut,我们得写一个。好,回到这边来。Script加script。SC。我们叫。TH。冒号SC。F大括号。
03:00
A static script gun cut.js、好,就这样子。所以我们得写一个。Script static script在这边写一个。Cut DJ。Function把它扔进来。它有两个,第一个叫item ID。第二个是我们的叫by count是吧?购买的数量把它拉进来,那行啊,window.location。点HF。我们给谁发请求呢?我们给卡点度是不是。给他发请求,Operate等于比如说A。叫A的卡啊,并且。并且我们的cut item。ID的一个值加上卡item ID再加一个值,并且。By count的一个值加上by count是不是?
04:01
拼接的一个路径,所以我们到卡的点读里面需要补一个这个方法呀。就不让他。回到这边来cut CL,然后我们来补一个。Public子俊,他。然后它里面需要两个,一个是in item ID,一个是我们的in叫by count,对吧。那么我们这里面是不是要调用它里面的方法呀。是不定用这个方法。那我们得看一下这方法怎么写的哦,就用这个方法。那么再看一下这个方法怎么写的,再点进去哦,它执行的是一个update,没错吧。行。好,我们回到这边来,所以我们就调用啊,Cut it service update。Update item,那么我们需要一个cut item。好,把我们的卡、item ID把它放进去,把我们的bycon也把它放进去。就这样子,这样我们就update就结束了。
05:01
点进去缺个构造方法是不是。补一个。它需要ID和by count,对吧,需要两个OK。行,再回退好了,这就是我们的update,那么你update做完之后,Update做完之后请你再执行一下return,重新查一次嘛。是不是同学们要重新查一次,那行吧,这个ad card我写完了。我应该不需要注入什么内容吗?咱们一起来试一下,看看行不行。
06:07
好,这个叫关于金额的进度问题,这是我们下面可以讨论的啊。好,我们一起来看一下啊,先回到这边来点击一下登录。好,进来了,点击它购物车当前有一个点加号。两个点它三个没问题吧,点减号也没问题,当然你不要故意的变成一个了,你再去点,那就变成零个了。是吧,我们可以做个判断嘛。可不可以?咋做饭的?怎么做判断?首先我们需要搞清楚一点的就是,哎,如果你当前的值已经变成一了,我应该让你不可点。是不是我让你变成不可用不就完了吗?是吧,同学们。我就我就不再去不再去啰嗦了啊,那我现在我要把一个bug把它调出来,稍等我一下啊。我现在要回到。哎呀。
07:01
登录稍等一下啊,加一本书加进来。这个数是99稍等啊,我找个带小数的。48.95,这个应该可以加入进去,好行,我就看这个啊,点加号。点加号,哎,出来了。看到了吧。就这个,我加了三本书。嗯,加了三本书之后。啊,加了三本书之后,它就会出现8500002是吧。那这个问题怎么解决呢?这个问题怎么解决呢?嗯,这个问题其实是我们的double类型的这个精度问题。Double类型的精度问题。如果我们想要完成这个精确的计算。我们不能使用我们常规的加减乘除。我们得使用一个类。好,我们一起来看一下。我来给大家找一下啊,大家如果课下需要去看的话,应该是看的是。我看一下应该是在这里面。
08:01
在这double数据运算过程中的进度调整,如果大家课下要去看的话,大家去看这个第十小节。啊,看这边的问题,你看是不是一样的,我演示的是购物车里面的,那人家这边演示的是也算是购物车或者是总金额,其实都会都会有这样的问题是吧?都会有这样的问题啊,那怎么去解决呢?哦,我们要使用一个叫bigger December。我们不要再使用原始的double类型的加减乘除了。请你使用另外一个类型叫bIgMa。Big在进执行加减乘除的时候,它其实用的不是我们的加减乘除啊,它是用的是字符串的这种这种操作。那我们怎么去做呢?我们通过6B跟DC嘛,先创建出一个B跟DC嘛,如果我们想要去,如果我们想要去执行加法运算,请你调用它的方法。如果你想完成减法运算,它会有一个叫subtract吧,应该是减法啊,减法这个单词的意思乘法,乘法应该是叫multi pile。除法应该是叫什么divide?
09:01
啊,咱们一会儿可以把它点出来看一下。最后呢,我们可以把这个big decma再通过double value再返回,它就不会有这样的问题,你看这边有乘法,看到没有。就这样。那行。咱们下面进来。改造一下。呃,回到哪里呢?我们回到cutt页面,Cutt页面,Cut页面应该是在这儿好。然后再来。往下走。Cart页面。往下走。我们乘法呢,是不是这个。是吧,同学们。就是这个地方出的问题。同学们。啊,这是一个小计的这么一个数量,就是它出的问题。还有。这个。总金额这边也会出这个问题。
10:02
是不是?啊,这个地方也会出的问题,我们怎么来解决。我们怎么来解决,这个是卡item里面的是不是啊行。我现在呢,同学们注意看。我先解决上面这个问题啊。It。在这。Item。我在item里面,我补一个private double类型小记。行不行啊。小季,不就是这玩意里面的价格乘以这个8COM的吗?那你这个成的话,这个book里面的那个价格是不是是double。就是这个double导致我们相乘,相乘的时候出现一些0000是吧,就这个问题。那行吧,咱们给他补一个钙的方法,叫小G。到这边来。Get。小G是怎么算出来的呢?Get book。
11:03
点get price,这是不是大包类型哦,我加个控制符串,我把这玩意儿,我把它封装成一个叫。Big dima dima,这个叫prize。等于。New bIgEmma行,它里面需要的是一个字符串。就这样子能看得懂吗?同学们,当然这玩意你可以放在后面随便你了。我为什么加个空字符串,目的就是想让它里面是一个字符串类型。啊,这个是价格。那再来bigger decma。Bigger decemma。呃,这个是谁呢?这个是我们的by count。New December好控制不上,再加上一个by com。那行,两者相乘,BIgMa。点multi是不是这个。
12:00
里面还是需要一个big DC,那我再把这个叫big DC by count,把它扔进去。那这样我是不是得到一个结果。点进去看一下。它会得到一个big DC吗?那行,我们写一下。叫big。Disma。Bigger。December,小G等于它。Return return什么这玩意儿,稍等一下啊,小G等于它点double value是不是,然后再小G能看得懂不行,回到页面上去,页面页面。页面。Yeah。没有了吗?关掉一些看一下啊。页面H在这呢。那我这个就不要这么相乘了呗。Item。点是不是个小G哦。不就这样的吗?行就改动了这一个啊,这个删除我加个123行吧,看看页面会不会更新啊。再回来,我们再来试一次。
13:01
后退,再后退。现在他是三本,咱们就加其他的,反正我加其他的,我这边只要是三本,那这玩意估计就如果有问题就一直是这样是吧。请后退,好点登录。好,就加第一个吧。啊,怎么只有一个了啊,下面有问题了,你看下面是不是都不显示了,不显示就是我们time表达式有问题,Time内表达式有问题,估计是小G,它不能识别,那就说明没更新过来。是吧?同学们,No such property exception能看得懂吗?他说没有这个属性嘛,说明我这属性是刚加的,他没识别,那就停掉吧,再重新启动。好,我们来看一下啊。OK,把它全部清空掉,没有问题。
14:05
好,再回到页面上行。点击登录。登录进来了,我们随便点一个加进入进去,你看这。刚才是不是00002,现在没有了是吧,同学们。啊,但是这个总金额是不是也有一样的问题啊。总金额留给大家自己去解决。行不行,同学们。我们之前的总金额计算的时候是不是直接是大波型的数字相乘哦,请你现在计算总金额也许和我一样,模仿我用big DC嘛,行吗同学们。你说老师这边现在不是没出问题吗?没出问题是正好这玩意儿加上这些值,正好让他没出问题。大家可以尝试着把这条记录和这条记录删掉,你只留这一条记录,你就会发现这边一出现00002行吧,同学们啊,这个大家自己去解决。这是我们购物车编辑的问题啊,我们试一下啊。你看是不是。啊,这个你看不就出现这问题了吗?啊,一样的行。
15:03
这是购物车的编辑,我就把它把它说完了,好,我们再说最后一个问题。最后一个问题是什么呢?呃,同学们,现在我们的页面啊,我们很多的CTR了,我们上面在进行操作的时候,都是从筛选里面去获取current user。我们都是去获取user了。那大家需要注意一点。如果你当前的会话里面没有user的,也就意味着你如果是非法的用户,你还没有登录呢,你就直接通过硬编码的方式去访问一定的URL地址。那么就会导致我从三线里面获取这个优质了,获取不到。那你获取不到很多地方,肯定就会有异常嘛。能听懂吗?所以我现在的想法是什么呢?我现在的想法是我需要加一个过滤器,听好了我需要加一个过滤器。这个过滤器。他首先会判断三线里面有没有user了,有我就放行,认为你是合法用户,没有我过滤器里面就直接给你跳转重定向到登录页面,让你重新登录。
16:10
能明白不,那么这个过滤器需要设置一个白名单,白名单这个白名单就是如果我们用户请求的是登录,请求的是注册,我应该是放行。你如果请求的是index,我也应该是放行。其他的情况我都不应该放行。就是这样的。啊,其他的情况我都不放心好。所以我来加个过滤器。那么其实我这边加过滤器呢,会有点小问题啊,会导致一些小问题,导致什么小问题呢,我和大家说一下。我当前这个家包是com at、硅谷,然后叫MYSSM。MY是M开头的,当前这个book它是B开头的。如果我在这边加filter,它一定会在我另外一个叫character filter里面。
17:06
能听懂吗?啊,他一定会在会在会在会在我们那个里面啊,会在那个之前嘛,会让我们captain coding会失效。啊,它会让我们这个失效,所以大家需要注意这个,注意这个这么一个小问题。这个过滤性呢,我就故意的把它放到后面去。Com at的硅谷,本来下面一集是MYSSMM嘛,我在这边,我写个Z或者叫F吧,ABC de fg hg KM还是在后面是吧?我写个Z。Z杠,Book。S。点我写一个叫,写一个叫。我写个叫叫session。实现。Filters。
18:04
就是他。然后我们要去重写它里面的方法。嗯,稍等。重写其中的三个方法。然后我们在这个do filter里面,我们要去做判断。我这边叫request。Http request request等于强转一下http request。So that request。是吧,然后request get session,我是不是要获取一个session啊。HTTP。等于号获取到筛选之后,筛线点get attribute,然后current user。看就是五比解等于它。If current use OG,如果等于,等于说明啥?说明赛里面是不是没有啊,没有的话我们就直接return。
19:00
啊,没有的话我就可以直接或者没有的话不叫放行不叫了啊,我重新写一下response点好它没有,它没有的话是因为这是没有HTTP协议的,这是副接口,我们需要去做一个强转http response response等于http response。好,把它拿进来。OK,就是它,然后通过它。点send redirect跳转。呃,跳转到哪个上面去呢?我们需要给它跳转到locking页面上去。或者或者我在这边跳转到哪个上面去呢?我跳转到pag点度。问号oper等于page,并且page等于log是不是?是不是跳转给这个配置点度啊。就是这样。好了。好,现在我暂时先写成这样,如果else。Else是不是表示三线里面有这个current use了,那么我就直接放行,嵌点do filter。
20:02
写完了。啊,这就是这个过滤器。然后这个过滤器。简单意思一下啊,Web filter。啊,星点镀。拦截所有的新点都请求。啊,拦截所有的新点都请求,就是这样的。好了。U2PART u part等于大括号。啊,大括号里面我写多个,呃,UR patterns。第一个星点读逗号,第二个星点HTML。可以的,没问题啊,这两这两个我都拦截。现在我这么去笼统的去写是有问题的,我先把问题先暴露给大家看,然后咱们再一点一点的去完善啊。不着急啊。首先大家得知道我的目的是啥。这是我的服务器端,这是我的客户端,我的服务器端有很多的组件,这是第一个组件,这是第二个组件,这是第三个组件,这是第四个组件等等等等,其中有一个组件叫index.html。
21:07
其他的组件,其他的组件,比如说啊,比如说cut control。啊,它对应的应该是他的点度。比如说还有其他的组件all control。啊,它对应的是O的电镀。等等等等,后面我们就不写了。是这样的,同学们,我们一个客户端发请求,我们正常情况下请你要请求谁呢?你正常情况下你可以请求他。或者请求另外一个叫logging。写在这儿。Log htl,或者你请求另外一个。Register。啊,是不是啊,或者你请求另外一个log点读,或者叫user点读。优点读并且operate啊问号吧。问候operator they。
22:02
或者你请求。优质病毒。问号,Operate they register?行吧,同学们。你请求这些才行。如果你请求后面的后面的后面的我是不是不能不能让你请求啊,因此我就在前面加了一个过滤器。在他前面放了一个过滤器。这个三就对你这个请求做一些识别。如果你发现你的不对劲,我就给你打回去,打回去让你重新定向到locking页面,让你去重新登录,表示你是个非法用户。你比如说淘宝。淘宝里面。本来我可以访问页面的,但是我突然点了一个叫立即立即,这个叫什么,立即叫叫叫立即下单还是叫什么。立即购买是吧,我一点击立即购买,如果你没有登录的话,是不是会跳转到登录页面让你登录啊。就这样,因为你现在没有办法做立即立即购买嘛,因为你还不是个合法用户嘛,是吧,人家做这个拦截就是这样。
23:05
好,我们来试试。好,现在他已经启动好了。当然了,我现在肯定是不行的啊,现在是所有的所有的这个信息全都被拦截了,一起来看一下啊。呃,信息被我清掉了是吧,清掉就不对了哦。稍等一下啊。KG零度,问号就是他敲回车啊,完蛋了。啥东西都看不到了。啊,你看一下这个服务器端,他没报错啊,不应该没报错啊。不,应该没报错。嗯,这个看不到怎么办呢?哦,这边有,哎呀,幸好有一句话,Lock的江铃重定向的次数过多啊。出现了这么一句话。这叫errordire。C,拷过来吧,还好给我留了点信息,要不然我这个还不知道从哪讲是吧,挺好的啊,回到这。
24:02
这是最后一个问题啊。叫过滤器。判断是否是合法用户。解决方案。解决方法啊,新建3FILTER。用来。判断筛选中是否有啊,是否保存。是否保存了current user?如果。如果没有current user表明当前不是一个登录合法的用户,是不是这样的?应该跳转到登录页面,让其登录。对不对,应该是这样,这是我们正常的思路,但是我们现在碰到一个问题。现在添加了过滤器。过滤器之后出现了如下错误。好,站在这。他说我们重定向的次数太多了,为什么重定向的次数太多了,同学们。
25:04
我是不是要去请求配G点镀,然后要到log上面去吧。请问。我现在没有登录,我想到了页面。你要不要让我通过?应该是要的嘛。结果我现在这玩意儿是不是就被过滤器给拦截了,过滤器拦截说。你不是合法用户,请你去登录,那行吧,那我就乖乖的去登录,一再发一次请求,请求登录页面,结果又被过滤局拦截,过滤局又说你不是合法用户,请你跳转到登录页面去重新登录,那我再发第三次请求,要请求登录页面,结果又被过滤器给拦截了。那是不是一个死循环,造成你就出现了N多次的重定向啊。啊,能不能听懂这流程。所以我们的做法是,当过滤器识别到你,如果你请求的是这玩意儿的时候,我应该要放行。是不是啊,我应该要放行,就是这样的。
26:01
好。那怎么办呢?帮我想一想。我们回到session filter里面去。这是一个filter。如果等等,那我们要做跳转。好。我们应该怎么做呢?在这个地方request.get。Request u2,我们看一下U2是场。我们之前其实把这个打印出来看过的。我们把幼儿打印出来。啊,还有一个叫UI,咱们也把它打印出来吧,这块是在之前打印过一次的啊UI。好,我们把这两只把它打印出来。刷一下啊。
27:22
那个了。开OPEN121 please check哦,我知道了,好,是因为咱们当前这个D都已经D,本来是想打开浏览器给你显示那个页面的,结果它都识别到你这边重定向,重定向太多了,是不是这意思啊。啊,他让你检查当前的幺幺是否正确是吧?他说不能打开这幺幺问你是否正确,因为他发现你恶意的一直访问嘛。使用完了吗?是这意思吧,行,这是UI是吧,这个是URL是不是啊。这是一碗油吧,一碗油是这个。啊。那再来还一个信息啊,咱们也把它打印出来,request.i qquq.get request。
28:04
叫get Cory吧,Cor军是他啊,那把这个玩意也打印出来试试。坚持一下啊,我们快讲完了。行吧,不管他了,看一下啊,U2也是这个。这是我们的药油。然后我们这是我们的UI叫PRO25配置电镀,然后呢,CH瑞string是这玩意儿是吧,Cor瑞是这这个东西。我们回到这边来,注意看啊点。
29:00
In。把它放到下一行来写啊。回到这里面的web。Para。然后name等于,Name等于,嗯。Name等于白,我随便意思一下啊,写个白value value等于一个值,Value这个值等于什么呢?呃,问号框把它加进去啊。行,就是这样的。好,我就配了这么一个叫白这个东西。啊,就配的这一个好。然后呢?其实我这边可以有很多,后面还可以写很多啊,我们暂时先写一个。然后回到回到这儿。
30:00
把这句话咱们暂时我看一下啊,UR以后可以不要。删掉,要不我们U要的chry string也要的行,要这两个。好,暂时先注射。然后呢,我在这个里面,在这个这个方法里面。嗯,稍等啊。在面这个方法in,我们这边有个叫config,重写一下啊叫conig,然后呢,在这个地方啊,在这个地方。我们写个叫con.get parameter,好,我们写个叫白。然后呢,我们就能得到我们的数据,稍等啊。好,四君,去写个叫白吧。白点SP,我要逗号分割,虽然我现在还没有写逗号,将来我会在里面写逗号,会有很多个字符串拼接起来的,用逗号分隔的。此菌数组白L等于它。然后。
31:01
然后我把这个数组,把它扔到外面去。剪切。把它放到外面去稍等一下啊,我来想想这个数组,我应该是也是可以把它变成一个叫as。可以吧?有这个方法的是吧,转化一个list叫BYL可以吧,把它变成一个数组list。紫卷,这个叫白。好,然后把这这玩意儿剪切,把它放到外面去。等于六。或者等于,那么。他就闹。然后到这边来。呃,首先第一步子俊UI等于request.get request UI。此俊。俊query俊等于request.get。Get college。然后呢,UU加问号,再加一个corry string。
32:03
我们组成一个新的啊,新的str。If。If by list contains。Contain ST说明啥?说明你现在组装起来的这个字符串在我这个白名单里面出现过。是不是啊。如果你出现过欠。Do filter。Response。能看得懂吗?就这样就可以了。啊,就在这边就可以了。Else。把这一坨挪进去剪切。挪进去。好,这首可以删掉,就这样的。现在我们再来试一下,停掉。再启动。稍等啊,这两行把它注释把它拿出来。
33:04
大家坚持一下啊,我快快讲完了。现在我们再来看一下他有没有这个这个一直给我弹框的问题。哎,他报错了,但是没有弹框,没有弹框就说明不是死循环。是吧,同学们。看是什么问题啊。java.io not phone的exception哦,他说这玩意没找到是不是啊,那估计是估计是我这边的问题,我这边是不是少了一级的问题。这个地方是不是啊。哎,没错吧,同学们啊,这是我的问题啊,我少了个user杠是吧,因为你这个lock页面好像放在人家user里面去是吧。哎,没错吧,行。再试试呗。刷一下。
34:11
呀,又出了问题了。哦,我白名单没改,哎呀,真是的,我刚光把下面这个这玩意儿给改了是吧。上面要要同步的吧。啊,那那大家刚才为啥不提醒。还让我再重启一遍是吧?大家这个这个是不是大家得得有点自信是吧,这个老师写的不一定就写的是对的是吧。你能知道我在说啥吗?哼。我们回到页面上面行,现在页面是不是有了啊,这样咱们首页啊,这个登录页面不就能看到了吗?那我问你,我点登录行不行。
35:03
猜一下呗,点登录。点登录点登录点点吧,点到明天早上都不行。啊,为什么不行?我先问你。现在我看到这个登录页面,请问现在我是否是一个合法用户,应该不是吧,还没登录呢,我必须得点点击一下登录,然后呢,我验证成功了,往我的塞里面塞一个cover user,我才算是一个合法用户呢。那我现在点击登录访问的是不是优质点度。结果你优着点都是被被过滤器拦截了,然后过滤器就已经急急忙忙的从三线里面去获取,看能不能获取到,发现获取不到,认为你不是一个合法用户是吧?同学们,所以我是不是要把这个点击登录发送的那个121是不是也得塞到。塞到我们的那个叫。叫叫叫叫白名单里面去。是吧,来看一眼。库里用是浪。然后我们的UI是不是叫user点度。哎,就是这样的。
36:01
啊,就是这个。好了。所以来我先把它全部清掉啊,然后我们再来,我点一下登录一点击好,你看一下。User点动下面一个,下面这个你不用管,下面这个是人家过滤器再重新给user-logging页面发请求的时候再次打印的,我们看的是上面这个是不是。对吧,看的是上面这个,所以因此把它拼接起来。回到这边来。啊,他是个白名单。我们换一行吧,Value值。逗号。从这到这,CTRLC。后面的这个是库瑞斯CTRLC,他既然是浪浪,也不管他。问号我这边我就偷懒了,我就直接写个问号那行吗?只要你拼接起来的是这玩意儿不就行吗?因为我这边下面我简单处理的就是两者中间加个问号拼接吗。我这边其实可以做个处理if库,String,如果等于等量就不拼接码。
37:00
行了吧,那我这边不写也行,就写问号,问号后面跟个那也行吧。好的,那现在咱们再来试一下。刷一下。现在点击登录。是不是能进来了。哎,没错吧,我先点购物车,它会拦截吗?他不会拦截吧,为啥。只要我登录一验证通过了,是不是三线里面就有值了,那现在我是不是就可以随意去点了。点一个是不是都没问题啊,都没问题,就这样子。能能听懂吗。OK。好,当然了,现在这个注册页面肯定是这个注册页面能行吗?应该不行吗?应该不行,因为咱们还没有把它添加到白名单,所以以后你想让什么页面在不登录的情况下也能够去访问,你是不是就在这个V后面去追加呀?
38:13
那这个system打印我没有把它,我没有把它注释掉,目的就是让大家能够做参考,这样不至于你自己拼接,拼接错了行不行,同学们。行吧,啊OK。这是我们所说的过滤器,当然如果大家听的比较晕,我告诉大家,我告诉大家一个比较简单的方法。这个简单的方法就是。这是我们的CTRL。不可肯拒了,这是第一个首页,我们不需要添加,这是cut cut cut在这边是不是获取use了?紧接着情理机在这边立即判断if use是否等于now。如果等于了,立即在这边return return到use杠,Logging。嗯,能不能听懂。如果得得,那说明啥?
39:00
是不是因为你是一个非法用户,赛里面没有吗?Return user-logging。是不是?就这样子,那我问你这样写的不好的地方是什么?这玩意儿里面要不要写?要了吧。这个方法论也要写,如果下面还有其他的方法,是不是也也得要写,你是不是在好多的controller,好多的controller的方法里面都需要去加这么一个判断啊。那你不认为这个判断很重复吗?代码不认为很重复嘛,是吧,同学们,所以我们就统一的搞了一个拦截器,或者叫过滤器扔在前面做一个拦截嘛。能听懂吗?就是这样行,这个我删掉了啊。
我来说两句