购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.8 后台登录设计

1.8.1 后台登录功能概述

用户通过单击前台页面顶部的“进入后台”超链接,进入后台登录页面,如图1.14所示。

为了防止任意用户进入后台,进行非法操作,所以设置登录功能。当用户没有输入用户名和密码,或输入了错误的用户名和密码进行登录时,会返回登录页面显示相应的提示信息,如图1.15所示。

图1.14 用户登录页面

图1.15 登录失败

后台登录模块的操作流程如图1.16所示。

图1.16 后台登录模块流程

在实现登录功能时,对于已经登录的用户,当再次单击前台页面顶部的“进入后台”超链接时,应直接进入后台主页,而不是再次显示如图1.14所示的登录页面要求用户登录。

1.8.2 后台登录技术分析

在后台登录模块中,对于已登录的用户要跳过登录页面,直接进入后台主页。实现该功能的主要技术就是:在当前用户登录成功后,向session中注册一个属性,并为该属性赋值,当用户再次单击“进入后台”超链接时,在程序中先获取存储在session中该属性的值,然后通过判断其值来得知当前用户是否已经登录,从而决定将请求转发到登录页面还是后台首页。

1.8.3 后台登录实现过程

后台登录用到的数据表:tb_user。

根据技术分析,用户单击页面顶部的“进入后台”超链接请求登录时,会先判断用户是否已经登录。若没有登录,则进入登录页面,在该页面中填写用户名和密码后,提交表单,在Action处理类中获取表单数据进行验证,验证成功后查询数据表,查询是否存在用户输入的用户名和密码;若存在,则登录成功,进入网站后台。如果用户已经登录,则直接进入后台。下面按照这个流程,介绍后台登录的实现过程。

1.实现“进入后台”超链接

在view目录下的top.jsp文件中实现进入后台的超链接。代码如下:

代码位置:光盘 \TM\01\WebRoot\view\top.jsp

上述代码实现的超链接所请求的路径为log_isLogin.action,触发该超链接产生的请求将由LogInOutAction类中的isLogin()方法处理,isLogin()方法用来判断用户是否已经登录。

2.设计登录页面Login.jsp

在登录页面中,应包含一个表单,并提供“用户名”和“密码”两个表单字段以便用户输入数据。Login.jsp页面的关键代码如下:

代码位置:光盘 \MR\01\WebRoot\pages\admin\Login.jsp

3.创建封装登录表单数据的JavaBean

该JavaBean用来保存输入的用户名和密码。代码如下:

代码位置:光盘 \MR\01\src\com\yxq\model\UserSingle.java

4.创建LogInOutAction类

LogInOutAction类用来处理用户登录和退出登录请求。代码如下:

代码位置:光盘 \MR\01\src\com\yxq\action\LogInOutAction.java

当用户触发“进入后台”超链接后,请求由LogInOutAction类中的isLogin()方法验证用户是否已经登录。isLogin()方法的代码如下:

代码位置:光盘 \MR\01\src\com\yxq\action\LogInOutAction.java

若用户没有登录,则进入登录页面,在该页面中输入用户名和密码后提交表单进行登录,请求将被提交到LogInOutAction类中的Login()方法进行身份验证。Login()方法的代码如下:

代码位置:光盘 \MR\01\src\com\yxq\action\LogInOutAction.java

请求被提交给Login()方法之前,需要进行表单验证,所以可实现validateLogin()方法来验证表单,其实现代码比较简单,这里不再给出,具体代码读者可查看本书附带光盘。

5.配置cityinfo.xml文件

之所以能在触发“进入后台”超链接和提交登录表单后,请求LogInOutAction类相应的方法进行处理,是因为在cityinfo.xml文件中指定了它们之间的关系。配置代码如下:

代码位置:光盘 \MR\01\WebRoot \WEB-INF\classes\cityinfo.xml KDCxLTaw6vX0buau2KfwwXrBlI2LtDjb1TFgAuBfjB0M8VrT7fiPbOxH/hfEDN8w

点击中间区域
呼出菜单
上一章
目录
下一章
×