收藏 分销(赏)

毕业设计-jsp实现在线音乐播放系统.doc

上传人:丰**** 文档编号:4882656 上传时间:2024-10-17 格式:DOC 页数:30 大小:1.25MB 下载积分:12 金币
下载 相关 举报
毕业设计-jsp实现在线音乐播放系统.doc_第1页
第1页 / 共30页
毕业设计-jsp实现在线音乐播放系统.doc_第2页
第2页 / 共30页


点击查看更多>>
资源描述
目 录 1 引言 1 1.1 开发背景 1 1.2 开发的目的和意义 2 1.2.1 开发的目的 2 1.2.2 开发的意义 2 1.3 系统的总体要求 2 2 相关技术与开发工具介绍 4 2.1 JSP技术 4 2.2 SQLServer 2005数据库 5 2.3 JDBC技术 6 2.4 开发工具 8 3 可行性研究 9 3.1 可行性研究的要求 9 3.2 可行性研究的目的 9 3.3 可行性研究的方法 9 3.4 相关可行性 9 3.4.1 经济可行性 9 3.4.2 技术可行性 10 3.4.3 运行可行性 10 3.4.4 时间可行性 10 4 数据库设计 11 4.1 数据库模型的设计与实现 11 4.2 数据字典 13 4.3 数据库连接的设计与实现 15 5 系统设计 18 5.1 系统设计的目标 18 5.2 管理功能子系统结构设计 18 5.3 系统的实现 18 5.3.1 管理员的登录 18 5.3.2 歌曲的添加 20 5.3.3 歌曲的删除 21 5.3.4 添加管理员 21 5.3.5 删除管理员 22 5.3.6 搜索歌曲 23 6 测试分析 24 6.1 单元测试 24 6.2 黑盒测试 24 6.3 白盒测试 25 6.4 集成测试 26 参考文献 28 致 谢 29 第II页 共II页 1 引言 1.1 开发背景 音乐是一种艺术,它们伴随人类产生而产生,伴随人类的起源而起源,伴随人类的发展而发展。人活着,就离不开音乐,要是没有了音乐,整个世界就会变得很苍白,我们生活也会很单调,乏味,所以音乐对我们非常重要的。音乐成为生活的必需品,一直伴随我们左右,成为我们生活中不可缺少的一部分。不论是快乐或痛苦,幸福或迷惘,激动或不安,都能在音乐中得到舒缓,音乐使我原本落满尘埃的心灵得到净化。音乐使我们了解生活,感受悲欢离合;用音乐来表达热情,诉说喜怒哀乐,音乐还可以感染旁人,让他们发现美好,感悟生命。 随着互联网正在向全世界各大洲延伸和扩散,Internet是一种国际性的通信网络技术,它集现代通信技术和现代计算机技术于一体, 是计算机之间进行国际信息交流和实现全球资源共享的良好手段。Internet也是人类文明历史发展中的一个伟大的里程碑,它是未来信息高速公路的一个雏形,人类正由此进入一个前所未有的信息化时代,世界将会变成一个地球村。人们用各种名称来称呼Internet,如国际互联网络、交互网络、因特网、网际网等,已经成为世界上覆盖面积最广、规模最大的、信息资源最丰富的计算机信息网络。近年来,借助着Internet的蓬勃发展,伴随信息化建设的推进,在线音乐网站迅速崛起,其市场范围在全球急剧扩大。当今世界作为一个飞速发展的社会,网络已渗入人们的日常生活,网络已成为信息传播的一大媒介,可以说网络资源的获取途径已逐步改变了人们以往的生活方式,网络已经成为人们日常生活、工作、休闲的主要工具之一。 伴随着互联网和宽带上网的普及,在线音乐网站在中国异军突起,并日益渗透到人们的日常生活当中。音乐网站是运用现代通信技术、计算机技术和网络技术进行的一种社会形态,其目的是通过高速发展的互联网提高社会生产效率、优化社会资源的配置,从而实现社会财富最大化利用。为了方便用户在网站上听到最新的音乐,网站管理员需要通过网站后台来对网站进行管理。本课题所研究的在线音乐网站播放系统-管理功能子系统主要是为管理员提供一个添加删除歌曲歌词的平台,使网站管理员可以方便的对网站进行管理。 1.2 开发的目的和意义 1.2.1 开发的目的 本次毕业设计课题是基于JSP的在线音乐播放系统-管理功能子系统的设计与实现。 系统的开发目的就是利用当前飞速发展的互联网技术,实现一个网站管理员操作方便的后天管理系统。给管理员提供一个更加便捷的添加删除歌曲,添加删除歌词等的后台服务平台。构建这样一个小型的后台管理系统可以给网站管理员带来很大的方便。音乐网站的管理员可以通过帐号密码登录后台,对网站的信息进行管理,主要包括对歌曲的添加删除,对歌词的添加删除等。 开发管理功能子系统的目的主要是为了方便网站管理员对网站进行各种各样的操作,提供管理员的工作效率,实现管理的信息化。 1.2.2 开发的意义 当今,中国做为全球最大的发展中国家,根据工业和信息化部(MIIT)公布的数据显示中国的上网用户数量将达到近七点四亿,占了中国人口的百分之六十,同时还在以1.01%每月和17.51%每年的速度不断增加,中国已经无可厚非地成为了全球最大的通信市场。中国的上网用户已经超过了全欧洲国家所有上网用户的总和。 为了满足各类音乐爱好者,明星崇拜者,各种专辑痴迷着的需求,一大批以音乐为主题的网站也应运而生。在线音乐网站行业呈现出旺盛的生命力和巨大的市场潜力。在线音乐播放系统采用了B/S开发框架,利用先进的管理构思,完善的业务管理功能,整个产品在管理功能、实用性、易用性、数据容量、数据安全性、网络稳定性等方面相对于以前的系统都有了很大的提高。管理功能子系统就是整个系统中十分重要的一部分,通过它网站管理员可以方便快捷的对网站进行维护、数据更新[7]。 1.3 系统的总体要求 系统开发的出发点是方便实用。在系统建设时要求达到提高办事效率、自由的使用本系统并实现信息共享的目的。主要体现在以下几个方面: 1) 实用性要求最大限度地满足用户的需求,做到灵活实用是系统建设的最高要求,也是系统设计的基本出发点。实用性要求做到:便于用户应用,便于系统管理,便于数据更新和系统的升级,具有简单明了的人机交互方式、优化的系统结构和完善的数据库系统,以及灵活简便的用户使用界面。 2) 网络化在软硬件上采用B/S结构,能有效地保证数据的安全性,合理地控制数据流向,用户可以通过Internet访问音乐网站的首页,点击自己喜欢的歌曲。 3) 经济性系统建设要求在实用的基础做到经济,以最小的投入来获得最大的效益。在软硬件配置、系统开发和数据库建立上都充分考虑投入和经济效益[11]。 2 相关技术与开发工具介绍 2.1 JSP技术 (1)简介 JSP(Java Server Pages)技术,是由Sun 公司倡导、许多其他公司参与一起建立的一种应用范围广泛的动态网页技术标准,它以Java和Servlet为基础开发,底层实现是Java Servlet。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端所请求之后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JSP技术是目前应用最广泛的动态网页技术之一 ,主要用以创建基于B/S架构的动态网站。自JSP推出后,众多大公司都推出支持JSP技术的服务器,这也为JSP迅速成为商业应用的服务器端语言打下重要基础。 (2)工作原理 JSP是面向服务器的,当服务器上的一个JSP页面被第一次请求执行时,服务器上的JSP引擎首先将JSP页面文件转译成一个Java文件,然后将此Java文件编译成字节码文件,通过执行字节码文件相应客户的请求。当这个JSP页面再次请求执行时,JSP引擎将直接执行字节码文件来响应客户的请求。字节码文件的主要工作是把JSP页面中的HTML标记符号交给客户的浏览器负责显示,负责处理JSP标记,并将有关的处理结果发送给客户的浏览器,执行“<%”和“%>”之间的Java程序片,并把执行的结果交给客户的浏览器显示,当多个客户请求一个JSP页面时,服务器为每个客户启动一个线程,该线程负责执行常驻内存的字节码文件来响应客户的请求。 (3)体系结构 JSP网站开发标准给出了两种使用JSP的技术,可以归纳为模式一、模式二。 ①模式一:JSP+JavaBeans技术 在这种模式中,JSP页面独自响应请求并将处理结果返回给客户。Bean处理所有数据访问,JSP实现页面的表现,以实现内容生成与显示相分离。 ②模式二:JSP+Servlet+JavaBeans技术 Servlet技术是一种采用Java技术来实现CGI功能的一种技术,Servlet技术非常适于服务器端的处理和编程,并且Servlet会长期驻留在内存。 2.2 SQLServer 2005数据库 (1)简介 SQL(Structured Query Language)是一种资料库查询和程式设计语言,用于存取资料以及查询、更新和管理关联式资料库系统。美国国家标准局(ANSI)与国际标准化组织(ISO)已经制定了 SQL 标准。ANSI 是一个美国工业和商业集团组织,发展美国的商务和通讯标准。ANSI 同时也是ISO和International Electrotechnical Commission(IEC)的成员之一。ANSI 发布与国际标准组织相应的美国标准。1992年,ISO 和 IEC 发布了 SQL 的国际标准,称为 SQL-92ANSI 随之发布的相应标准是 ANSI SQL-92。ANSI SQL-92 有时被称为 ANSI SQL。尽管不同的关联式资料库使用的 SQL 版本有一些差异,但大多数都遵循 ANSI SQL 标准。SQL Server 使用 ANSI SQL-92 的扩展集,称为 T-SQL,其遵循 ANSI 制定的 SQL-92 标准[7]。 Microsoft SQL Server 2005 是一个高性能的客户端/服务器结构的关系数据库管理系统(RDBMS,Relational Database Management System).SQL Server 2005 是为支持高容量的事务处理(比如在线订购录入、存货目录、记帐或制造)以及数据仓库和决策支持系统(比如销售分析应用)而设计的。 SQL Server 2005以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台,这样方便了数据库管理员(DBA),减轻了他们的负担。通过新数据库镜像方法,将记录档案传送性能进行延伸。您将可以使用数据库镜像,通过将自动失效转移建立到一个待用服务器上,增强您SQL服务器系统的可用性。 SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能以及数据之间的复杂关系也得到良好的处理,使您可以构建和管理用于业务的高可用和高性能的数据应用程序 。 SQL Server 2005 数据引擎是本企业数据管理解决方案的核心。此外 SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将各个领域中的复杂数据应用推向业务的各个领域。 与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集成使 SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。 (2)SQL Server 特点: a) 真正的客户机/服务器体系结构。 b) 图形化用户界面,使系统管理和数据库管理更加直观、简单。 c) 丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。 d) SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。 e) 具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。 f) 对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。 g) SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。 2.3 JDBC技术 (1)简介 JDBC技术是Java DataBase Connectivity的缩写,它是SUN公司提供的一种支持基本SQL功能的通用的应用程序接口(Application Programming Interface),是JAVA应用程序与数据库的沟通桥梁。它由一组用Java语言编写的类和接口组成。通过这些类和接口,程序开发人员可以在Java语言中方便地建立与数据库的链接,通过执行相应SQL语句,完成对不同数据库的访问。不但如此,使用Java语言编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上开发不同的应用程序。JDBC技术提供了三项服务功能:一、与数据库建立连接。二、将SQL语句传递给数据库。三、从数据库取得SQL语句的执行结果。 (2)工作原理 当JDBC要与数据库建立连接前,首先,它必须先取得连接此数据库的JDBC驱动程序,Class.forName()即是在执行此项工作。建立数据库连接的第一步骤就是将JDBC驱动程序的类载入至JVM(Java VirtualL Machine)中,本系统中利用java.lang.Class类内的forName()静态函数依据指定的类名称,将JDBC驱动程序载入进来。完成载入驱动程序的步骤后,必须使用java.sal.DriverManager类所提供的getConnection()静态函数,取得与数据库间的连接对象。此连接对象的类类型为java.sal.Connection,必须通过它才能将SQL指令传递给数据库,而执行结果也需要通过连接对象来取得。当取得连接对象后,还必须取得Statement对象才能对数据库执行SQL指令。Statement主要实现两个功能:执行SQL语句以及取得执行结果。在java.sql.Statement的sql对象中执行查询或修改命令的函数后传回的是一个ResultSet 对象,这个对象提供了一个存取SQL执行结果的管道,以便通过它将表格数据从数据库中取出。每个Statement对象只能产生一个ResultSet 对象。 数据库连接如图所示: 图2.1 数据库的连接处理 2.4 开发工具 1) JDK1.7:JDK(Java Development Kit) 是 Java 语言的软件开发工具包.是Java程序编译和运行的基础。 2) Eclipse:Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。功能十分强大,运用十分广泛,就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。 3) SQL Server2005:Microsoft SQL Server 2005 是一个全面的数据库平台, 是一个关系数据库管理系统。 3 可行性研究 3.1 可行性研究的要求 1) 功能性要求: 后台要求能够对管理员身份进行验证,管理员登录以后可以对歌曲进行添加、删除等功能。 2) 性能性要求: 对歌曲能够进行正常的播放,歌词与声音能够同步,查询效率尽可能做到精确,保持系统数据的一致性、准确性、实时性,信息维护功能做到简单易用。 3) 安全与保密: 只有管理员通过身份验证登录后台管理系统以后才能对网站首页上的歌曲进行添加删除等操作。 3.2 可行性研究的目的 1) 使用户能够简单方便的对网站进行操作。 2) 对歌曲进行分类,方便进行管理。 3) 人力与设备的费用减少。 4) 方便管理员对系统进行维护。 3.3 可行性研究的方法 主要来源于市场相关网站的调查,调查相关网站的开发时间及难易程度。同时对用户和管理员进行问卷调查,了解他们对网站前台和后台功能的要求。 3.4 相关可行性 3.4.1 经济可行性 经济可行性研究是对经济现状和投资能力进行分析,对网站建设运行和维护费用进行估算,对网站建成后可能取得的社会和经济效益进行估计。由于乐游音乐网站是作为毕业设计由我们自己开发的,开发该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的其他应用软件、硬件系统也易于获得。因此,开发成本低廉。而应用本网站进行音乐共享与音乐管理,与传统方式相比,具有高效率、低成本、高质量的特点。所以,从经济的角度来看,该系统可行。 3.4.2 技术可行性 技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。本系统用的是JSP开发语言,SQL Server 2005数据库管理数据,操作相对简单便捷。当前的计算机的硬件配置与操作系统满足开发需求,所有配置环境安装全面、软件开发平台成熟可行。所以在技术上也是可行的。 3.4.3 运行可行性 运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。当前信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。 3.4.4 时间可行性 从时间上看,在三个月的时间里学习相关知识,并开发系统,时间上有些困难,但是也不是不可能实现,通努力和高效的工作,功能可以基本实现。 综上所述,本系统的开发是完全可靠的。 4 数据库设计 JSP在线音乐播放系统是一个在线娱乐网站,数据库结构设计的好坏直接影响应用系统的效率一级实现的效果。好的数据库结构设计会大大减少数据库的存储量,数据的完整性和一致性比较高,系统具有十分快的响应速度,可以简化应用系统的实现。数据库技术是信息资源管理最有效的手段。数据库设计是建立数据库及其应用系统的核心和基础。它要求对于指定的应用环境,构造出较优的数据库模式,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息,满足用户的各种应用需求(信息要求,处理要求,数据的及时性要求)。 设计数据库之前首先要理解客户需求,询问用户如何看待未来需求变化。让客户解释其需求,而且随着开发的继续进行,还要经常询问客户以保证其需求仍然在开发的目的之中。而后应该有明确的数据库设计规范,包括表,视图,字段等的命名规范,设计约束和存储过程等的编码规范。同时数据库设计应该遵守从逻辑设计到物理设计的实现思路,遵守数据库的设计范式等基本要求。在充分了解客户需求的情况下,创建数据字典和E-R模型。对于复杂的业务系统的表和字段的设计,首先从E-R图入手,从逻辑模型转入物理模型后可得到相应的数据库表。数据库的表和字段的命名都应该能规范和确切的表达数据项的含义。在数据库系统设计开始的时候应该尽量考虑全面,尤其是应该考虑用户的各种需求,避免浪费不必要的人力和物力,对整个系统的开发造成影响。本系统采用SQL server 2005数据库,通过JDBC使系统有良好的兼容性。 4.1 数据库模型的设计与实现 概念模型最常用的表示方法是实体-联系方法 (Entity-Relation Approach,简称E-R方法)。E-R方法是由P.P.S·Chen于1976年提出的,其方法是用E-R图来描述某一组织的信息模型。由于人们通常就是用实体、联系和属性这三个概念来理解和描述现实问题的,所以实体联系图非常接近人的思维方式。又因为实体联系图采用简单的图形来表达人们对现实的理解,所以不熟悉计算机技术的用户也都能够接受,因此目前实体联系图已成为使用非常广泛的数据库结构概念建模的工具。 实体联系图:简记E-R图,是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。与此有关的概念有: 1) 实体:“实体”是观念世界中描述客观事物的概念。实体可以是人,也可以是物或抽象的概念;可以指事物本身,也可以指事物之间的联系。 2) 属性:“属性”指实体具有的某种特性。属性用来描述一个实体。 3) 联系:现实世界的事物总是存在着这样或那样的联系。在信息世界中,事物之间的联系可分为两类:一是实体内部的联系,一是实体之间的联系。一般主要讨论实体之间的联系(比如N:N的关系;N:1的关系;1:1的关系)。 在线音乐网的实体包括: 1) 歌曲:歌曲的编号,歌曲的名称,演唱者,专辑名称,文件大小,文件路径,文件格式,试听次数,下载次数,上传时间,所属类别。 歌曲编号 歌曲名称 所属类别 演唱者 专辑名称 歌曲 上传时间 文件大小 下载次数 文件路径 试听次数 文件格式 图4.1 歌曲实体图 2)管理员:管理员编号,管理员账号,管理员密码。 管理员帐号 管理员密码 管理员编号 管理员 图4.2 管理员实体图 3) 类别名称:类别编号,类别名称。 类别名称 类别编号 类别 图4.3 类别实体图 4.2 数据字典 1、tb_manager表即是管理员表,用来存放管理员相关信息的,如管理员的用户名和管理员的密码。主键为管理员的id值,在这里将其设置为自增模式。 其结构如表4.1所示。 表4.1管理员表 字段名 数据类型 主键 外键 为空 默认值 描叙 id Int Yes No 编号 manager Varchar(20) No No 管理员的用户名 pwd Varchar(32) No No 管理员的密码 2、 tb_songtyper即是歌曲类别表用来保存歌曲的类别信息的。歌曲的类别一共分为五种:流行金曲,经典歌曲,热舞DJ,轻音乐,小儿歌曲,欧美金曲。tb_songtyper表中的一列id是表tb_song中的一列songtype的外键,所以在保存这个表的数据要注意外键关系。歌曲类别表的结构如表4.2所示。 表4.2歌曲类别名称表 字段名 数据类型 主键 外键 是否为空 默认值 描叙 id Int Yes No 编号 typeName Varchar(20) No No 类别名 3、tb_song表即是歌曲表用来存放歌曲的相关信息。歌曲的属性:歌曲编号,歌曲的名称,歌曲演唱者,演唱者发布的专辑名称,文件的大小,文件路径,文件格式,试听次数,下载次数,上传时间,所属类别等信息的。在tb_song表中主键为歌曲的id号,这里设置id为自增类型。其结构如表4.3所示。 表4.3音乐表 字段名 数据类型 主键 外键 为空 默认值 描叙 id Int Yes No 编号 songName Varchar(50) No No 音乐的标题 singer Varchar(30) No No 歌手 fileSize Varchar(10) No No 音乐文件的大小 fileURL Varchar(100) No No 音乐文件的路径 format Varchar(10) No No 音乐文件的格式 hits Int No No 音乐试听的次数 songtype Int No Yes 音乐的类别 4.3 数据库连接的设计与实现 JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。作为JSP应用程序采用JDBC编程方式,通过这个桥梁来操作数据库的相关操作。其主要的连接数据库核心代码如下: public class ConnDB { public Connection conn ; // 声明Connection对象的实例 public Statement stmt; // 声明Statement对象的实例 public ResultSet rs; // 声明ResultSet对象的实例 private static String propFileName = "/com/connDB.properties"; private static Properties prop = new Properties(); // 创建并实例化Properties对象的实例 private static String dbClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; private static String dbUrl = "jdbc:sqlserver://localhost:1433;DatabaseName=db_onLineMusic"; private static String dbUser = "sa"; private static String dbPwd = "123"; public ConnDB() { // 定义构造方法 try { // 捕捉异常,将Properties文件读取到InputStream对象中 InputStream in = getClass().getResourceAsStream(propFileName); prop.load(in); // 通过输入流对象加载Properties文件 dbClassName = prop.getProperty("DB_CLASS_NAME"); // 获取数据库驱动 dbUrl = prop.getProperty("DB_URL", dbUrl); // 获取URL dbUser = prop.getProperty("DB_USER", dbUser); // 获取登录用户 dbPwd = prop.getProperty("DB_PWD", dbPwd); // 获取密码 } catch (Exception e) { e.printStackTrace(); // 输出异常信息 } } public static Connection getConnection() { Connection conn = null; try { Class.forName(dbClassName).newInstance(); conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd); } catch (Exception ee) { ee.printStackTrace(); } if (conn == null) { System.err.println("警告: DBConnectionManager.getConnection() 获得数据库链接失败.\r\n\r\n链接类型:"+ dbClassName+ "\r\n链接位置:"+ dbUrl+ "\r\n用户/密码"+ dbUser + "/" + dbPwd); } return conn; } public ResultSet executeQuery(String sql) {} public int executeUpdate(String sql) {} public int executeUpdate_id(String sql) {} public void close() {} } 与数据库连接的代码被设计成一个Java的类文件,这样在开发中可以直接调用。这个类文件中使用了本地API半Java驱动程序的方法来连接到数据库,这种驱动程序必须要求客户端安装开发商的数据库软件,然后使用Java语言通过本地API类访问数据库。通常对数据库的操作都加上Try...Catch...Finally...End 语句,这是一种异常处理机制。一旦try段中数据库操作事务失败,服务器会向系统发出一个用于帮助用户发现并修复数据库错误的信息,采用这种方法可以大大提高程序的可读性。上面是部分代码,实际还包括:getCon()方法用于返回一条获取数据库的连接;getStmt()方法使用getCon()方法获取数据库的连接,返回Statement;getRs()方法从getStmt()方法获取Stmtread用于查询语句,返回一个ResultSet;getRowCount()方法返回要查询数据的行数;close()方法用来关闭数据库的连接。 5 系统设计 5.1 系统设计的目标 根据需求分析以及与客户的沟通,JSP在线音乐网站播放系统要求达到以下目标。 1) 界面设计友好、美观。 2) 在首页中提供最新音乐展示,并且音乐分类明确。 3) 用户能够方便地查看某类中的所有音乐和音乐的详细内容。 4) 能够实现音乐的全选和反选功能,方便用户操作。 5.2 管理功能子系统结构设计 在线音乐模块可以分为前台和后台两个部分。用户功能子系统主要用于设计管理前台,管理功能子系统主要用于对网站后台中的信息进行管理,重点是添加歌曲和删除歌曲。后天功能结构图如图5.1所示 在线音乐模块后台 添加歌曲 添加删除管理员 分类显示歌曲列表 检测歌曲是否添加 上传歌曲文件 上传歌词文件 保存歌曲信息 删除歌曲及歌曲文件 图5.1后台功能结构图 5.3 系统的实现 5.3.1 管理员的登录 在点击系统首页下面的管理链接后,就进入管理员的登录页面。管理员输入正确的管理员的用户名和管理员的密码,就可以登录后台模块的管理员管理界面,管理可以进行删除歌曲和添加歌曲等操作。管理员的登录界面如图5.2所示: 图 5.2 管理员登陆界面 在首页单击“管理”按钮后根据login.jsp页面中的manager和pwd传参数给managerForm,函数public int login(ManagerForm m)根据传入值manangerFrom中的属性mananger,pwd查询数据库输入的管理面用户名和密码是否正确,如果正确的话,返回值为1,登陆成功进入后台管理的首页。如果不正确的话,返回值是0,则会自动跳转到本页面。管理员登陆成功后则可以对网站前台首页的歌曲进行管理,还可以对管理员的信息进行管理。 管理员登陆的数据流图为图5.3: 图5.3 后台登陆模块流程图 5.3.2 歌曲的添加 管理员登录之后,可以根据最新的歌曲进行添加,给游客良好的使用体验。管理员要填加歌曲的界面如图5.4所示: 图5.4 添加歌曲界面 在添加歌曲的界面可以根据添加歌曲的类别进行选择,其中包括流行金曲、经典老歌、轻音乐、热舞DJ、欧美金曲、少儿歌曲,当输入歌曲名及演唱者后需要先检查歌曲是否上传才可以激活下面的上传文件的按钮。当前网页打开时会首先初始化文件上传下载组件jspsmartupload.jar(即导入的包),然后可以通过上传下载组件中的相关方法upFile.getFiles().getSize()/1024.00/1024.00语句得到文件的大小,判断文件大小不能大于5MB,如果大于这个数字,要给于相关的提示。如果上传的音乐文件小于5MB,保存对应的音乐文件和音乐歌词文件。 点击保存后,系统会自动将歌曲及对应的歌词文件保存到Tomcat服务器中的music文件中。着样用户就可以通过访问服务器来收听歌曲。 5.3.3 歌曲的删除 管理员可以根据游客喜爱程度(可以根据试听次数和下载次数)删除一些不受欢迎的歌曲。管理员在删除歌曲以前可以通过搜索功能将歌曲搜索出来,在歌曲列表的最后有一个删除按钮,双击删除按钮即可进入删除界面。 管理员实现删除功能的界面如图5.5所示: 图 5.5 删除歌曲界面 删除歌曲时根据传过来的ActionFrom中的歌曲编号id,查询tb_song表,如果存在该歌曲,那就执行删除操作;如果不存在该歌曲,那就提示歌曲删除失败。在删除数据库里数据的同时,系统也会将Tomcat服务器里面歌曲的mp3文件也删除。 5.3.4 添加管理员 管理员登录以后可以根据实际工作中的需求来添加适当数量的管理员,从而分担自己的工作量。添加管理员用最常见的方式添加,即输入管理员名称、密码、再次确认密码。管理员实现添加功能的界面如图5.6所示: 图 5.6 添加管理员界面 5.3.5 删除管理员 当有的管理员离职后,对其帐号进行删除,及时的更新管理员信息。删除管理员的界面如图5.7所示: 图 5.7 删除管理员界面 5.3.6 搜索歌曲 音乐网站的后台也提供了强大的搜索功能,这音乐网站的后天也可以根据歌曲类别、歌曲名、专辑、歌手来进行搜索。这样主要是为了使管理员操作更加方便。当管理员想要删除某首歌曲时可以通过搜索功能迅速的找见该歌曲。搜索功能的界面如图5.8所示: 图5.8 搜索功能界面 6 测试分析 6.1 单元测试 单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。例如,你可能把一个很大的值放入一个有序list 中去,然后确认该值出现在list 的尾部。或者,你可能会从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这些字符了。 单元测试(模块测试)是由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了证明这段代码的行为和我们期望的一致。 单元测试的优点: 1)它是一种验证行为 程序中的每一项功能都是测试来验证它的正确性。就算是开发后期,我们也可以轻松的增加功能或更改程序结构,而不用担心这个过程中会破坏重要的东西。而且它为代码的重构提供了保障。这样,我们就可以更自由的对程序进行改进,即使出现了错误,我们也可以及时的更改。 2)它是一种设计行为 编写单元测试将使我们从调用者观察、思考。特别是先写测试(test-first),迫使我们把程序设计成易于调用和可测试的,即迫使我们解除软件中的耦合。 3)它是一种编写文档的行为 单元测试是一种无价的文档,它是展示函数或类如何使用的最佳文档。这份文档是可编译、可运行的,并且它保持最新,永远与代码同步。 4)它具有回归性 自动化的单元测试避免了代码
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服