00:00
大家好,上节课呢,我们完成了注册的一系列的一个动作,那这节开始呢,我们来完成登录的操作。看我们登录的lo.jsp这个呢,我们还没有写,所以呢,我们先把这个页面做出来。找到我们的登录,现在是log.tl这个页面,我们复制一下,然后我们新建一个。JP文件叫做给。点GSP。然后把所有的代码我们粘过来。这就是我们这个呃登录的一个简单的一个界面,登录的GSP,呃里边用户名密码,然后登录,当然了,我们这里边儿还没有什么,还没有验证码,您可以把验证码加上,那过程呢,和我们注册的那个验证的过程是完全一致的,所以这里边咱就不加了,咱直接将这里边的呃用户名。User name和密码写上。DSWD。然后提交的位置我们呃,变成我们login,到我们sol里边去登录提交。
01:06
去登录一下,这个过程呢是比较简单的,所以我们先看一下这个分布的界面。好。用户名密码,然后一点登录提交,提交到哪呢?提交到我们的log音这个位置,那我们同样在我们的用户这块新建一个我们就叫做音。啊,So,你可以叫log in,也可以叫login,名字是无所谓的啊,自己可以随便去起那这里边的过程。这些不要使用post提交,那我们就只留这一个,呃录post就可以了,那这里呢,呃,过程和其他的是一样的,肯定都得设置一下字符集之类的,对吧。啊,过来。升级,然后我们通过请求对象里边获取用户名来获取一下呃,用户的密码。
02:00
User password,这会改成PSSWD。用户名我们,呃,行吧,无所谓了。密码。PSSWORD。设置完获取完用户密码,那获取完用户密码呢,那我们需要到数据库里边干嘛呀,去查询一下。通过用户密码能不能查出记录来,如果能查出记录来,那说明这个用户密密码在数据库里边,我们是注册过的,如果查不出来,肯定是不注没有注册过的,所以呢,我们通过啊S从数据库里边获取,那就是呃l mon3号线O通过里边的。嗯,这个方法咱们也写啊,咱们先简单写一下,呃,先标记上s select,比如说选择通过呃NM那个用户名和密码。然后返回来的是一个,呃,数量我们。
03:04
跟通过那个查找记录存不存在是一样的,然后传递我们的用户名和密码用户名。密码,PA pas swd。嗯。用户。用户名。和密码传进去,当然这个方案我没有,对不对,我先暂时不写,然后如果。大于零,查到这个数据了,我们就证明是可以登录的,否则我们是不可以登录的,那登录的呢,我们就设置session,不登录的呢,我们就不设置session,就就不把它加到session里边就可以了。那现在我们先通过。嗯,先把这个失败这个知道,如果他登录是失败的,就跳转找到我们的。
04:01
加过来加代码。如果是失败的,那么我们打印这个登录失败用户。登录失败,当然了,你可以告诉他是什么原因失败的,那就已经可以不告诉他,你告诉太详细的话,比如说要是黑客攻击的话,就知道了用户名是错误的,还是密码是错误的对不对,然后登录失败,你们重新转到这个,呃,Log,然后我们。呃,这个没问题。都是这个,嗯。那如果成功的话,我们就写成功的这样的一个步骤,我们先把这个方法写完,叫select来,那我们到。啊,离开这个文件,我们到这个层里边找到这个,我们在最下边添加这两个,添加这个方法。叫做呃,通过用户名查找,那就public。在的静态的返回的是数量查询的数量。
05:03
然后里边选两个参数,一个名字,一个密码,是注册的一个一个。呃,密码,比如说PW这变量名是呃,随便写的,当然他需要返回这个数量,那我们先,不然的话这有个错误,Int,比如说CT等于零,然后re t返回cut,再把这个端。错误现象,他没有把函数的结构我们写完,然后查询的过程其实和我们,嗯找一下。嗯。和这个过程都是相似的。我们把。过来直接改变一下就可。一个最上边一个下边啊。你比如说步骤还是这样的,声明连接对吧,预处理四个语句,然后呢,声明这个结果集注错,然后在这里边,呃,声明词个语句,这个词构语句我们就需要查找,呃不是一个了,而是两个关二条件用户名。
06:04
也就是用户这个ID等于并且ad,并且什么呢?User用户的pas SW RD,用户密码等于问号,用这两个条件去查,当然用这两个条件去查,那第一个参数肯定不是ID了,是用户名name。第二个。我们得设置一个,把那个问号绑定,第二个是PWD。然后我们把这个问号补上数据之后,然后执行一下,执行一下通过这里边儿获取这里边儿的第一个值,然后。返回。这样的话就回到我们登录页面。如果按照用户密码能查到,他就是一查不到它就是零,所以呢,能查到是一,那就。呃,我们就可以。开始写注册的这样的一个过程了。但是这里边呃注册的过程肯定是把用户这个放到那个呃session里边,对吧,把用户信息放到session里边,所以我们需要HTTP获取这个呃session。
07:07
T等于re里边。提示吧,省得写错。只有。那获取我们的首先呢,我们的三对象。把取出来的这个用户的信息放到这里边儿,但是我们只取出数量,判断成功不成功对不对,所以我们还需要一步,就是把整个用户的信息都取出来。呃,我们用。哦。啊,整个用户信息呢,我们就还是用这个吧。找到这个用户的这个实体啊,起个名叫user,等于通过我们。这里边的我们就需要什么换个方法了,比如说查询,呃,你就查询密码。
08:08
查询用户去管理的这个,呃,去登录,然后通过用户密码,当然这个方法我们现在还有。看一个错误宝宝。这个宝宝。当然还有错,这个方法没写,那我们还是到市里边把这个方法写完。就这里边我们下边写一个这样的一个呃查询方法,这个呢跟呃前面的用法是一样的,还是通过用户名密码这样去查询,Public静态的这回返回来的就是什么。User返回来的是这个用户,然后我们的名称通过什么呢?通过。名字参数。通过用户名和。PWD密码这两项我们去过去注册一下。哦。
09:00
过去。通过用户名和。密码查询用户信息,把这个用户查出来,那这里边的写法,当然我们返回的是呃,一个用户,那这里边的写法和我们通过ID的写法是一样的,所以我们也没有必要在这里边一个插包,你看通过ID查找出来一个用户。这个过程是一样的。只不过这就变了一下而已。原封不动的搬过来。放到这里来。啊。然后我们这里边开始查询所有的用户,呃,查询所有的用户信息,然后往前端去去放,那这块呢,Y条件就不是用D等于了,加上一个并且。并且什么用户的pass。Word等于问号。通过这两个参数来获取到。
10:01
那这块这个ID就不存在了,所以呢,第一项我们是。来第二项我们是啊,PWD。二。这样的话,把两个问号绑定,我们能查出所有的呃这样的信息,然后执行这个语句,然后获取一条用户信息,获取条用户信息呢,我们把这用信息完全的呃返回去。这就是我们这样的一个一个过程。然后在这里边还有一个。这还有错?哦。用户名密码用密码,刚才这没有错,现在保存一下保好,只是应该是刚才跟这个冲突了。好,那我们获取到了这个用户信息,那我们就需要把它放到session里边,只有放到session里边,我们在所有的地方才都可以使用,那我们通过session如果是登录成功的,我们获取到这个用户信息,把session里边的呃,Set。
11:02
A是什么呢?比如说我们叫呃。这个你可以直接是都行,这。那比如说我们设置名字叫做user,这是整个用户的对象啊,去放进来了,然后你最好是做个标记位,不然的话,我们每次判断的都是判断这个名字重存在,其实也可以,对吧,但是我们做个标记位有可能会更好一些,那我们再加一个,因为30里边可以加很多东西嘛,对吧,比如说再加一个标记位,假如说是呃,Is RO,如果是登录的成是成功的,我们就在30里边加一个一。那我们只要判断a log音等于一,Section里边a log等于一,其实就是登录成功的对吧?然后我们再从内里边获取每一个值就可以了,那其实登录就这么简单。这个,那然后之后呢。我们需要把什么把呃重定向道re,呃重定向道使用。
12:04
RR。成交到哪呢?我们的点首页,当然我们后期是不能直接。因为呃,需要从后台获取一些数据,你直接访问JSP文件,需要在JSP里边获取依据,所以我们这块反问来还是搜类,但我们先暂时这么写,看一下我们登录能不能成功,这样的话登录成功就会转这里边,登录失败就会继续搁这里边,当然了,如果你需要在登录的时候,需要验证验证码啊,验证用户名没空啊,密码没空啊,跟咱们注册写的过程其实是完全一模一样的啊。那我们一下。比如说我们随便写一个用名句肯定是没有的。嗯,又回到烙鼻烙鼻尖。J。正好怎么用跑到烙。啊效音,但是这块我们应该是请求,呃,发送这块没有写对。
13:05
老。没问题,看下边提供什么样的所有异常,没有异常那我们重启一下应该是。我们喜欢没有?东西。他发现不了这个。有点着急啊,随便写一下。那我给你点P。他已经跳转到。我。这个位置,然后有没有错误,没有错误提示比较麻烦。字符集用户名密码用户名密码。是不是跟我们原来的错误是一样的,因为我们随便输的用密码,但是没登录过来的。
14:05
过来了,查一下是不是还接着写错,又写分号。来我们看一下在这块用户登录失败。它肯定是跳转到这个位置,对吧,不会上到这个位置,因为我们随便写的用户名,来我们试一下刷新。用户通知失败,然后又回到这个地方,那我们同样比如说用密密码。忘记了密码。嗯,密码。也会形成。呃,比如说赵六密码一一张三,呃,张三密码一一对吧,六张三都有,那我们随便找一个,比如说。张三。密码是正确的。诶,会跳到in的JP,因为我们没有这个文件,所以呢,获取不到,这是证明我们是呃登录成功的,它跳转到这个in代的JP这样的一个页面啊,这就是我们的登录过程,那这节课我们现在。
我来说两句