00:00
哎,那然后下一步呢,肯定就是我们去这个创建一下这个login的filter。哎,我又要又要见了啊。Filter啊,在这。实现一个接口。别导错包啊,Java X目录下边的这个filter。我们关心的是do filter这个方法。在这里边儿呢,我们首先第一步哈。获取http session对象。那么就需要把这个request呢,给它转成HTTP的request。request.get session啊得到它,然后呢,第二步尝试从我们session域获取我们已登录的啊这个对象,但是这个呢,不一定能不能获取到,所以说尝试啊。
01:19
嗯,然后呢,访问我们这个常量里边。Login的对at tr的内幕。这是我们这个login的ERP。哎,下一步呢,咱们就判断一下,第三步判断这个login的ERP啊是否为空。如果它等于闹哎。先说简单的吧,啊,不等于闹,咱们就这个说明现在他已经登录了。
02:03
若不为空,则说明当前请求已登录,哎,那么我们就呃,放行就可了,可以了。Filter chain点。Do filter request和response传进去。然后这个方法呢,就可以这个结束了啊呃,如果呢,能够往下走啊,那就说明呢,若为空,说明尚未登录,则回到我们的登录页面,回到登录页面呢,咱们得给他去带上这个呃,这个这个消息啊呃,我们这儿呢,还是和这个地方一样哈,System message。
03:00
后边呢,告诉他啊。哎,这是你访问被拒绝啊?Request点啊,Get request dispat还是让他去斜杠啊。好嘞。嗯。这就这个类就写写就写完事儿了,下边呢,就考虑我们说呢,去这个web夹毛里边去给他注册一下。把这个类拿过来。第一个哈。呃,这个是说我们是创建Java类,哎,不对,这是。截个图哈。
04:21
好嘞,啊,然后下边这个注册一下。找到我们的外包点是吗?这时候牵扯一个问题哈,俩filter。这个filter覆盖的范围大,我们这个呢,肯定只覆只覆盖它啊,所以说这个时候呢。他俩一定有重合的部分,那既然有重合的部分呢,就会形成一个filter的链,这个filter的链是谁先执行呢?谁后执行呢?
05:04
Login filter。哎,他俩谁先执行谁后执行。有没有一个判断的标准?啊,我们说呢,构成filter链以后,它是以your filter mapping啊,它的顺序来决定它执行的顺序,所以我们现在呢,是先执行它,后执行它。啊。M。这个时候呢,我们想哈,如果说你现在检测到它没有登录。我们这个里边呢,因为检测有没有登录这个呀,它也不牵扯这个数据库事务这方面,所以说呢,如果没有登录的话,咱们也没有必要去执行这个事务的操作。因为你这个时候呢。我的意思是说啊,如果你先执行事务的这个filter啊,然后他就是甭管你有没有登录,甭管你后边要不要执行这个service,这些数据库的操作,他都要去开始回头呢,执行完都得去去这个释放数据库连接之类的啊,所以说呢,我们可以考虑呢,让这个。
06:12
登录的filter呢,先执行啊呃,他这儿如果判断的登录啊,这个满足条件再去执行后边这个啊,这个这个就不浪费了,如果他这个地方不允许登录的话,到他这儿呢,就已经跳转完了,就不执行这个filter了,就节约了这些个事务的操作啊,所以说把它放在这个前面。哎。呃,把我们login filter。放在我们transaction。前面去声明。呃,原因是。
07:02
啊,如果。我们登录检查失败。直接跳转到我们页面。就是因为它就是这个时候它是不放行的啊,这个不放行啊,不放行直接跳转到页面,此时将不必。执行transaction filter中的这个事务操作,对吧?哎,能够节约一些啊,多少节约一些性能。能节约点就是点对不对。好嘞,啊,这时候咱们把它给跑起来呢,咱们来测试一下啊,看看这个登陆检查有没有生效。重新部署一下。我为啥要说这个电梯这个事儿呢,就是说你这个其实等电梯和我们现在等这个服务器启动一样。
08:03
他这个你啥也不干,在这干等着他就会很无聊,就觉得时间很长对吧?呃,你电梯上面呢,给你放一面镜子。哎,给你放一面镜子,哎,你照照镜子,或者有的地方呢,他给你放一些杂志,或者现在现在是更聪明放广告是吧,你在看照镜子或者翻杂志或者看广告的时候,哎,你分散注意力了,哎你没觉得这个时间的流逝。他这个时候就不觉得那么无聊了,他也就不觉得等电梯的时间长了。啊是吧,很多事儿都有很多的,这个很巧妙的这个解决的办法哈。我们把这个地址呢,给它复制出来,点退重新去访问它。哎,这时候就会告诉你说有这个提示,这就说明呢,这个我们登录检查呢,就生效了。
我来说两句