您的当前位置:首页正文

JSP课程设计QQ登陆系统(含源代码)

2021-11-08 来源:钮旅网
实用文档

目 录

1 前 言 ............................................................................................................................页码

1.1 问题提出 ................................................................................................................页码 1.2 研究意义 ................................................................................................................页码

2 系统需求分析 ..............................................................................................................页码

2.1 系统功能分析 ........................................................................................................页码 2.2 系统功能模块设计 ................................................................................................页码

3 数据库的概念结构设计 ...........................................................................................页码

3.1数据抽象 .................................................................................................................页码 3.2设计全局概念模式 .................................................................................................页码

4 数据库的逻辑设计 ....................................................................................................页码

4.1形成初始的关系模式 .............................................................................................页码 4.2关系模式的规范化处理 .........................................................................................页码

5系统的实现与调试......................................................................................................页码 6 总结 ................................................................................................................................页码 参考文献 .......................................................................................................................... 页码

文案大全

实用文档

1 前言

1.1 问题提出

随着嵌入式的发展,近年来,嵌入式在社会发展中占据着越来越重要的地位。我们日常生活中的手机,电子手表,MP3, 医疗设备,汽车导航等等,到处可见嵌入式相关的东西。以前很多手动式的操作由嵌入式设备的代替后运行效率和方便程度都有了明显的提高。目前嵌入式相关的技术已经成为未来世界发展的主流方向。与此同时,网络的发展更是火遍了全球,几乎80%以上的人都会上网。可以说已经成为人们的生活的一部分。由以上可想而知,嵌入式联网功能定会是未来的一种趋势。

TCP/IP(通常它是指传输控制协议/网际协议,Transmission Control Protocol / Internet Protocol)是发展至今最成功的通信协议,它被用于当今所构筑的最大的开放式 网络系统Internet之上就是其成功的明证。Internet最初的设计是为了满足美国国防的需要,具体来讲就是使美国政府即使在遭受核打击时也能保证通信不间断,TCP/IP就是用于这个目的的。

今天,Internet已经发展得更加商业化,更加面向消费者,尽管基本目的发生了改变,但其最初的所有质量标准(也就是开放式、抗毁性和可靠性)依然是必需的。这些特性包括可靠传输数据、自动检测和避免网络发生错误的能力。更重要的就是 TCP/IP是一个开放式通信协议,开放性意味着在任何组合间,不管这些设备的物理特征有多大差异,都可以进行通信。 1.2 研究意义

目前,嵌入式设备与TCP/IP协议的结合已经成为了必然的趋势。但是嵌入式设备的容量小,处理速度慢等原因。不可能会使用像普通PC机那样一样的TCP/IP协议支持系统。所以要实现适合嵌入式设备的TCP/IP协议,是一个首要的问题。这就要考虑在原有的协议的基础上对TCP/IP协议进行裁剪,使之留下有用的功能更适合于我们的嵌入式系统。目前有部分的嵌入式设备上已经实现了相应的TCP/IP协议。不过对于ARM这种比较流行的芯片来说针对于部分型号芯片的TCP/IP协议的实现并没有实现。以LPC2124芯片为例,市面上很少会出现此类型号的匹配产品。为了让这些型号的芯片也能够使用上功能强大的TCP/IP协议。这就需要我们开发出具体针对这些芯片的TCP/IP协议。为了使做出的协议更实用,成本更低。配合免费稳定的UCOSII等操作系统也是必不可少的。

文案大全

实用文档

2 系统需求分析

2.1 系统功能分析

这个系统仿造了QQ登录界面,可以实现注册帐号,帐号登录与修改密码功能。注册帐号时要输入姓名,年龄,密码等信息。注册完毕后返回登录界面输入帐号密码即可登录。登录后可以通过旧密码来修改新密码。

经分析我们认为QQ登陆系统的具体要求为:

1.在登陆界面实现填写账号,输入密码,账号登陆的功能。

2.通过使用登陆界面可以进行注册账号,账号登陆,修改密码的功能。 3.注册账号时可以输入姓名,年龄,密码,身份证号等信息。 4.系统具有操作方便、简捷等特点 5. 登陆后可以进行密码修改

QQ登陆界面 Addbean Query 注册账号 登陆查询 修改密码 图2-1 数据流图

文案大全

实用文档

系统使用数据字典如表2-1所示:

