基于JSP个人管理系统的设计与实现

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

个人信息管理系统
摘要
在日常办公中有许多常用的个人数据,如朋友电话,邮件地址,日程安排,日常记事都可以适用个人信息管理系统进行管理。

个人信息管理系统可以内置于握在手掌的数字助理器中,以提供电子名片,便条,行程管理等功能。

本实训项目基于B/S设计,也可以发布到网上,用户可以随时存取个人信息。

开发个人信息管理系统,通过对计算机硬件和软件解决方案的论证,对应用领域进行调查分析,参考各种资料和进行数据库编程实践,在指导老师的帮助下,已基本成功的实现了设计要求,使我们设计数据库系统能够实现个人信息管理,系统管理功能。

该系统基本上满足了用户个人信息管理方面的需求,用户界面友好。

此系统更加贴近信息电子化处理,从而降低了人工并增加了信息的准确性。

用户可以在系统中任意添加,修改,删除个人数据,包括个人的基本信息,个人通讯录,日程安排等。

要实现的功能包括四个方面:1登录与注册 2 个人基本信息管理模块 3用户个人通讯录模块 4日程安排模块。

关键词:个人信息系统 JSP 管理系统数据库
目录
1绪论 (1)
2个人信息管理系统的概述 (1)
2.1研究的目的和意义 (1)
2.2研究方法 (1)
2.3研究目标及解决的主要内容 (2)
3理论基础 (2)
3.1开发环境的选择 (2)
3.1.1 JA V A开发环境的简介 (2)
3.1.2 数据库技术 (2)
3.1.3 JA V A与数据库的访问及连接 (3)
3.1.4JSP技术 (3)
3.1.5 HTML语言 (5)
4需求分析 (6)
4.1系统需求分析 (7)
4.2系统可行性分析 (7)
4.3系统数据流图 (8)
4.4系统功能介绍 (8)
4.5系统开发的目标 (9)
4.6系统的基本E-R图 (9)
图4.5日程安排实体图 (11)
4.7关系描述的设计 (11)
5系统设计 (11)
5.1系统功能结构图 (11)
5.2系统功能流程图 (12)
5.3数据库的设计 (12)
5.3.1数据库的逻辑设计 (13)
5.3.2数据库的物理设计 (13)
6通讯录管理模块的实现 (14)
6.1系统登陆界面设计 (14)
6.2用户登录界面的测试 (17)
6.3主界面 (17)
6.4查看通讯录 (18)
6.5增加联系人 (24)
6.6修改联系人 (28)
6.7删除联系人 (34)
7结论 (39)
谢辞 (40)
参考文献 (41)
1绪论
个人信息管理系统能够为用户提供充足的信息和快捷的查询手段。

但一直以来人们使用传统人工的方式管理文件信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对个人信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高个人管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

因此,开发这样一套这样的管理软件是很有必要的。

个人信息管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。

对于前者要求建立起数据一致性和完整性强、数据安全性好的库。

而对于后者则要求应用程序功能完备,易使用等特点。

经过分析,我们使用 Eclipse开发工具,利用其提供的各种面向对象的开发工具,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。

整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发。

本文主要介绍了个人信息管理系统的开发背景,所要完成的功能和开发的过程。

主要说明了系统设计的重点、设计思想、难点技术和解决方案。

2个人信息管理系统的概述
2.1研究的目的和意义
一直以来人们使用传统人工的方式管理文件信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

个人信息管理系统是计算机应用的组成部分,使用计算机对个人信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

因此,开发这样的一套管理软件是实际应用的需要。

2.2研究方法
本系统研究方法主要为:理论与实践法,应用于系统模型的实现。

2.3研究目标及解决的主要内容
个人信息管理系统采用功能强大的Java编程技术,利用微软公司的Microsoft SQL Server作为平台设计实现。

从实用性出发具体集成了管理中心模块、个人基本信息管理模块、密码备忘模块等多种常用功能模块。

在各个功能模块中对各种信息进行编辑,具体包括添加、修改、删除、查询等基本操作。

本文主要对个人信息管理系统的各个功能模块进行了详细的分析与设计,对该系统的开发设计语言与工具也进行了阐述。

