JAVA EE 期末大作业
目:用户登陆注册系统
指导老师:
题
专
学
姓
业:
号:
名:
软件工程
*
***
***
1
*年*月*日
目录
1.可行性分析.............................................................................................4
1.1 经济可行性....................................................................................4
1.2 技术可行性....................................................................................4
1.3 形式发展可行性............................................................................4
1.4 法律可行性....................................................................................4
1.5 后期维护可行性............................................................................4
2.需求分析.................................................................................................4
2.1 编写目的........................................................................................4
2.2 任务概述........................................................................................4
2.3 功能需求........................................................................................5
2.4 性能需求........................................................................................5
2.5 运行需求........................................................................................5
3.系统设计.................................................................................................5
3.1 系统概述........................................................................................6
3.2 开发环境........................................................................................6
3.3 数据库设计....................................................................................6
3.4 项目目录结构................................................................................6
4.系统实现.................................................................................................7
2
4.1 实现数据层....................................................................................7
4.2 实现业务逻辑层......................................................................... 10
4.3 实现客户层..................................................................................10
4.4 实现 web 表现层......................................................................... 15
4.5 其他功能......................................................................................20
5.运行结果...............................................................................................24
6.心得体会...............................................................................................27
3
1.可行性分析
1.1 经济可行性
(1)系统开发、建立费用自费。其中:
本系统开发期为两个星期,需开发人员 1 人。根据软件系统的规模估算,
开发工作量约为 1 人两星期。
(2)硬件设备费暂无。
(3)对于效益,由于本软件的主要背景为课程设计,在经济上不注重直接
的经济收益。
1.2 技术可行性
本人已经具备相应的基础开发能力:UML 模型构建技术、JAVA 与 jsp 编程等,
能够根据计划和说明书的要求,按时完成系统的每一部分,保证后面的开发进程
可以顺利进行。
1.3 形势发展可行性
从社会经济发展看,从今往后,注册登陆系统都会被各种平台、软件所使用。
1.4 法律可行性
本系统符合国家的相关法律政策。
1.5 后期维护可行性
本系统提供后期维护。
2.需求分析
2.1 编写目的
注册登录系统对于每一个网站或者应用的成长,获取稳定的用户是至关重要
的。一个友好的注册登陆系统更能吸引客户眼球,为网站、平台吸引大量用户入
驻。
2.2 任务概述
2.2.1 目标
实现用户登陆和注册两个功能。用户登录功能允许用户输入已经注册的用户
名和密码,如果这两个都正确,系统会提示登录成功,并进入主页面;用户注册
功能和登录功能类似,只是要输入的信息多一点,在输入完响应的用户注册信息
后,如果注册成功,就可以在登陆页面登陆。
2.2.2 数据描述
1.数据录入和处理的准确性和实时性
数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正
确和不可用,从而使系统的工作失去意义。数据的输入来源是手工输入。手工输
入要通过系统界面上的安排系统具有容错性,并且对操作人员要进行系统的培
训。在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保
证迅速的处理数据。
2.数据的一致性与完整性
由于系统的数据是共享的,所以如何保证这些数据的一致性,是系统必须解
决的问题。要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处
控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。
4
对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统
应该拒绝该数据。
2.3 功能需求
功能划分:
2.4 性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以
下的性能需求:
1.数据精确度
在用户进行注册的过程中,系统要有检测错误的能力,错误范围为:用户名
的重复提示、密码的位数限制、不正确的姓名格式、不正确的邮箱。
2.时间特性
在网速、硬件适配的情况下,必须保证系统能在极短的时间内运行。
3.适应性
增加在各种环境下的兼容性,以达到运行于各种软件、平台、系统的能力。
2.5 运行需求
1.用户界面
保证界面美观。
2.显示需求
当进行操作后,系统能完成相应的反馈,界面会根据操作进行变换。
3.硬件接口
无。
4.故障处理
详见本系统的维护手册。
3.系统设计
5
3.1 系统概述
本系统主要使用 JSP+Servlet 技术来实现,另外,使用了过滤器技术将请求参
数映射为 JavaBean 的对象实例。出于安全考虑, 使用 MD5 加密技术,在数据
库中并没有保存用户注册时的密码,而是它的 MD5 加密串。
本系统采用了四层结构来实现,具体如下:
Web 表现层:主要 JSP 页面和 JS 组成;
客户层:由实现用户请求的 Servlet 组成;
业务逻辑层:由 Service 类组成,在这些类中直接访问数据层来获取相应的
数据,并根据数据来处理业务逻辑;
数据层:由 DAO 类组成,在这些类中使用 JDBC 访问数据库,并提供数据库
的通用功能,只有业务逻辑层直接和数据层交换信息,而 Web 层则通过业
务逻辑层间接地访问数据层。
3.2 开发环境
java 运行环境:JDK 1.6
数据库:MySQL 5
服务器:tomcat 7
编辑器:eclipse for j2ee
操作系统:windows 7_x64
3.3 数据库设计
数据库名 mydb,只有一个 t_users 表,用于存储用户注册信息。表结构如图
3.4 项目目录结构
本项目为 java web 项目,项目名称为 entry。具体目录结构如图所示:
6
4.系统实现
4.1 实现数据层
数据层包括数据持久化层和数据访问层。而前者实际上是 javaBean,系统将请求
参数封装在 Bean 实例中,后者通过这些实例获得数据,并将其保存在数据库中。
4.1.1 数据持久化层的实现
数据持久化层包括 User 类和 Common 类,在包 model 里面。
编写 User 类,用于封装登陆页面和注册页面的提交信息。部分代码如下
/***对应 getter 和 setter 方法省略**/
//获取 password 的 md5 加密串
7
编写 Common 类,封装要转换的页面路径 path,代码如下
4.1.2 数据访问层的实现
数据访问层只负责操作数据库,并提供一些通用的数据库操作方法供其它层使
用。数据访问层包括 DAOSuport 类和 UserDAO 类,在 dao 包里。
编写 DAOSuport 类,代码如下
编写 UserDAO 类,代码如下
8