00:00
登录功能我们已经做完了,接下来我们准备把主页面的功能给它补充完整,因为一旦登录成功就会跳转到这个页面,所以接下来我把页面给它找到,我们这里会有个静态页面,我们叫做man,就是主页面了,所以打开,打开以后把里面的内容原封不动拷贝到我的页面里面。好,那么拷贝完成以后,那接下来我们把里面必要的内容给它变一变,我们写上叫GHCN,还有UTF杠八统一编码,嗯,行了,写完之后我们什么都不用管它,我们先把页面的效果展现出来,所以我们刷新一下来,把这个地方我们点击它写上张三,然后张三我们点击登录点。点完以后,大家可以看到这个就是我们的主页面了,可是呀,这个主页面的右上角,大家有没有发现它这里面有一个名称叫张三呢,这个张三他不应该固定写死了,为什么?因为我要把当前登录用户的名称给它显示出来,而不是一个固定的值,这是不行的,所以在这种情况我们需要把它变一下。
01:29
在我们页面的这个位置,我们会有一个张三,那么这个值我们说了不应该是固定不变的,应该是变化的,所以我们点击它,我应该写上Dollar符。我们的大括号,我要采用EL表达式来获取登录用户信息的名称,可是你之前从来就没有保存过登录的用户信息,那你如何取到呢?所以在咱们之前的登录功能当中,其实还是有一些问题的,有什么问题啊,就是我们这里啊成功,我只是告诉他true还是false,但是我并没有把这个用户保存,那不行啊。
02:14
所以在这个时候我们该怎么办?我们应该把用户信息保存好。那你把用户信息保存好的话,你保存到哪里去呢?我们知道在我们web系统当中,要保存数据,要共享数据,有四个范围,第一个叫页面范围,第二个叫请求范围,第三个叫会画范围,第四个叫应用范围。那么我们的请求范围比页面范围要大,那是因为在转发的时候它可以跳跃多个页面,所以我的请求比页面范围要大,而绘画比请求范围要大,那是因为我们的一次会话可以发送多次请求,所以我们这里我们session会话要比请求范围大。
03:05
而我们的应用。它表述的是我当前的服务器的应用对象,那么它只有一个,可是服务器的应用对象只有一个,但是每个用户就是一个会话,那么就会有多个用户,多个会话,那么这样的话,请求对象。它比绘画对象要小,但是应用对象比绘画对象范围要大啊,所以这几个关系我们要考虑清楚,那好回过头来,我们这儿要把数据存在哪呢?首先请求范围要跨越多个页面是有前提条件的,因为要转发,可是大家想一想,我们这能用请求范围吗?我们这儿不能用,为什么?因为我们这里采用的是阿贾克斯来做操作,阿贾克斯他可不跳转页面呢,它不跳转页面,那就意味着我们的数据保存到请求范围里面,下一个页面是取不到的。
04:08
那怎么办?我应该给他。扩大它的范围对吗?那比请求范围要大的有两个,一个是绘画session,一个是应用application,你要放在哪里?那有同学老师放在session里面,那我相信你肯定是看过一些网络上的书籍,你知道放到session里面,但是问问你,你有没有想过放在application里面行不行呢?你的application范围,应用范围比范围也要大呀,那我把那个用户的信息放去行不行。不行。为什么?因为obli对象是不是只有一个,那么你也放我也放,那么你后放的是不是就把前面的给它冲掉了,那数据不就丢失了吗。所以在这种情况下,我们是不能把用户信息放到应用范围当中的,我们只能放到会话范围当中,所以在这种情况下,我要把那个绘画的对象或者叫session对象给他拿到。
05:18
拿到以后,把我当前我们查询的结果给它保存起来,因为你查询结果不等于那就说明我查到数据了,那我查到数据我就放到当中,所以点我们site attribute,然后写上我们就叫login,叫登录用户,你把这个DB给它放到这里。放完了以后,那我这边就可以取它了,所以叫log u点,那么我们的这里面是有对应的一些属性的,所以有一个叫username,把它拷贝过来。
06:01
好了,那你现在登录的用户信息就有了。那有了之后,那接下来我们还有一个叫退出系统,这是什么意思呢?它表述的是我们当前登录的用户不想再使用系统了,我要退出了,那这个时候我们要。把session中存储的数据给它删掉。所以啊,在这种情况下,我们要发出一个请求,那么我们就叫lockout。写完之后,在我的这个位置,我要增加一个logout,那么然后写上public string,然后叫logout。写完之后,那么然后斜杠。Log out好了,那么这个时候我们说了,你之前往session里面放数据,那我现在不想使用系统了,我就得把session中的数据给它删除掉,所以我这里还要拿到那个session,那你拿到session以后,那你这里的目的是为了要什么呢?你要把它数据删除掉,所以点remove,我们叫attribute,然后写上叫log,哎,我们这么写就OK了。
07:17
然后既然你退出系统了,那我们就回到登录页面就可以了。所以。我们的log音,并且呀,我希望我浏览器的地址也指向登录页面,所以啊,我这里写上叫CT。啊,我们这么写叫direct好了,你写完以后,那我现在就可以回到登录页面了啊,诶老师啊,那万一我们session中的数据它如果特别的多怎么办呀,也就是说我们的这个。三里面的数据不仅仅只有它,那该怎么办?难道我要一个一个删吗?不方便,所以我们的程序当中它提供了一个更加简洁的方法来session点它叫做失效。
08:10
让session失效,那它里面的数据就都不起作用了,所以我调用了一个方法in validate,通过它就可以把所有的数据全部给它删除掉,非常的方便啊。好,那我现在呢就来试一试,看一看我们的效果。把服务器停掉,重新启动。启动完成以后,那我现在呢,就可以直接来了,我们后退,我们刷新,刷新以后我输入张三,然后张三写完之后点击登录点。那么成功登录了,然后你会发现显示的就是我们的名称张三,然后我再点击退出点你又发现它又回到了登录页面。
我来说两句