(1)查阅资料,对该课题的研究现状进行分析,进行总体方案设计和系统结构设计;
(2)对个人所涉及到的相关信息、资料等进行分类整理,分别进行图形数字化的转换,开发相应的软件;
(3)建立系统数据模型,进行数据结构设计,建立系统应用模型,进行算法设计;
(4)调试管理系统,通过实践来进一步完善其功能,使其科学合理,从而推广应用。

3理论基础
3.1开发环境的选择
3.1.1 JA V A开发环境的简介
JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。

自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit),而本论文的设计正是基于JDK1.6.0_17版本来开发实现的。

JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Environment),一堆Java工具和Java基础的类库(rt.jar)。

不论什么Java应用服务器实质都是内置了某个版本的JDK。

因此掌握 JDK是学好Java的第一步。

最主流的JDK 是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK 等等。

其中IBM的JDK包含的JVM(Java Virtual Machine)运行效率要比Sun JDK包含的JVM高出许多。

而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。

但不管怎么说,我们还是需要先把Sun JDK掌握好。

3.1.2 数据库技术
SQL Server数据库是一种关系数据库。

是由Microsoft公司开发的,主要应用于Windows环境。

它的显著特点是易学、易用、功能强大,且与其他Office应用程
序高度集成。

SQL Server就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。

SQL Server的优点在于它能使用数据表示图或自定义窗体收集信息。

数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。

SQL Server作为关系数据库具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。

SQL Server作为Microsoft的数据库产品,与JAVA开发平台具有完美的结合;它实现了真正的关系数据库管理,具有ODBC特性,保证了数据库引擎应用的完整性;其用户级的安全性保证了数据库的安全性。

数据库的特点有:(1)具有最小的冗余度,即数据库尽可能不重复;(2)资源共享性,即以最优的方式服务与一个或多个应用程序;(3)数据独立性,即数据的存储尽可能独立于使用它的应用程序;(4)安全可靠;(5)保密性能好。

3.1.3 JA V A与数据库的访问及连接
网络数据库系统,尤其是网络三层结构数据库系统有着诸多的优点,三层结构数据库系统的应用在日益增加。

使用Java语言和JDBC API发布含有applet小程序的网页,通过网页中applet小程序访问远程数据库在目前已被广泛的应用。

另一方面,由于JDBC使得开发数据库应用程序越来越受到Java语言程序开发人员的重视。

在数据库应用系统调用JDBC API方法之前,首先需要进行注册和装入JDBC驱动程序。

在Java语言ng.Class接口中的Class.forName()方法[8]是将指定的类装载到支持Java语言程序运行的虚拟机中。

方法如下:
public static class forName(String className)
throws classNotFoundExecption
{
return
forName0(className,true,classLoader.getcallerclassLoader()
;)
}
JDBC API在Java.spl包中提供的连接对象表示与数据库的连接。

连接过程包括所执行的SQL语句和获取在该连接上所返回的结果。

一个数据库应用程序可与单个数据库有一个或多个连接,或者可与许多数据库有连接。

3.1.4JSP技术
JSP(Java Server Pages)技术是由Sun公司发布的用于开发动态Web应用的一项技术。

它以其简单易学、跨平台的特性,在众多动态Web应用程序设计语言中异军突起,在短短几年中已经形成了一套完整的规范,并广泛地应用于电子商务等各个领域中。

在国内,JSP现在也得到了比较广泛的重视,得到了很好的发展,越来越多的动态网站开始采用JSP技术。

JSP的开发背景及发展历史
在万维网短暂的历史中,万维网已经从一个大部分显示静态信息的网络演化到对股票进行交易和进行购书操作的一个基础设施。

在各种各样的应用程序中,对于可能使用的基于Web的客户端,看上去没有任何限制。

基于浏览器客户端的应用程序比传统的基于客户机/服务器的应用程序有几个好处。

这些好处包括几乎没有限制的客户端访问和极其简化的应用程序部署和管理(要更新一个应用程序,管理人员只需要更改一个基于服务器的程序,而不是成千上万的安装在客户端的应用程序)。

这样,软件工业正迅速地向建造基于浏览器客户端的多层次应用程序迈进。

这些快速增长的精巧的基于Web的应用程序要求开发技术上的改进。

静态HTML 对于显示相对静态的内容是不错的选择;新的挑战在于创建交互的基于Web的应用程序,在这些程序中,页面的内容是基于用户的请求或者系统的状态,而不是预先定义的文字。

对于这个问题的一个早期解决方案是使用CGI-BIN接口。

