JAVA EE课程设计--注册登录系统

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

用Servlet和JSP实现注册登录系统

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

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

●系统概述

●设计数据库

●MD5加密的实现

●注册系统的实现

●登录系统的实现

1、系统概述

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

1.1系统功能简介

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

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

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

1.2系统总体结构

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

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

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

2、设计数据库

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

表1:t_users表的结构

3、实现系统的基础类

在这一部分内容中将实现在注册登录系统中使用的一些重要的类,如用于连接和操作数据库的DBServlet类、用于对字符串进行MD5加密的Encrypter类以及实现图形验证码的ValidationCode类。这些类在整个系统中都起着举足轻重的作用。

3.1实现访问数据库的DBServlet类

DBServlet实际上是一个Servlet类,由于注册系统和登录系统都需要访问和操作数据库,因此,将这些功能都封装在DBServlet类中,然后Login类和Register类从DBServlet类继承,这样,Login类和Register类就都可以访问和操作数据库了。DBServlet类有以下3个功能:

连接数据库。创建一个Connection对象。这个功能在service方法中完成。

执行SQL。如果所执行的SQL是select语句,就返回ResultSet对象,否则返回null。这个功能通过execSQL方法完成。

DBServlet类的实现代码请查看DBServlet.java文件

3.2实现MD5加密

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

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

4、实现注册系统

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

1.实现注册Servlet类

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

在开始处理用户注册信息之前,需要先调用DBServlet类的service方法来连接数据库。然后向t_users表中插入记录之前,需要先判断一下用户输入的用户名或者密码是否有效,如果用户名和密码输入都合法,就使用insert语句向t_users表中根据用户输入的信息插入一条记录。如果无法成功插入记录,说明该用户名在t_users表中已经存在了。为了更稳妥,我们可以先使用select语句来查询用户名是否存在,然后再向t_users表中插入记录。

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

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

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

向Register类提交注册信息。

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

3.实现结果JSP页面

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

相关文档
最新文档