1.主类Query.java:

成员变量描述 帐号 密码 新密码 方法名 功能 备注 获取密码,返回给jsp页面,jsp页面通过改密码与表单中的密码进行比较判断密码是否正确。 向数据库中添加一组数据 变量类型 String Int Int 表2-1 成员变量见表 名称 secret newsecret renewsecret read() update() 查询数据库 更新数据库 表2-2 方法表 2. 类AddBean.java: 成员变量描述 帐号 密码 姓名 年龄 返回信息 变量类型 String Int String String int 表2-3 成员变量表 方法名 功能 备注 返回一个int类型的值给jsp页面,jsp页面通过该值判断是否添加成功 名称 secret resecret name age number getAddMessage() 向数据库添加数据 文案大全

实用文档

表2-4 方法表

2.2 系统功能模块设计

用户注册:用户注册是用户进行其他操作,如登陆账号,修改密码等操作的前提。需要输入姓名,年龄,密码等信息。

用户登录:用户注册后,登录系统,通过注册时的用户名和密码正确登录系统。

修改密码:用户登陆之后可以通过旧的密码修改新的密码。

图2-2 系统功能模块图

文案大全

QQ登陆界面 注册账号 登陆查询 修改密码 填写姓名 填写年龄 填写密码 查询信息 好友查询 填写新密码 邮箱验证 实用文档

3 数据库的概念结构设计

概念结构设计是将分析得到的用户需求抽象为信息结构(即概念模型)的过程,它是整个数据库设计的关键。为了把用户的数据要求清晰明确的表达出来,通常要建立一种面向问题的数据模型,按照用户的观点来对数据和信息建模。最常用的概念性数据模型就是ER模型。以下是本系统涉及到数据抽象后的E-R图。 3.1 数据抽象

填写姓名 填写年龄 填写密码 填写身份证号 填写地址 填写学校 注册账号 图 3-1注册账号局部E-R图

好友查询 信息查询 登陆查询 图3-2登陆查询局部E-R图

文案大全

实用文档

3.2 设计全局概念模式

各个局部视图即分E-R图建立好后,还需要对它们进行合并,集成为一个整体的概念数据结构即全局E-R图。 (1)合并分E-R图,生成初步E-R图

合并分E-R图时并不能简单地将各个分E-R图画到一起,而是必须着力消除各个分E-R图中不一致的地方,以形成一个能为全系统中所有用户共同理解和接受的统一概念模型。合理消除各分E-R图的冲突,合并分E-R图的主要工作与关键所在。

E-R图中的冲突有三种:属性冲突,命名冲突结构冲突。 ① 属性冲突

属性域冲突:属性值的类型、取值范围或取值集合不同。 属性取值单位冲突。 ② 命名冲突

命名不一致可能发生在实体名、属性名或联系名之间,其中属性的命名冲突更为常见。一般表现为同名异义或异名同义。

同名异义:不同意义的对象在不同的局部应用中具有相同的名字。

异名同义(一义多名):同一意义的对象在不同的局部应用中具有不同的名字。 命名冲突可能发生在属性级、实体级、联系级上。其中属性的命名冲突更为常见。解决命名冲突的方法是通常用讨论、协商等行政手段加以解决。 ③ 结构冲突(有三类结构冲突)

同一对象在不同应用中具有不同的抽象

解决方法:通常是把属性变换为实体或把实体变换为属性,使同一对象具有相同的抽象。变换时要遵循两个准则。

同一实体在不同局部视图中所包含的属性不完全相同,或者属性的排列次序不完全相同。

解决方法:使该实体的属性取各分E-R图中属性的并集,再适当设计属性的次序。

实体之间的联系在不同局部视图中呈现不同的类型

解决方法:根据应用语义对实体联系的类型进行综合或调整。 (2)消除不必要的冗余,设计基本E-R图

冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他联系导出的联系。冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难。

文案大全

实用文档

采用分析的方法来消除数据冗余,以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余。

前面图3-1和图3-2在形成初步E-R图后,以及消除冗余联系,便可得到基本的E-R模型,如下图3-3所示

QQ登陆界面 注册账号 登陆查询 修改密码 填写姓名 填写年龄 填写密码 查询信息 好友查询 填写新密码 邮箱验证

图3-3 优化后的全局E-R图

文案大全

实用文档

4 数据库的逻辑设计