开发人员编写与接口相关的单独的程序,以及基于Web的应用程序,后者通过Web服务器来调用前者。

这个方案有着严重的扩展性问题——每个新的CGI要求在服务器上新增一个进程。

如果多个用户并发地访问该程序,这些进程将消耗该Web服务器所有的可用资源,并且系统性能会降低到极其低下的地步。

某些Web服务器供应商已经尝试通过为他们的服务器提供“插件”和API来简化Web应用程序的开发。

这些解决方案是与特定的Web服务器相关的,不能解决跨多个供应商的解决方案的问题。

例如,微软的Active Server Pages(ASP)技术使得在Web页面上创建动态内容更加容易,但也只能工作在微软的IIS和Personal Web Server上。

还存在其他的解决方案,但都不能使一个普通的页面设计者能够轻易地掌握。

例如,像Java Servlet这样的技术就可以使得用Java语言编写交互的应用程序的服务器端的代码变得容易。

开发人员能够编写出这样的Servlet,以接收来自Web浏览器的HTTP请求,动态地生成响应(可能要查询数据库来完成这项请求),然后发送包含HTML或XML文档的响应到浏览器。

采用这种方法,整个网页必须都在Java Servlet中制作。

如果开发人员或者Web 管理人员想要调整页面显示,就不得不编辑并重新编译该Java Servlet,即使在逻辑上已经能够运行了。

采用这种方法,生成带有动态内容的页面仍然需要应用程序的开发技巧。

很显然,目前所需要的是一个业界范围内的创建动态内容页面的解决方案。

这个方案将解决当前方案所受到的限制。

如下:
能够在任何Web或应用程序服务器上运行。

❑将应用程序逻辑和页面显示分离。

❑能够快速地开发和测试。

❑简化开发基于Web的交互式应用程序的过程。

JSP技术就是被设计用来满足这样的要求的。

JSP规范是Web服务器、应用服务器、交易系统以及开发工具供应商间广泛合作的结果。

Sun开发出这个规范来整合和平衡已经存在的对Java编程环境(例如,Java Servlet和JavaBeans)进行支持的技术和工具。

其结果是产生了一种新的、开发基于Web应用程序的方法,给予使用基于组件应用逻辑的页面设计者以强大的功能。

3.1.5 HTML语言
在万维网上的一个超媒体文档称之为一个页面(英语:page)。

作为一个组织或者个人在万维网上放置开始点的页面称为主页(英语:Homepage)或首页,主页中通常[2]包括有指向其他相关页面或其他节点的指针(超级链接),所谓超级链接,就是一种统一资源定位器(Uniform Resource Locator,英语缩写:URL)指针,通过激活(点击)它,可使浏览器方便地获取新的网页。

这也是HTML获得广泛应用的最重要的原因之一。

在逻辑上将视为一个整体的一系列页面的有机集合称为网站(Website 或Site)。

超级文本标记语言(英文缩写:HTML)是为“网页创建和其它可在网页浏览器中看到的信息”设计的一种标记语言。

超文本标记语言网页的本质就是超级文本标记语言,通过结合使用其他的Web 技术(如:脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。

因而,超级文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立在超文本基础之上的。

超级文本标记语言之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点。

HTML是:
•全称:HyperText Mark-up Language
•译称:超文本标记语言。

•是一套独立于平台的格式定义
•是由各种标记(Tag)组成的标记语言
•用来描述网页文档中的各个组成部分
•无需编译,浏览器可直接解释
•当前版本:4.0
在WWW的世界里,大家统一都用URL来说明地址,用来指向Internet上的各种资源。

URL=Uniform Resource Locator
格式:分成两部份,第一个部份用来指定存取方式,第二个部份用来指定位址,两者之间以“://”符号隔开。

如下所示:
scheme://host.domain[:port]/path/filename
标记的写法
•通常HTML的标记是以成对的方式出现的,其格式如下:
<标记名称「属性名称=参数…]>內容</标记名称>•凡是在 <标记> 和 </标记>之间的內容均会受到这个标记的影响
•但是有少部份的标记,加上结尾标注反而觉得累赘,因此在习惯上也有不加结尾标记的。

