00:00
哎,来做下边的功能,那下边功能是这个跟登录功能相对应的一个功能叫退出。但能登能什么能登录肯定也能退出,但他这个退出大看他就安全退出。安全退出什么呀,他强调安全性知道吧,他退出,他说退出为什么强调安全性,其实大概如果你仅仅退出系统的话,其实好退。给你退出系统,你比如当我们这个地方,你比我退出张三,然后呢,YF123,我登录登录之后我想退出来这个系统,假如我下班了,我想退出来,我有好多种方式退怎么退啊,对直接点它直接点它直接关浏览器是不是都可以啊是吧?这种都可以退出来,但是这种退都是不安全的,退怎么不安全了,那你想一想啊。对,我我要如果直接关了是吧,你要如果在你工位上了,在公司网络环境无所谓了啊,因为公司的网络环境基本上都是比较安全的,假如你要在网吧里边上,你要在网吧里边,或者在不安全的网络环境下使用我们的系统,如果你直接这么关了有问题。
01:06
就有啥问题。假如你登录的时候不小心点了那个记录密码了,这个时候会会有什么会有什么问题啊,你那个你那个什么,你那个用户密码都会写到浏览器里边。在浏览器里边写着呢,在浏览器哪个地方写着呢?在某一个文件里边写着呢,就你那个密码会写的,浏览器安装目录下的某一个文件里边知道吗?那么写的文件里边怎么了?写到文件里边,大哥你说老师为什么写到文件里边,不是写到内存里边,不是他写到文件里边,然后为你说老师你怎么知道写到文件里边。但你说这个哭会我我要记住十天这种枯会我我我说写到文件里边,你怎么知道写到文件里边。为什么说我说写到文件里边。你想啊,如果你第二天来电脑关了,你第二天来是不是那个库位还只要十天之内再来,是不是那个库位还存在啊,还存在那个库位,如果写到内存里边,你关电脑了,那个哭会在十天之内还存在吗?
02:06
不存在,第二天来就没了,知道吗?所以他一定写到文件里边了。那有老师账号密码写到文件里边怎么了?写到文件里边那些什么,在安全环境下没问题,如果你要在网吧里边访问你公司里边系统记录密码了,你的账号密码就写到网吧里边某一个电脑里边。那写到网吧里边,电脑里边怎么了?那这个时候有一些别有用心的人是吧,他如果上网的时候用到这台电脑了,当然我们说现在网吧里边电脑时候,好像一个人用完之后都还原一样,是吧,那假如不还原,就是就是它这个环境如果不安全,如果不安全的环境下,那这个时候或者你在用别人的电脑访问一下,别有用心的人能够找到这个文件,找到这个cookie记的文件,找到之后呢,你的账号密码他就拿到了,知道吧。这时候呢,他就可以用你的账号密码登录你的系统知道吗。所以大我说记录密码这种功能给用户带来方便的同时呢,也带来一些风险,他的账号密码会写到电脑里边。
03:07
浏览器的某个指定的某个目录里边。然后呢,别有用心的人知道他是做开发的这个浏览器,这个cookie寄到哪个目录下边,他都能看见,知道这是我们这样做啊,那怎么看,其实很就别说别有,别说那些什么很高手那些技术,就咱们普通的这些人员,对计算机稍微有点了解的都知道是吧,能找到他那个库给怎么找,不同浏览器它指定的位置不一样,但你像这个这个现在这些浏览器现在都做了安全防护措施了,像这些火狐在以前很容易就找到了,知道吧,现在我说现在这火狐这浏览器比较新版的浏览器,都对那些目录做了隐藏了,所以你不容易找到的,像IE当上有些浏览器现在IE还是还是能看的,你看你找1IE当中这个IE浏览器当。
04:00
嗯,这个看咱们在在这里边应该有。在在这个里边应该有IE,有IE浏览器吗。啊,咱这个IE浏览器也没访问过啊,咱们不不推荐教学,到时候不推荐使用IE浏览器,但是火狐的现在说不好找,总之他呢,他这个你看这个。像这种骨骼的。现在他们都做了隐藏了,以前呢也很很好找,直接就找到他那个存cookie的目录里边好像没有。这里边ae咱们也好像IE也没用,没用也找不到cookie。嗯,看来找个IE啊,这个IE你看找一找啊,IE好像咱们没用,好像里边没有没有cookie装好系统啊,咱们教学不用,嗯。大家可以看一看它这个。
05:01
哎,这个你看现在应该是应该现在咱没用。找好。找到他一个隐私。这个。安全。这里边儿也没有常规。这个是手头你看大康这这个你查看查看文件的呀,在这里边你看。这些都是通过浏览器访问一些网站是吧,然后呢,他们缓存的一些数据,其中有一类数据叫cookie。C。大看吗?下边这哭柜你看吗?诶卡住了啊来看吗?这哭鬼看吗?这是哭鬼,这是这是谁写的哭鬼你看这是百度你看吗?必应什么之类的这些。
06:01
这些因你可以打开看一看,看他写的cookie。嗯,打不开,打不开这个地方用这个啊对。看到吗?这都是他写的,库克知不知道他?当然他有些说明信息,不知道他是干什么的,知道吧,这些,当然这些库克还少了呢,以前多的是,以前防卫网上都有枯萎,现在国家立法了是吗?不准随意的往用户这个电脑上写数据啊,这侵犯这是用户的隐私,应该说这些啊,所以现在这种库位少,以前多的是,以前多的是知道所以别人吧,看到用你用过的计算机,如果你记住密码话,到这里我就能找到,找到你的账,找到你的这个这个一些账号密码,一些信息是吧,还有一些人啊,做一些木马程序是吧,就你那么你不管点你点一个哪个有风险的链接,你一点他把他的代码下载到你你电脑上边了,然后呢,并且自动运行,运行干什么,把你电脑上所有的目录全部都给你遍历里边,把你里边文件里边内容通过网络发到他电脑上面去。
07:08
他就从里边去找一些有用的信息了,那种谁这么无聊是吧,黑客是吧,职业这么做这些事的,就是像咱现在少了,以前都是这样,所以说他看我说记住,总之就是说记住密码这种功能在跟我作对,记住密码这种功能其实是有风险的,知道吧,如果你要是说在不安全的环境下,一旦记密码了,你的账号密码很容易就丢失了。所以以前有人统计过,说大家账号密码丢失丢失是吗?应该统计90%以上密码丢失都是因为什么记录密码丢失了。都是因为记录码,如果你要不记住密码,他黑客再厉害,你的密码就在你脑子里边去行吗?在你脑子里边存着,他再厉害,他不能到你脑子里边去掏数据,是啊,他不可能这样是吧?啊,所以都是你记密码给他记一个地方,他知道存哪了,所以他是吧?对,所以他都是怎么他他能够获取到,所以这种不不这种不安全呀。
08:06
啊,不安全,所以这样退出就不安全了,知道吗?啊,然后呢,他还有一个什么,还有一个还有不好的地方叫什么,如果你要这样退出来了,那要这样退出来了,这是从浏览器角度上来讲,你的空位会一直存在,所以容易造成你的数据的丢失,再一个大家你再想一想,如果我要如果这么一么一关了,在服务器里边任何一个用户是不是都有一个自己的session啊。那个session,那个session里边数据会你在这个地方退出了,那个session数据会给你,会给你删除掉释放掉吗?不会知道吧,Session数据一直存的,那存到什么时候,那直到session过期了,是不是再给你把那些数据给你删了,内存给你释放掉了啊,如果是吧,如果你要这个三审不过期,你的数据一直存着,一直存着你还有用吗?你都退出来了,你的赛里边数据还有用吗?
09:00
这个用户session数据就没用了,那你说我一会儿又想登录,又想登录,又给你新开一个session,以前那个session即使有也没用了,大能理解这意思吧,就这样,这是我说这那30里边数据,我说都存在内存里边,存在哪的呢?后台内存了,服务器里边数据内存很宝贵的,你这么一退出,你的三审存在没用了,还存在,他也是这么退出,他也是这么退出,大家都这么退出。Session这边知么,服务器里边内存这边有大量的没用的session,所以这样的话,我们这个服务器这嘛,压力就比较大知道吧,特别是高并发访问的时候比较大,所以这种数据这么,所以这种退出都是不安全或者是低效果,所以我们应该怎么有这种安全退出的这种功能。安全退出功能什么意思?就是你要退出系统,你别直接关浏览器干什么,他一般都做一个什么安全退出的一个按钮,你想退出,你下班了,你不想用了,你点这个退出按钮,退出按钮怎么了?你点退出按钮怎么向后台发请,发请钮干什么?来请求我们的controller,请求我们的Java代码。
10:12
那请求我们的Java代码,这个时候就好办了,我们可以写相应的Java代码干什么,把有风险的数据,把占内存的数据,该删的删,该清的清,然后呢,再给你退出来,把你的界面给你关了就行了。这样的话就比较安全了,知所以这是我们说的他这个需求就这样,那你比如说来看我们这个地方用户这个登录的这个需求,那我们一块来看一看我们这个啊,你看这个安全退出的这个功能,大家我们来看一看,它这个流程基本上就做成这样子的,这个地方点进了。说用户登录成功了之后,他工作工作工作完了之后,他想退出来了,如果是在安全环境下可以直接退,那如果在不安全的环境下,对吧,那就不用直接退了,那不能直接退了干什么,再点这个地方下边都有退出按钮,那一点它弹出确定退出吗。
11:06
那这如果点取消其实就无所谓了,是吧,如果点确定好向后台发请求,为什么向后台发请求,因为我们要从后台执行我们的代码,把数据清了啊。啊,所以说大家他后头发行后脚后挖请求执行我们加油代码,那我们加油代码该删的数据删了,该清的数据清了,然后怎么跳转到登录页面。又跳转到首页去了,就这个意思知道吗?所以这是他大概这个需求,就这一般所有的这些系统都会提供安全退出的功能。从业务角度来讲,比较认为也比较简单吧,他说是用户在任意的业务页面时候,他做完工作之后都可以点击退出按钮,然后弹出确定退出的一个窗口,然后用户在这个什么窗口上面点击退出按钮,确定按钮,然后呢完成安全退出的功能。然后他有些特殊要求,他说什么,他说安全退出,要清空cookie,因为不安全,然后呢要销毁session,这样效率更高,然后呢,退出完成之后跳转到首页去。
12:10
这是他大概这个客户提出来这种需求,好这时王亚这那大家对这种需求有个大概了解之后呢,下边我们一块来简单分析设计一下,看这个需求到底我们怎么去做它,那我们还是简单来给大家设计个画一个简单设计个流程图,然后呢,我们把代码写,代码实验了就行了,好下边来。然后呢,大家看是这样,那下边我们这个地方还是给大家简单画一个图,这个呢,右键来画一个图,这个图我们叫安全退出,安全退出然后呢,下边我们简单画一下吧。然后我们说所有的流程都是从客户端发起的,所以所有的流程图第一个环节永远是客户端。这个客户端我们说就是浏览器,从技术上来讲就是JSP页面知道吧,所以我们这个地方就是客户端,他来发起整个退出的流程,他怎么发起需求,说的很明白了,说用户在任何一个业务页面上面做完工作之后,都可以点击退出按钮,那我们这个地方就来写了,这都是在页面上发生的事,我们这个地方在上面来一个说用户点击,用户点击,然后呢,退出按钮,退出按钮。
13:27
他一点退出按钮,在看发生了什么事。对,弹出确认退出的窗口,那我们这个地方来继续来,这些都是在页面上完成的,所以我们这个地方来写一下它,然后呢,弹出是吗?弹出确认退出的,然后呢,它叫模特窗口,模态窗口是什么样的意思,后边再跟有时间跟大家来讲这个模带窗口知道吧,然后呢,弹出来模带窗口之后怎么办?用户点击确定,这些都是在客户端,都是在浏览器上发生的,所以我们知道用户点击确定,点击确定,用户点击确定一点确定大概发生什么事。
14:14
思跳转。对,是不是要跳,是要跳转到首页去啊,跳转首页,首页的web in能不能从浏览器直接跳转过去。不行干什么,是不是得向后台CTRLL发个请求啊,CTRL把数据该删的删,该清的清,然后他是不是就可以跳转页面了,所以说大哥得像CTRL上发群了。所以呢,我们每一个环节都是需求推动,我们做的不是说一拍脑子我想怎么着就怎么着,不是这样的,都是需求推动,但你得能够分析这个需求啊。所以说他一点确定要跳转到首页去,跳转到首页,我们说那我说他不能直接跳转啊,得经过ctler,所以我们这个地方得来一个ctrler,第二个环环节这个CTRL知道吧,那这个CTRL我们说是新创建CTRL,还是在原来CTRL方基础上加方法。
15:08
来了。对,那我们说,那你看他响一起回到哪,回到首页,首页是哪个。对,还是那个EXJV跑到哪,是不是还是到最终用户想到那个什么登录页面去啊,一访问首页是不是到登录页面了,用户到登录其实就是到登录页面,登录页面在哪个目录下边呢?对权限U下边这个我们说每一个资源目录对应一个CTRL类,这个资源目录有CTRL类吗?现在有userl ctrl是不知样子,所以我们不用创建新的CTRL类了,就直接在这个CTRL类基础之照加方法就行了,所以这个地方来一个URL ctrl。在这里边加一个方法是吧。来接收并且处理这个请求,知道吗?
16:00
然后呢,向他发一个退出的请求,退出请求,那这个请求大家想一想,同步的还是异步的。对,为啥同步的,对要跳转整个页面,是不是刷新了退出整整个页面同步请求,同步请求需要提交参数吗?对,不需要,因为什么?因为后面是CTRL的,它处理的时候不需要参数,是不是张总他为什么不需要参数?那你看他干什么事儿是吧,他干什么事?对山清空枯给山销毁三神,然后跳转页面是不是这样吧,这三件事是不是不需都不需要什么参数啊对,都不需要什么参数,所以他不需要,他不需要他数不用提交,不用提交,然后提交,然后呢,把请求发给他了,他接收请求之后,三个值的第一个接收请求有参数,获取参数。然后没有参数是不是不用获取了,通过ul将来可以接收到请求,然后呢,没有参数不用获取,更不用封装了,然后他干什么事。
17:04
对,他的第二个职责是不是要处理业务了,处理业务就处理数据,它处理数据,处理哪些数据。是不是为了安全,为了高效,该一些cookie,该删的删了一些session session是不是该该销毁的也要销毁了,是处理这些数据吗?那处理这些数据,这些数据需要访问数据库吗?不用是吧,因为他不这些数据不不牵扯到数据库,所以我们这个地方处理数据的时候不用调service,也不用调map,因为service和map主要是为了操作数据库的,所以他的第二个职责压根就不用调service,不用调map,那他干什么?直接在他这块CTRL方法里边直接做这个事就行了,干什么事?删除叫清空cookie吧,清空cookie,把以前写的cookie为什么,为了安全退出该以前写的,万一记录密码写cookie了,该清空的清空的是吧,然后呢,为了以后什么更高效,把它的session销毁,销毁session就行了,销毁session知道吗?好,这些数据该删的删了。
18:14
把该销毁的销毁了,然后他的第他的第二个职责就完了,数据都处理好了,下边第三个职责干什么?对,要返回响应信息了,返回详细信息,返回什么?你看前台需要什么。前台需求说了,退出成功之后要跳转到首页,首页其实就能登录页面要跳到首页,那跳转首页这个地方是不是处理完之后,它要跳转到首页去了。对,跳转到首页,所以他处理完就要跳,要用户需求说了要跳转到首页,有首页是不是可以自动跳转到登录页面页,所以这个地方只需要跳转到首页就行了,所以我们这个地方来个首页。来个首页,然后呢,这个地方我们来个首页项目首页,项目首页看一下,然后呢,这个地方我们说跳转过去就行了,这怎么来个跳转,跳转到首页。
19:09
那这个首页带看我说跳转到他了,他干什么事儿呢。它肯定是个JSP是不知道吧,那首页一运行,运行之后他想跳哪个跳到哪,那它跳到哪,我们首页工作已经做完了,总之他是不是到最后,最后运行出来一个网页啊,一个网页,这个网页那就往回返就行了,这个网页在后台经过一系列的跳转,知道吗?继续来我这个地方,这个首页后台。首页后台经过啊,经过一系列的跳转,它怎么跳转,咱们第一个功能,首页功能已经给大家做完了,大家可以参考那个功能知道吧,经过一系列的跳转,然后呢,然后呢,运行出知道吧,一个一个HTML的一个网页,知道其实就是登录网页,就最终跳转到登录网页去了,然后把这个网页。
20:07
返回到前台作为响应信息,作为响应结果跳上了,那这个响应信息就是一个网页了,这个网页就是A前面网页,这个网页其实就是个登录页面。中间肯定经过一系列调整,这个怎么跳转呢?咱们前面已经给他做过这个首页功能了,知吧,就是登录网页,然后呢,再看那这个什么浏览器客户端,拿到这个什么网页之后,就是在工作,就是在整个窗口中显示登录页面了,浏览器,嗯,浏览器,然后呢,显示显示登录页面,登录页面,那这样对用户而言的话,他这个地方它就这样了,他一点这个地方一点确定这个地方就显示登录页面了。就退出来之后来到登录页面了,知道吧。就是通过首页就跳转到动页面了,这这是我们说到这好这样的话,我们整个流程我们就设计好了,好吧。
21:05
这时候。
我来说两句