概念结构是各种数据模型的共同基础。为了能够用某一DBMS实现用户需求,还必须将概念结构进一步转化为相应的数据模型,这正是数据库逻辑结构设计所要完成的任务。

一般的逻辑结构设计分为以下三个步骤:

1.将概念结构转化为一般的关系、网状、层次模型。

2.将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换。 3.对数据模型进行优化。 4.1 形成初始的关系模式

(1)一个实体转换为一个关系模式。

关系的属性:实体的属性;关系的键:实体的键 (2)一个m:n联系转换为一个关系模式。

关系的属性:与该联系相连的各实体的键以及联系本身的属性。 关系的键:各实体键的组合。

(3)一个1:n联系可以转换为一个关系模式

关系的属性:与该联系相连的各实体的码以及联系本身的属性 关系的码:n端实体的键

(4)一个1:1联系可以转换为一个独立的关系模式。

关系的属性:与该联系相连的各实体的键以及联系本身的属性 关系的候选码:每个实体的码均是该关系的候选码

将图3-3中四个实体分别转换为关系模式(带下划线的为主键): QQ登陆(账号,密码,邮箱) 信息查询(账号,信息) 修改密码(账号,密码,邮箱) 4.2关系模式的规范化处理

关系模型的优化通常是以规范化理论为基础。方法为:

1、确定数据依赖,按需求分析阶段所得到的语义,分别写出每个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间数据依赖。

2、对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。 3、按照数据依赖的理论对关系模式逐一进行分析,考查是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。

文案大全

实用文档

5 系统的实现与调试

用SQL Server 2000数据库管理系统建立数据库结构,加载数据,实现各种查询,根据系统功能建立视图等对象,并能对数据库做简单的维护操作。

该模块是系统的基础模块,账号登陆界面。可以在该页面填写账号和密码进行登陆。

图 5-1 账号登陆页面

登陆后可以进行信息修改。

图 5-2 修改信息页面

登陆后也可以进行密码修改。

文案大全

实用文档

图 5-3 密码修改界面

修改新密码后需要进行邮箱验证。

图 5-4 邮箱验证界面

文案大全

实用文档

代 码

1.AddBean.java

<%@ page contentType=\"text/html;charset=GB2312\" %> <%@ page import=\"tom.jiafei.A\" %>

<%

String str1=request.getParameter(\"secret\"); String str2=request.getParameter(\"resecret\");

String str3=request.getParameter(\"name\"); String str4=request.getParameter(\"age\"); String str5=request.getParameter(\"number\");

if(str1.length()==0||str2.length()==0||str3.length()==0||str4.length()==0 ) {

response.sendRedirect(\"regsiter.jsp\"); } else

{ A.setNumber(str5);

A.setSecret(str1); A.setName(str3); A.setAge(str4); int a=A.addMessage(); if(a>0)

{ out.println(\"注册成功\"+\"
\");} } %>

返回登录界面

2.Query.java

<%@ page contentType=\"text/html;charset=GB2312\" %> <%@ page import=\"tom.jiafei.C\" %>

<%

String str1=request.getParameter(\"secret\"); String str2=request.getParameter(\"newsecret\"); String str3=request.getParameter(\"renewsecret\");

文案大全

实用文档

%>

if(str1.length()==0||str2.length()==0||str3.length()==0) { } else {

C.setSecret(str1); C.setNewsecret(str2);

response.sendRedirect(\"update.jsp\");

int n=C.update(); if(n>0) { }

out.println(\"修改成功\"+\"
\"); } else

out.println(\"密码错误,请重新输入\"+\"
\");

返回登录界面

返回密码修改界面

3. ReadFiles.Java

<%@ page contentType=\"text/html;charset=GB2312\" %> <%@ page import=\"tom.jiafei.B\" %> <%@ page import= \"java.sql.*\" %>

<%

String str1=request.getParameter(\"number\"); String str2=request.getParameter(\"password\"); if(str1.length()==0||str2.length()==0) {

response.sendRedirect(\"login.jsp\");

文案大全

实用文档

} else

{ B.setNum(str1); B.setSec(str2);

String b=B.queryResult(); if(b!=null) %>

返回登录界面

{

response.sendRedirect(\"main.jsp\");

}

else

out.println(\"请输入正确的帐号和密码\"+\"
\");

}

文案大全

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 版权所有