其格式如下:
<标记名称>
基本HTML页面示例
<HTML>
<HEAD><TITLE>我是标题</TITLE></HEAD>
<BODY TEXT="#808080" LINK="#008000">
<Center>This is a test!!<br>
<a href=“http://myhomePage”>to my homepage</a>
</Center>
</BODY>
</HTML>
一般的Web页面由主要由以下元素组成:
•文本
•超链接
•图片
•表格
•输入框
•按钮
•多媒体效果
•框架
4需求分析
在我们当代信息社会里,人们对信息的交流与沟通越来越重视,对时间的有效利用更加的注重,其中个人信息容量也在高速增加。

因此,个人信息的管理在日常工作和生活中成为必不可少的内容。

方便实用的个人信息管理工具对于提高信息利用效率具有重要意义。

随着个人电脑的普及,简单实用的个人信息管理工具成为人们日常个
人信息管理的不错选择。

该系统包括了对人们日常生活中的各种繁杂事务的添加、修改、删除、查询等基本操作。

4.1系统需求分析
本系统主要是在对个人基本信息的分析上进行设计的,根据需要,本系统主要具备了以下特点和功能:(1)具有良好的人机界面;(2)具有较好的权限管理;(3)方便查询和修改数据;(4)数据稳定性;(5)实用性;要具有管理中心,如个人基本信息管理、登录与注册等相关个人的多种常用功能。

个人信息管理系统的基本管理方法:在个人信息管理中,我们可以对自己的基本信息进行操作,具体的操作有:查看个人基本信息、修改个人基本信息、修改登录密码;在通讯录管理中,我们可以查看通讯录、增加联系人、修改和删除联系人;在日程安排管理中,我们可以对平常要做的事情做一个备忘,如增加日程、查看日程、也可以对日程进行修改和删除;
根据以上可以得出业务流程如图4.1所示:
图4.1业务流程
4.2系统可行性分析
本系统管理的对象都是个人的基本信息,并且数据内容具有一定的关联性,比较
适合于采用数据库管理。

根据所学的专业知识和所具备的专业技能,采用功能强大的JAVA编程技术,利用微软公司的Microsoft SQL Server作为后台数据库设计实现,有指导老师的指导、同学的帮助和相关参考文献、网上资料,及参考其它程序的功能,因此完全可以实现。

本系统的设计是在Windows XP中文版操作系统环境下,采用JAVA编程技术,Microsoft SQL Server作为后台数据设计实现。

SUN公司的JAVA开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。

JAVA设计之初就是为了简化开发,并且面向不同的设备。

JAVA编程如同搭积木,将不同的模块通过接口连接起来组成一个完整的系统。

而且很多构件是JAVA系统内部的,而不需要程序员进行开发,从而有效的提高了应用程序的运行效率和可靠性。

故而,实现本系统JAVA是一个相对较好的选择。

SQL Server是一个简单易学的关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索,而且具有相应的安全性。

4.3系统数据流图
数据流图(DFD)是一种图形化技术,它描绘描绘信息流和数据从输入移动到输出的过程中所经受的变化。

因此,数据流图中没有任何具全的物理元素,只是用来描绘信息在系统中流动和处理情况。

数据流图共有四种基本符号:矩形数据的源或终点(或称为外部项),圆或椭圆表示变换数据的处理,向右开口的矩形表示数据存储,箭头表示数据流,即特定数据的流动方向。

根据现行个人信息管理的业务流程,首先确定数据流图中源点和起点都是好友信息、事务、密码,如此就可得到个人管理系统的基本系统模型如图4.2所示:
图4.2基本系统模型
4.4系统功能介绍
(1)用户登录与注册
个人通过用户名和密码登录系统;注册时应提供本人的基本信息
(2)查看个人信息
主页面显示个人基本信息:登录名、用户密码、用户姓名、用户性别、出生日期、用户民族、用户学历、用户职称、用户电话、用户住址、用户邮箱等。

(3)修改个人信息
用户可以修改自己的基本信息。

如果修改了登录名,下次登录时应使用新的登录名。

(4)修改登录密码
用户可以修改登录密码
(5)查看通讯录
用户可以浏览通讯录列表,也可按照姓名检索等。

(6)维护通讯录
用户可以增加、修改、删除联系人。

(7)查看日程安排
用户可以查看日程安排列表,也可以查看某一日程的时间和内容等。

(8)维护日程
一个新的日程安排包括日程标题、内容。

用户可以对日程进行添加、修改、删除等。

