《整合开发注册登录系统ppt课件》由会员分享,可在线阅读,更多相关《整合开发注册登录系统ppt课件(34页珍藏版)》请在金锄头文库上搜索。
1、第15章 整合开发注册登录系统,15.1 系统分析 15.2 Hibernate持久层设计 15.3 DAO层设计 15.4 业务逻辑层设计 15.5 完成用户注册模块 15.6 完成用户登录模块 15.7 小结,15.1 系统分析,15.1.1 应用背景以及系统功能介绍 15.1.2 系统结构 15.1.3 系统功能模块,15.1.1 应用背景以及系统功能介绍,本章的任务是整合Struts 2 、Hibernate、Spring三个框架来构建一个注册登录系统。 注册登录系统主要包括实现两个功能:用户的注册、用户的登录。用户注册和登录这两个功能几乎是每一个网站所必需的功能,特别是网站需要识别用
2、户身份。用户注册可以向用户提供在网站中注册其信息的功能;用户注册之后,该用户即可以通过用户登录功能登录到该网站。用户的登录能够用来使得合法用户登录到该网站。,15.1.2 系统结构,本系统采用J2EE应用结构,分为如下几层。 表现层:由JSP页面组成。 MVC层:使用Struts 2框架技术。 业务逻辑层:使用业务逻辑组件构成。 DAO层:使用DAO组件构成。 Hibernate持久层:使用Hibernate框架技术。 数据库层:使用MySQL数据库存储数据。 从下面图15-1中可以看出各层之间的关系。,15.1.3 系统功能模块,注册登录系统是一个非常小的系统,一般作为大型系统的两个模块。注
3、册登录系统本身包含两个功能模块:用户注册模块、用户登录模块。 用户注册模块用来添加用户注册功能。通过判断是否已存在相同用户名的用户,决定是否允许用户注册。如果已存在该用户名的用户,则注册不成功,要求重新输入用户名再进行注册;如果不存在该用户名的用户,则允许其注册。 用户登录模块用来添加用户登录功能。通过判断该用户是否已经注册即在数据库中是否存在该用户,决定用户是否允许登录。如果存在该用户,则登录成功;如果不存在该用户则要求用户首先注册然后再来登录。,15.2 Hibernate持久层设计,15.2.1 创建持久化PO类 15.2.2 创建映射文件,15.2.1 创建持久化PO类,创建持久化类。
4、该类中包含六个属性,分别表示用户ID、用户名、密码、年龄、生日、email地址个属性,并添加属性的setter和getter方法。,15.2.2 创建映射文件,映射文件用来映射持久化类和数据库表,从而将持久化类中的属性和数据库表中的字段关联起来。指定用户ID为主键,主键的生成方式为自动递增,代码如下所示。,15.3 DAO层设计,15.3.1 Spring管理SessionFactory 15.3.2 创建DAO接口 15.3.3 创建DAO实现类 15.3.4 配置DAO组件,15.3.1 Spring管理SessionFactory,通过Spring定义数据源,并配置和管理SessionF
5、actory。该SessionFactory为其他DAO组件的持久化访问提供支持,代码如下所示。,15.3.2 创建DAO接口,新建UserDAO接口,该接口中定义了两个方法,分别用来进行添加用户和根据用户名查找用户操作,代码如下所示。 package net.hncu.dao; import net.hncu.po.User; public interface UserDAO /添加用户 public void add(User user); /根据用户名查找用户 public User findUser(String username); ,15.3.3 创建DAO实现类,新建UserDA
6、OImpl类,该类实现UserDAO接口。在该类中添加相应方法的具体操作,代码如下所示。,15.3.4 配置DAO组件,在Spring配置文件中定义HibernateTemplate模板类,并为其注入SessionFactory实例。同样配置DAO组件,并为其注入HibernateTemplate实例,代码如下所示。 ,15.4 业务逻辑层设计,15.4.1 创建业务逻辑组件接口 15.4.2 创建业务逻辑组件实现类 15.4.3 配置业务逻辑组件,15.4.1 创建业务逻辑组件接口,新建业务逻辑组件接口,该接口中定义了注册用户,判断是否允许用户登录,判断是否允许登录三个方法,代码如下所示。
7、package net.hncu.service; import net.hncu.po.User; public interface UserService /注册用户 public boolean add(User user); /是否允许登录 public boolean isLogin(String username,String password); /是否允许注册 public boolean isRegister(String username); ,15.4.2 创建业务逻辑组件实现类,新建业务逻辑组件实现类,该类实现业务逻辑组件接口。业务逻辑组件通过调用DAO组件从而实现业务
8、逻辑操作。,15.4.3 配置业务逻辑组件,在Spring配置文件中配置业务逻辑组件组件,并为其注入DAO组件,代码如下所示。 ,15.5 完成用户注册模块,15.5.1 整合Struts 2和Spring 15.5.2 创建用户注册页 15.5.3 创建用户注册控制器 15.5.4 配置用户注册控制器 15.5.5 创建校验规则文件 15.5.6 创建图形验证码生成类 15.5.7 生成图形验证码 15.5.8 使用Ajax验证用户名是否被占用 15.5.9 测试注册新用户,15.5.1 整合Struts 2和Spring,整合Spring之前首先需要为Web应用添加Spring所需的JAR
9、文件,然后修改web.xml文件。通过添加一个Listener,使得Web应用启动时会自动查找WEB-INF目录下的applicationContext.xml配置文件,并根据该配置文件来创建Spring容器。同时安装Struts 2的Spring插件,代码如下所示。,15.5.2 创建用户注册页,新建用户注册页,该页面中包含一个表单,用来输入注册用户信息,代码如下所示。 注册页面 ,15.5.3 创建用户注册控制器,新建业务控制器RegisterAction,该Action接受用户注册页传递的参数,并将接受的参数设置到User实例中,然后调用业务逻辑组件保存该用户。,15.5.4 配置用户注
10、册控制器,在Spring配置文件中配置业务控制器registerAction,并为其注入业务逻辑组件,代码如下所示。 在struts.xml文件中配置RegisterAction,并定义处理结果与视图资源之间的关系,代码如下所示。 /register.jsp /login.jsp /register.jsp ,15.5.5 创建校验规则文件,新建校验规则文件,其中包含如下输入校验规则。 (1)用户名、密码、确认密码必须输入。 (2)用户名只能是数字或者字母,长度为620之间。 (3)密码,确认密码必须是数字或者字母,长度为620之间。 (4)密码和确认密码必须相同。 (5)年龄必须为整数而且必
11、须是有效的年龄值。 (6)出生日期必须为正确的日期格式如1988-01-03,而且只能是1900-1-1年到是2010-1-1年之间。 (7)邮箱地址必须为合法的邮箱地址。,15.5.6 创建图形验证码生成类,为了防止恶意用户的注册以及暴力破解,需要为注册系统添加图形验证码检测功能。用户只有输入正确的验证码才能进行注册,否则不能注册。 为了生成图形验证码,首先添加一个图形验证码生成类,通过调用该类中的方法即可生成图形验证码。,15.5.7 生成图形验证码,前面已经创建好了图形验证码生成类,现在只需新建一个Servlet,由该Servlet调用图形验证码生成类中的方法来生成图形验证码。,15.5
12、.8 使用Ajax验证用户名是否被占用,在传统的Web应用中,需要填写了所有注册信息并提交后,才能知道该用户名是否存在,用户体验非常差。使用Ajax技术可以使得用户输入完用户名后就能够提示用户输入的用户名是否被占用。 新建业务控制器ValidateNameAction,设置同注册表单相对应的属性,并添加其setter和getter方法。,15.5.9 测试注册新用户,打开浏览器,运行用户登录页,如图15-2所示。从页面中可以看到一个注册表单以及一个图形验证码。 当输入一个错误的验证码进行注册时,页面会跳转回注册页面,并显示验证码输入错误提示信息,如图15-3所示。,15.6 完成用户登录模块,
13、15.6.1 创建用户登录页 15.6.2 创建用户登录控制器 15.6.3 配置用户登录控制器 15.6.4 创建校验规则文件 15.6.5 测试用户登录,15.6.1 创建用户登录页,新建用户登录页,该页面中包含一个表单,用来输入登录用户信息。同样为该登录页面添加图形验证码,代码如下所示。,15.6.2 创建用户登录控制器,新建业务控制器LoginAction,该Action接受用户登录页传递的参数,并调用业务逻辑组件来判断用户的合法性。,15.6.3 配置用户登录控制器,在Spring配置文件中配置业务控制器LoginAction,并为其注入业务逻辑组件,代码如下所示。 在struts.
14、xml文件中配置LoginAction,并定义处理结果与视图资源之间的关系。代码如下所示。 /login_success.jsp /login.jsp /login.jsp ,15.6.4 创建校验规则文件,新建校验规则文件,其中包含如下输入校验规则。 (1)用户名、密码必须输入。 (2)用户名只能是数字或者字母,长度为620之间。 (3)密码必须是数字或者字母,长度为620之间。 通过如上校验规则,编写校验规则文件,代码如下所示所示。,15.6.5 测试用户登录,打开浏览器,运行用户登录页。从页面中可以看到一个登录表单以及一个图形验证码,如图15-5所示。 当输入一个错误的验证码进行登录时,
15、页面会跳转回登录页面,并显示验证码输入错误提示信息,如图15-6所示。,15.7 小结,本章重点介绍了通过基于Struts 2、Spring和Hibernate框架来开发注册登录系统。在开发系统中,充分的利用的J2EE分层的思想。通过Struts 2框架负责与用户进行交互,并通过业务逻辑组件完成业务逻辑判断。通过Struts 2整合Spring,从而为Struts 2中的Action注入业务逻辑组件。同时整合Hibernate框架进行持久化访问操作。本系统中还使用了Struts 2的JSON插件来完成Ajax交互,从而实现异步的检测用户名是否占用。本系统还是用了图形验证码,从而防止恶意用户的侵入,增强系统的安全性。,