基于JSP在线音乐网站的设计与实现
学生姓名: 指导教师:
内容提要:本系统 是在eclipse 平台上运用JSP技术来实现的。其主要功能有:,首页,音乐下载界面,登陆界面,查看系统属性,音乐管理,会员管理,留言板管理。论文在撰写过程中,力求将理论与实践应用相结合,对各种理论进行阐述的同时配合系统从实际应用和操作技巧上加以说明,能够更充分地体现到这些知识与技术在本系统中的应用与实现。
关键词: JSP,eclispse,在线音乐网站
1. 引言
音乐是无国界的,音乐通过网络这个媒体更多的进入人们的日常工作休闲。随着网站技术的日趋成熟和普及,各类网站如雨后春笋般的出现在互联网上,音乐网站是其中比较流行和热门的一种。从音乐网站上发展而来的网络音乐是一种全新的音乐模式,它突破了传统音乐的制作方法和发展平台。
唱片介质经历了胶片,磁带,CD到现在的在线音乐和无线下载,原本高额利润的一个行业已经不得不接受以新的理念在新介质————互联网平台上扩展空间。
我设计的这个全新的基于JSP技术的在线音乐网站,是为了满足广大音乐爱好者,提供一个以音乐为共同爱好的网站,让不同的地区喜欢音乐的人,通过这个网站欣赏不同风格和民族文化的音乐,达到丰富人们生活的目的。
2. 选题背景
2.1项目开发的背景
随着计算机产业的迅速发展,电子计算机已广泛的应用于信息管理、文字处理、辅助设计、辅助教学及人们的日常生活中。在线音乐下载系统主要是针对在线音乐下载的一系列相关工作的管理,本系统的建立使在线音乐下载更加规范化、系统化,查询手段更加便捷化。同时,在线音乐下载系统也是实现在线音乐下载现代化和信息化的重要内容。
近年来,随着听音乐人数的增多,人工书写的方式已经不能满足如此庞大的数据。为了更好的适应信息时代的高效性,一个利用计算机来实现在线音乐下载工作的系统将必然诞生。基于这一点,设计了一个在线音乐下载系统,用来就在线音乐下载进行管理,以便在最短的时间内,高效准确的完成整个检索过程。
基于对上述的认识,收集相关资料和数据,查阅有关文献及技术参数,对在线音乐下载的实际需求等方面进行了调研,发现目前所采用的手工记录的方法进行管理存在以下几个方面的弊端:对象范围广,数据存储不易;填写的数据多,且大量数据重复;不易存档,成千上万的信息和堆积如山的单据对管理人员来说是一个负担,需要大量的文档资料。鉴于以上种种原因,在线音乐下载的管理急需一种软件来代替手工操作来管理数据资料。
计算机技术在现代管理中的应用,使计算机成为领导者和管理人员应用现代技术的重要工具[1]。计算机辅助在线音乐下载活动,可以极大地增强音乐爱好者采集、处理信息的能力。计算机系统能根据管理过程的变化情况,将原始数据、资料等进行加工、保存,管理人员可以在解决具体问题需要信息资料时,随时进行检索查询,了解整个在线音乐下载系统的动态情况,进行动态管理,从而有效的处理在线音乐下载的管理工作,实现在线音乐下载信息管理的自动化,提高效率。
2.2项目研发的意义
在线音乐下载系统的开发目的是使在线音乐下载模式转变成信息管理,为在线音乐下载人员提供方便条件。对在线音乐下载的实际情况进行调研之后,进行详细的需求分析,对现有的管理模式进行改进,开发出一套新型的管理系统,从中领悟系统开发的思想,掌握系统开发的流程和方法。在线音乐下载系统的实施的现实意义:减少管理在线音乐下载的工作人员;检索人员可以随时浏览查看,而且更加直观;改变了以前工资手工记录的方式,电脑录入更加方便快捷;实现了在线音乐下载的计算机化。
3. 解决方案的选择
3.1可行性分析
可行性分析也称为可行性研究,是在调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会等方面进行分析和研究,以避免投资失误,保证新系统的开发成功[2]。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
下面将分别从技术、经济、社会三个方面对在线音乐下载系统的建设进行分析和研究。
3.2经济可行性
在线音乐下载网站具有信息化的处理设施,并且拥有支持本系统的应用平台。因此无需再投入资金购买其他设施。
系统的开发基于本人对程序开发的实践学习而来,学校无需资金投入,并且软件开发过程投入的成本不高,因此开发经费完全可以接受。
由以上分析可知,在线音乐下载系统在经济上是可行的。
3.3社会可行性
本系统的社会可行性主要从法律因素、用户使用可行性两方面进行研究。
(1)法律因素
本系统是根据在线音乐下载系统的实际情况开发研制的,是通过大量的调研得出的,系统的软件设计是在独立的环境下完成的,无可供抄袭的软件产品。
(2)用户使用可行性
本系统对用户的要求,除了需要具备在Microsoft Windows平台上使用个人电脑的知识外,并不需要特别的技术能力。使用系统的管理员,需要具备对Tomcat服务器的使用能力,在投入使用前,无需对操作系统的人员进行培训。这样既减少投入成本又简化了操作环节。
由以上分析可知,本系统具有社会可行性。
3.4技术可行性分析
根据在线音乐下载用户提出的系统功能、性能及实现系统的各种约束条件,根据新系统目标来衡量所需的技术是否具备,本系统是一个数据库管理和查询的系统,现有的技术已较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发的。
由以上分析可知,在线音乐下载系统的开发在技术上是可行的。
3.4总体设计原则
本系统为了设计、实现和后期维护的方便,以及系统用户使用的便利,所以必须采取一定的设计原则[3]。其主要设计原则有:
简单性:在实现系统的功能的同时,尽量让系统操作简单易懂,这对于一个系统来说是非常重要的。
针对性:本系统设计是针对在线音乐下载的需求定向开发设计,所以具有专业突出和很强的针对性。
实用性:要求本系统能够满足在线音乐下载的需求,因此具有良好的实用性。
一致性:页面整体设计风格以及命名规则的一致性:整体页面布局和用图用色风格及变量、类名和其他元素的命名规则保持一致。功能一致性:完成同样的功能应该尽量使用同样的元素。 元素风格一致性:界面元素的美观风格、摆放位置在同一个界面和不同界面之间都应该是一致的。变量命名规则的一致性:变量应该用统一的规则进行命名,做到任意变量均能从上下文推断其义。
先进性:本系统采用JSP技术、MySQL等被广泛采用系统开发技术和数据库,因此本设计具有良好的先进性,具体表现在其具有良好的可扩展性,可开发性。
4.需求分析
4.1业务流程分析
在进行业务流程分析时,需要按照原有信息流动过程,逐个地调查分析所有环节的处理业务、处理内容、处理顺序和对处理时间的要求,弄清各个环节需要的信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和信息形态(报告、报单、屏幕显示)等[4]。
业务流程分析可以帮助开发者了解该业务处理过程,发现和处理系统调查工作中的错误和疏漏。业务流程分析是通过业务流程图来进行,即用一些规定的符号及连线来表示某个具体业务处理过程[5]。
具体业务流程如图4-1所示。
图4-1业务流程图
4.2数据流图
数据流程是指数据在系统中产生、传输、加工处理、使用、存储的过程[6]。数据流程分析是把数据在现行系统内部的流动抽象的独立起来,舍去了具体组织机构、信息载体、处理工具、物质、材料等,单从数据流动过程来考查实际业务的数据处理模式。
数据流程与数据流程分析是今后建立数据库系统和设计功能模块处理过程的基础。描述数据流程的工具是数据流程图以及其附带的数据字典、处理逻辑等图表。其中数据流程图是描述系统逻辑模型的主要工具,它以少数几种符号综合地反映出信息在系统中的流动、存储和传递[7]。
在业务流程分析的基础上,对数据流进行了分析,从数据流动过程考察了实际业务的数据处理模式。该系统的数据流图分为顶层、一层、二层。
现行的顶层数据流图如图4-2所示。
数据流图如图4-2所示。
具体分析第一层数据流图,该层数据流图如图4-3所示。
图4-3第一层数据流程图
4.3数据字典
通过对系统数据流的分析,接下来用数据字典描述数据流图中一些主要的数据元素条目、数据流、处理过程、数据存储和外部实体[8]。
数据元素条目如表4-4所示。
表4-4数据元素
数据结构条目如表4-5所示。
表4-5数据
数据流条目如表4-6所示:
表4-6数据存
4.3.1超级管理员部分
表4-6处理过程
外部实体条目如表4-7所示:
表4-7外部实体
由于论文篇幅的限制,不在此一一列举,其他所有的数据字典条目都是根据数据流图绘制的。
4.4系统的功能设计
系统设计是一个把软件需求转换成用软件系统表示的过程[9]。通过对目标系统的分析和研究,做出了在线音乐下载系统的总体规划,这是全面开发系统的重要基础。在对在线音乐下载系统全面分析调查的基础上,制定出在线音乐下载系统的总体规划。系统设计包括系统总体设计、系统详细设计、系统数据库设计、系统开发工具、开发技术和开发模式等。
从数据流图出发,对数据流图进行分析,得出的层次化的模块结构图.
在线音乐下载系统前台功能模块图如图4-8所示:
图4-8 在线音乐下载系统前台功能模块图
在线音乐下载系统后台功能模块图如图4-9所示:
图4-9 在线音乐下载系统后台功能模块图
4.5系统的数据库设计
数据库是本系统的核心和基础[10]。它设计的好坏直接影响着整个系统的质量。数据是一切系统设计的基础,通俗地说,数据库设计就像高楼大厦的根基一样,如果设计的不合理、不完善,将在系统开发过程中,甚至到后期的系统维护、功能变更和功能扩充时,引起较多问题,严重时甚至要重新设计,重做大量已完成工作。
4.6 概念结构设计
从数据需求分析中得出系统的实体属性图。
管理员实体属性图如图4-10所示:
图4-10管理员实体属性图
音乐分类实体属性图如图4-11所示:
图4-11音乐实体属性图
留言实体属性图如图4-13所示:
图4-13留言实体属性图
会员实体属性图如图4-14所示:
图4-14会员实体属性图
音乐分类实体属性图如图4-15所示:
图4-15音乐分类实体属性图
E-R模型的组成元素有:实体、属性、联系。E-R模型用E-R图表示。实体是用户工作环境中所涉及的事务,属性是对实体特征的描述[11]。
(1)模型中的实体相当于实体集、一个表,而不是单个实体或表中的一行。实体用矩形框表示,实体名称标注在矩形框内。用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型[12]。
(2)属性是实体的性质。用椭圆框表示,与实体之间用一条线相连表的主码是关键属性,关键属性项加下划线。
(3)各子系统模块中主键相同的字段之间存在着相互关联的关系。
(4)在程序中实现对他们的完整性和一致性控制。
从数据需求分析中得出系统的实体属性图,遵循三范式原则,对实体之间的依赖关系进行了整合,得出系统E-R图,如图4-9所示:
图4-16系统E-R图
说明:图中用矩形表示实体。实体之间的关系用菱形表示,用无向边把菱形与有关实体连接,在边上标明联系的类型。实体的属性用椭圆表示,并用无向边把实体与属性联系起来。
4.8数据库表设计
表4-17管理员信息表
字段名 | 类型 | 长度 | 说明 |
userId | Int | 4 | 管理员编号(主键) |
userName | Varchar | 30 | 用户名 |
userPw | Varchar | 20 | 用户密码 |
说明:用户表用于存放管理员的信息。
表4-18音乐分类信息表
字段名 | 类型 | 长度 | 说明 |
catelog_id | Int | 4 | 编号(主键) |
catelog_name | varchar | 50 | 分类名称 |
catelog_miaoshu | varchar | 50 | 分类描述 |
catelog_del | varchar | 50 | 是否删除 |
说明:用于存放分类的基本信息。
表4-20音乐信息表
字段名 | 数据类型 | 长度 | 功能描述 |
id | Int | 4 | 编号(主键) |
name | varchar | 20 | 音乐名称 |
catelog_id | Int | 4 | 种类编号(外键) |
fujian | varchar | 100 | 附件 |
fujianYuanshiming | varchar | 20 | 附件原始名 |
geshou | varchar | 8 | 歌手 |
shijian | datetime | 8 | 时间 |
userId | varchar | 100 | 点击量 |
del | varchar | 255 | 是否删除 |
说明:音乐信息表用来存放音乐的基本信息。
表4-21会员信息表
字段名 | 数据类型 | 长度 | 功能描述 |
user_id | Int | 4 | 用户编号(主键) |
user_name | varchar | 20 | 用户名 |
user_pw | varchar | 20 | 密码 |
user_type | Int | 11 | 用户类型 |
user_realname | varchar | 8 | 姓名 |
user_address | varchar | 255 | 地址 |
user_sex | varchar | 2 | 性别 |
user_age | int | 4 | 年龄 |
user_tel | varchar | 30 | 电话 |
user_email | varchar | 20 | 邮箱 |
user_qq | int | 8 | |
说明:会员信息表用来存放会员的基本信息的。
表4-22留言信息表
字段名 | 数据类型 | 长度 | 功能描述 |
liuyan_id | Int | 4 | 留言编号(主键) |
liuyan_title | Int | 4 | 标题 |
liuyan_content | varchar | 20 | 标题 |
liuyan_date | varchar | 100 | 时间 |
liuyan_user | datetime | 8 | 会员编号(外键) |
说明:留言信息表用于存放留言的信息。
4.9 系统开发工具与开发模式的选择
本系统主要使用JSP、Struts技术对系统进行设计和开发。JSP拥有Java程序设计语言“一次编写,各处执行”、“安全性、保密性高”等的特点[13];Struts框架为开放者提供了一个统一的标准框架,通过使用Struts作为基础,开发者能够更专注于应用程序的商业逻辑,Struts能充分满足应用开发的需求,简单易用,敏捷迅速。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与Java Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。自JSP推出后,众多大学校都支持JSP技术的服务器,如IBM、Oracle、Bea学校等,所以JSP迅速成为商业应用的服务器端语言。
使用Microsoft SQL Server 2000数据库作为后台数据库,SQL Server 2000系统具有强大的网上功能,可以在互联网上发布数据库中的数据。在SQL Server 2000系统中,允许用户简单的使用一些向导和工具把数据库的数据发布到网络上,并且可以根据需要来调度修改已经发布的数据。在大家所了解数据库系统中,Microsoft SQL Server 2000,经过三十多年的发展,已经成为最重要的数据处理技术,被广泛应用到多种项目的开发与设计中,决定采用此数据库系统来完成系统的设计。
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。B/S结构采用星形拓扑结构建立企业内部通信网络或利用Internet虚拟专网(VPN)。前者的特点是安全、快捷、准确。后者则具有节省投资、跨地域广的优点。须视企业规模和地理分布确定。企业内部通过防火墙接入Internet,再整个网络采TCP/IP协议。
C/S 与 B/S 区别:Client/Server是建立在局域网的基础上的.Browser/Server是建立在广域网的基础上的。1.硬件环境不同: C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务.B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备. 信息自己管理. 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行 2.对安全要求不同 C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息.B/S 建立在广域网之上, 对安全的控制能力相对弱, 面向是不可知的用户群. 3.对程序架构不同 C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑.B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上. 比C/S有更高的要求 B/S结构的程序架构是发展的趋势, 从MS的.Net系列的BizTalk 2000 Exchange 2000等, 全面支持网络的构件搭建的系统. SUN 和IBM推的JavaBean 构件技术等,使 B/S更加成熟. 4.软件重用不同 C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好.B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子 5.系统维护不同 系统维护是软件生存周期中,开销大, -------重要C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.6.处理问题不同 C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小. 7.用户接口不同 C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本. 8.信息流不同C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更像交易中心。
5.1首页
打开系统后,即来到了在线音乐下载系统的前台页面。如下图所示:
图5-1 首页
5.2 用户注册界面
用户打开本网站后,可以进行注册成为本站会员。如下图所示:
图5-2用户注册界面
5.3 音乐下载界面
用户登录本系统后,可以下载音乐信息。如下图所示:
图5-3音乐下载界面
5.4 发布留言界面
用户登录本系统后,可以发布留言。如下图所示:
图5-4发布留言界面
5.5 登录界面
(1)登录模块
此模块主要功能是用于登录本系统,不同权限的用户登录本系统会进入不同的管理模块界面,因为在后台对该用户进行的判断,首先将从前台页面提交的用户名和密码进行接受,之后在后台进行处理,按照用户名在数据库中进行查询如果查到该用户则将该用户的权限和密码全都取出来分别赋给两个字符串变量,判断从数据库中读出的密码与登录时输入的密码是否配比上,若两个密码相同则根据权限的值进入相应的页面,否则输出密码错误。若用户未被管理员分配好权限那么也是无法登录本系统的。如下图所示:
图5-5登录界面
(2)程序流程
图5-6登录程序流程图
5.6 查看系统属性界面
管理员登录本系统后,可以查看系统属性信息。如图5-7所示:
图5-7查看系统属性界面
5.7 音乐管理界面
管理员登录本系统后,可以管理音乐信息。如图5-8所示:
图5-8音乐管理界面
5.8会员管理界面
管理员登录本系统后,可以管理会员信息。如图5-9所示:
图5-9会员管理界面
5.9留言板管理界面
管理员登录本系统后,可以进行留言板管理。如图5-10所示:
图5-10留言板管理界面
5.10修改密码界面
管理员登录本系统后,可以修改密码。如图5-11所示:
图5-11修改密码界面
结 语
(1)计算机技术的飞速发展带动了很多行业的发展,计算机带给我们最直观的价值就是减少了人力物力的投资,提高了工作质量和效率,从而提高了整个社会的生产力。目前各大行业充分利用计算机资源和网络资源来提高自身的管理水平,而有关在线音乐下载系统的设计也成为音乐公司争论的热点问题。
(2)本文在分析在线音乐下载系统的基础上,用JSP和SQL2000数据库设计并完成在线音乐下载系统。通过系统调试结果显示,本系统基本完成了功能需求。在整个设计过程中,采用瀑布模型和结构化的设计方法。本系统界面美观友好,操作方便,做出了自己的特色。但由于时间仓促加上缺乏系统开发经验,系统在设计过程中不可避免地遇到了各种各样的问题,如:
1. 有些数据输入时没有及时的进行数据格式校验,不能保证数据绝对正确性。
2. 由于时间关系,系统功能实现不够完善,使用可能存在一些不方便。
本系统在实际使用过程中有可能出现一些问题,通过对系统的不断优化和完善,能够调试出真正符合实际情况的在线音乐下载系统,形成统一、规范、科学、合理的在线音乐下载系统。