4.5系统开发的目标
本系统是对个人信息进行分析而设计,因此本个人信息管理系统是一个简单适用型的系统,本系统的设计目标将最终定位于完成以上所述的系统主要业务的基本模型上。

4.6系统的基本E-R图
在需求分析后,就可以设计出能够满足用户需求的各类实体,以及它们之间的关系,为后面的设计打下基础。

这些实体包含各种具体的信息,通过相互之间的作用形成数据的流动。

根据上面的分析规划出的实体有:个人信息实体、通讯录信息实体、日程安排管理信息实体。

个人信息实体图如图4.3所示:
图4.3个人信息实体图通讯录管理实体图4.4所示:
图4.4通讯录信息实体图日程安排实体图如图4.5所示:
图4.5日程安排实体图
4.7关系描述的设计
根据数据库原理,并结合以上E-R图,经过转换,可以导出各个关系。

其转化规则为首先每个实体应该转换成一个关系,有属性的联系也应转化为一个关系然且需要给出每个关系的关键字。

根据以上规则直接给出所有关系。

用户(用户ID号,用户名称,用户真实姓名,用户性别,出生日期,用户民族,用户学历,用户职称,用户电话,用户住址,用户邮箱)关键字为用户ID号。

通讯录信息(ID,用户登录名,好友名称,好友电话,好友邮箱,好友工作单位,好友住址,好友QQ号)关键字为标识。

日程安排(ID,用户登录名,日程内容,日程时间)关键字为标识。

在得出以上关系后,根据关系数据库的理论要求,需要对所有的关系进行关系规范化。

5系统设计
根据需求阶段的分析,已经清楚系统必须具备的功能,接下来的工作就是这些功能如何实现的问题。

5.1系统功能结构图
依据需求分析阶段得到的数据流图,采用软件工程中软件设计的概念和原理,在保证系统基本功能要求的前提下,结合本系统新的业务流程确定系统必备的所有功能,具体的功能包括登录与注册、个人基本信息管理模块、用户个人通讯录模块、日
图5.1系统结构图
5.2系统功能流程图
图5.2系统功能流程图
5.3数据库的设计
在需求分析阶段已经完成系统的所有数据分析。

本阶段的工作就是把前一阶段的成果转化为具体的数据库。

一般把数据库的设计分为数据库的逻辑设计和数据库的物理设计两个步骤。

5.3.1数据库的逻辑设计
需求分析阶段已经给出了系统的概念模型即E-R图,根据E-R图即可进行数据库逻辑设计。

数据库逻辑设计把得到的满足第三范式的关系转化为特定的数据库系统下的数据表。

根据前面得到的各个关系,现把它们转化为数据表。

用户表:用户ID号,用户名称,用户真实姓名,用户性别,出生日期,用户民族,用户学历,用户职称,用户电话,用户住址,用户邮箱。

通讯录:ID,用户登录名,好友名称,好友电话,好友邮箱,好友工作单位,好友住址,好友QQ号。

日程安排管理表:ID,事件日期,标题,备注。

密码备忘表:ID,用户登录名,日程内容,日程时间
5.3.2数据库的物理设计
在完成数据库的逻辑设计后,即可以开始数据库的物理设计。

基于以上数据库的逻辑设计,考虑程序设计的简易性及通用性,本系统采用Microsoft SQL Sever 2005数据库,并在其下创建3个数据表,其结构分别如下:
(1)用户表其字段列表如表5.1所示:
表5.1用户表(user)
(2)通讯录管理表(friends)用于管理通讯录。

及管理联系人(好友)。

其字段列表如表5.2所示:
表5.2添加联系人表(friends)
(3)日程安排管理表(date)用于管理用户的日程安排,其字段列表如表5.3所示:
表5.3日程安排管理表
6通讯录管理模块的实现
6.1系统登陆界面设计
本部分的主要功能是为了对系统进行安全性管理。

本系统的用户名称和用户密码保存在用户信息表中,登录时系统会自动校验密码正确与否。

如果密码输入错误,则会提示“密码错误,请重新输入!”,在本界面中设置有“登陆”,“重置”,“注册”三个按钮,其中“登陆”代码如下:
public class LoginServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//抛出异常
String userName=new
String(request.getParameter("userName").getBytes("ISO-8859-1"),"UTF-8"); //中文转

String password=new。

相关文档
最新文档