淘淘商城——单点登录之用户登录页面实现

我们来看下login.jsp页面,如下图所示。可以看到 <input .../>标签中并没有定义onclick方法,只是定义了个 id="loginsubmit",那么onclick事件在哪儿定义了呢?
这里写图片描述
其实是在js代码当中定义了,如下图所示,页面加载完后就给id为loginsubmit的按钮添加了onclick事件,当点击这个按钮的时候,会触发LOGIN对象的login方法,login方法要先检查用户名和密码是否为空,如果为空则弹出alert警告框进行警告,如果都不为空,就调用登录方法。这里需要说明一点的是,登录有可能是从不同的页面跳转过来的(比如你在京东购物,在购物车里添加好了商品,要去结算时,如果没有登录的话,是需要登录的,但是登录之后还要回到购物车界面的),因此登录成功后还应该回到原来的页面中。
这里写图片描述
现在我们来测试登录,由于登录后要跳转到淘淘商城首页,因此我们要先启动淘淘商城相关的所有服务,zookeeper服务、image服务、Solr服务(我这里用的是集群版)、Redis服务(我这里用的是单机版)、ActiveMQ服务。启动好服务之后,我们依次启动taotao-manager、taotao-content、taotao-search、taotao-sso、taotao-manager-web、taotao-portal-web、taotao-search-web、taotao-item-web、taotao-sso-web这9个工程,成功启动完工程后,我们就来测试登录,我们先来输个错误的密码,如下图所示。
这里写图片描述
这样的话,登录会报空指针异常,如下图所示,出现空指针是由于登录失败,result的data值是NULL,因此才会报空指针异常。
这里写图片描述
要解决这个问题很简单,在写入cookie之前,先判断下是否登录成功,登录成功之后再写入到cookie,如下图所示。
这里写图片描述
修改了UserController类的代码,现在我们重新启动taotao-sso-web工程,启动好后,我们输入正确的用户名、密码进行登录,会发现提示登录成功,点确定后,会跳转到淘淘商城首页,如下图所示。当然了,现在淘淘商城首页还没有完全连通起来,所以会发现这个页面并没有显示已登录状态,而是依旧是未登录状态。
这里写图片描述

猜你喜欢

转载自blog.csdn.net/a_blackmoon/article/details/80555637