JAVA WEB课程设计 注册登录系统 用SSH框架整合实现注册登录系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用SSH框架整合实现注册登录系统

注册登录系统几乎是每一个web程序必须拥有的功能,因此,在本次课程设计中将其单独提取出来,并使用SSH框架的整合来实现这个系统。虽然注册和登录系统并不复杂,但这两个子系统却拥有一个完整系统的必要功能,如验证客户端输入、数据库访问等。因此,通过本次课程设计的练习,大家可以基本上了解使用SSH框架整合开发一个完整系统的一般步骤。

本次课程设计的主要内容有:

●系统概述

●设计数据库

●SSH三大框架的整合

●MD5加密的实现(选做)

●注册系统的实现

●登录系统的实现

1、系统概述

本次课程设计练习了一个简单的Web系统,该系统实现了用户注册、用户登录两个功能。本系统的实现是基于SSH框架整合技术的。本系统功能单一,业务逻辑简单。主要用于大家练习如何使用SSH框架整合技术开发一个完整的Web 系统。

1.1系统功能简介

本系统分为两个功能:注册和登录,当用户注册一个新用户时(可以使用英文和中文用户名),就是向数据库的user表中添加一条记录。

当用户输入注册信息时,本系统提供了基本的客户端验证,来判断用户输入的合法性,只有当用户的输入满足系统的要求时,才会将用户输入的数据提交到服务器端负责处理注册信息的Action。在注册Action成功处理完用户提交的注册信息后,客户端仍然会回到注册页面。如果用户想使用已经注册的用户名来登录,可以通过单击“登录”超链接转到登录页面进行登录。

当用户在登录页面正确输入在数据库中已经存在的用户名和密码时,就可以成功登录了。在用户登录页面也拥有和用户注册页面类似的客户端验证机制。也就是说,只有当用户名和密码都输入时,系统才会向服务器端负责登录的Action 提交信息。通过验证用户名和密码都正确,系统才允许登录。

1.2系统总体结构

本系统的注册系统和登录系统是相互独立的,但可以通过使用注册和登录系统的相应超链接导航到另一个系统中。每一个系统分别由一个处理业务逻辑的Action、DAO层代码和若干个JSP页面组成。其中注册系统的Action是RegisterAction类,另外还有一个用于显示用户注册页面的register.jsp文件和一个负责显示处理结果的result.jsp文件。登录系统的Action是LoginAction类,另外还有一个login.jsp文件和一个表示用户已经成功登录的success.jsp文件。用户注册登录系统的工作流程图如下图所示:

图1:注册登录系统工作流程图

从图1可以看出,当RegisterAction处理完用户提交的注册信息后,会向result.jsp提交一个结果信息,在result.jsp中会显示注册成功提示信息,然后如果注册不成功,都会返回到register.jsp页面,以便用户重新输入注册信息。

2、设计数据库

在注册登录系统中只涉及一个user表,这个表对于注册系统来说,每处理一个正确的注册信息后,就会向这个表添加一条记录。对于登录系统来说,每当用户输入正确的登录信息和验证码后,系统就会在user表中查找相关的记录,以确定当前登录用户和密码是否合法。下面将给出这个表的表结构。如表1所示:

表1:user表的结构

字段名类型含义

name varchar(20)用户名

password varchar(16)密码(md5加密字符串)id int(11)自动生成

3、实现系统的基础类

在这一部分内容中将实现在注册登录系统中使用的一些重要的类,如用于操作数据库的UserDAO接口及其实现类。这些类在整个系统中都起着举足轻重的作用。

3.1实现访问数据库的UserDAO类

UserDAO实际上是一个接口,由于注册系统和登录系统都需要访问和操作数据库,因此,将这些功能都封装在UserDAO接口中,然后UserDAOImpl类对该接口进行实现,这样,在LoginAction类和RegisterAction类的类体中添加UserDAO类型的属性,这两个Action就都可以访问和操作数据库了。UserDAO 接口及其实现类有以下功能:

通过HibernateTemplate对数据库进行连接和操作

对数据库进行增删查改操作。

执行hql。

UserDAO接口和UserDAOImpl类的实现代码请查看UserDAO.java和UserDAOImpl.java文件。

3.2实现MD5加密(选做)

本系统保存在数据库中的密码是通过MD5算法加密的。在JDK中提供了实现MD5算法的类。通过java.security.MessageDigest类的getInstance方法可以获得支持MD5算法的MessageDigest对象实例。关于MD5加密,详见关于MD5加密.doc文档。

由于被MD5算法加密后的字符串中可能含有非可视的字符,这些字符可能无法保存在数据库中,因此,需要将被加密后的字符串再次使用Base64格式进行编码。实现MD5加密的完整代码见Encrypter.java

4、实现注册系统

在这个系统中,有一个处理用户提交的注册信息的RegisterAction类,除此之外,还有一个register.jsp,这个页面负责显示注册页面。当Register类处理完注册信息后,如果注册成功,会转向result.jsp页面,如果注册不成功,则直接返回register.jsp,可以重新注册。

1.实现注册RegisterAction类

RegisterAction类负责处理用户提交的注册信息。如果注册信息正确,就向user表中添加一条记录,否则,会通过消息对话框显示出现消息。

在开始处理用户注册信息之前,需要先在RegisterAction类中添加userDAO 属性,这样通过该属性就可以对数据库进行操作。然后向user表中插入记录之前,需要先判断一下用户输入的用户名或者密码是否有效,如果用户名和密码输入都合法,就调用userDAO属性的save方法向user表中根据用户输入的信息插入一条记录。如果无法成功插入记录,说明该用户名在user表中已经存在了。为了更稳妥,我们可以先使用select语句来查询用户名是否存在,然后再向user 表中插入记录。

RegisterAction类的完整代码见RegisterAction.java。

2.实现注册系统的主页面

Register.jsp页面是显示了用户输入注册信息的页面。在register.jsp中使用

向Register类提交注册信息。

register.jsp页面的代码见register.jsp。

3.实现结果JSP页面

在Register类处理完注册信息后,如果注册成功,就会转向到result.jsp 页面。这个页面显示了注册成功的结果,并且可以直接通过超链,转向到登录页面login.jsp。结果页面代码详见result.jsp

相关文档
最新文档