当前位置:文档之家› JSP课程设计QQ登陆系统含源代码

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

目录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等操作系统也是必不可少的。

22.1 12 345.图2-1 数据流图系统使用数据字典如表2-1所示: 1.2.2.2图2-2 系统功能模块图3 数据库的概念结构设计概念结构设计是将分析得到的用户需求抽象为信息结构(即概念模型)的过程,它是整个数据库设计的关键。

为了把用户的数据要求清晰明确的表达出来,通常要建立一种面向问题的数据模型,按照用户的观点来对数据和信息建模。

最常用的概念性数据模型就是ER 模型。

以下是本系统涉及到数据抽象后的E-R 图。

3.1 数据抽象图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所示图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 邮箱验证界面代码<%@ page contentType="text/html;charset=GB2312" %><%@ page import="tom.jiafei.A" %><jsp:useBean id="A" class="tom.jiafei.A" scope="request"/><HTML><BODY bgcolor=yellow><FONT Size=3><%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("注册成功"+"<BR>");}}%><A href="login.jsp">返回登录界面</A></BODY></HTML><%@ page contentType="text/html;charset=GB2312" %><HTML><BODY bgcolor=yellow><%@ page import="tom.jiafei.C" %><jsp:useBean id="C" class="tom.jiafei.C" scope="request"/> <%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){response.sendRedirect("update.jsp");}else{C.setSecret(str1);C.setNewsecret(str2);int n=C.update();if(n>0){out.println("修改成功"+"<BR>");}elseout.println("密码错误,请重新输入"+"<BR>");}%><A href="login.jsp">返回登录界面</A><BR><A href="update.jsp">返回密码修改界面</A></BODY></HTML>3. ReadFiles.Java<%@ page contentType="text/html;charset=GB2312" %><%@ page import="tom.jiafei.B" %><%@ page import= "java.sql.*" %><jsp:useBean id="B" class="tom.jiafei.B" scope="request"/><HTML><BODY bgcolor=yellow><FONT Size=3><%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");}elseout.println("请输入正确的帐号和密码"+"<BR>"); }%><A href="login.jsp">返回登录界面</A></BODY></HTML>。

相关主题