




免费预览已结束,剩余34页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2014 届本科毕业论文(设计)题目:个人音乐网站开发与架构摘 要当今社会作为一个飞速发展的社会,网络已渗入人们的生活,网络已成为信息传播的一大媒介,可以说网络资源的获取已逐步改变了人们以往的生活方式,网络已经成为人们日常工作,休闲的主要工具之一。网站已逐渐成为形象宣传、产品展示推广、娱乐休闲,信息沟通的最方便快捷的桥梁,网站是向用户和网民提供信息的一种方式,是开展服务的基础设施和信息平台。本毕业设计目标是设计并实现一个B/S体系结构的个人音乐网站。结合实践,理解网页开发技术和数据库的基本知识,学习相关开发工具和应用软件,熟悉网站建设的过程,熟练掌握网络数据库编程方法。在这个系统中我运用了HTML5,CSS,DIV,PS,JavaScript等网站前台设计所需要的专业知识,同时结合了网站后台所需的JAVA,JSP等编程知识开发出了我的音乐网站。网页界面的结构设计以实用性出发,具有易于操作、简洁、方便等特点。在设计中,首先,运用HTML+CSS+DIV语言对网站的静态页面进行精细的加工并且在网站的美工方面取得了良好的效果。其次,对于Tomcat服务器的搭建、Java编程、JSP的动态编程以及MYSQL数据库的应用进行努力学习和大量实践,并运用到了我的网站的建设中。本论文就此音乐系统进行了详细全面的论述。访问本系统的用户分为听众和管理员两种角色,两个角色共有很多功能的实现。系统中听众的主要功能有:在线听歌,歌曲歌词同步显示,歌曲排行榜,最受欢迎的歌曲排行。系统中的管理员的主要功能有:歌曲的添加,歌曲的删除,歌曲的修改,歌曲的查询,歌曲的歌词的添加,歌词的删除。关键词:个人音乐网站IV ABSTRACTIn todays society as a rapidly developing society, the network has been into peoples lives, the network has become a major information dissemination media, can access network resources has gradually changed the way peoples lives, the Internet has become Peoples Daily work, one of the main tools of leisure. Website has gradually become image promotion, product promotion, leisure entertainment, the most convenient information communication bridge, the website is a means of providing information to users, Internet users, is to carry out the service infrastructure and information platform.Emerging Internet music sites in China and increasingly penetrated into Peoples Daily life. Music web site is to use modern communication technology, computer and network technology is a way of service, its purpose is through the Internet, enhance the efficiency of social production, optimizes the allocation of social resources, so as to realize the maximization of social wealth. The research of personal music web site of this thesis is mainly provide search for personal, appreciation and download a platform, so as to bring convenience to people, feel the charm of music on the Internet brings. Personal online music network design and implementation, it is the embodiment of the close link between the Internet and social life.This graduation design goal is to design and implement a system of B/S structure of individual music web site. Combined with the practice, understand the basic knowledge of web development technologies and database, learning related development tools and application software, familiar with the process of website construction, master network database programming method.I use it in this system, CSS, DIV, PS, JavaScript web sites such as front desk design need professional knowledge, at the same time combines the website backstage required JAVA, JSP programming knowledge such as developed my music site. The structure of the web interface design with practical, has the characteristics of easy operation, simple and convenient. In the design, first of all, using HTML + CSS + DIV language intensive processing and the static page of the website in the status of the site has achieved good effect. Secondly, for the construction of the Tomcat server, Java programming, JSP dynamic programming, and the application of the MYSQL database to study hard and a lot of practice, and apply to the construction in my website.In this paper, on the music system were described in full detail. Access to the user of this system is divided into the audience and the administrator two roles, the realization of the function of two characters there are a lot of. The main functions of the system in the audience are: online music, song lyrics synchronization, according to song rankings, ranking one of the most popular songs. The main function of the system administrator has: song to add, delete songs, songs of modification, song query, add the words of songs, lyrics to delete.Key words: Personal music website目 录1. 序 论1.1 背景及意义随着Internet网正在向全世界各大洲延伸和扩散,Internet是一个国际性的通信网络集合体,它集现代通信技术和现代计算机技术于一体, 是计算机之间进行国际信息交流和实现资源共享的良好手段。Internet也是人类历史发展中的一个伟大的里程碑,它是未来信息高速公路的雏形,人类正由此进入一个前所未有的信息化社会。当今社会作为一个飞速发展的社会,网络已渗入人们的生活,网络已成为信息传播的一大媒介,可以说网络资源的获取已逐步改变了人们以往的生活方式,网络已经成为人们日常工作,休闲的主要工具之一。我所选择的课题是个人音乐网站的设计与实现,正是互联网与社会生活之间的紧密联系的体现。音乐是无国界的,音乐通过网络这个媒介更多的进入人们的日常工作休闲。随着网络技术的日趋成熟和普及,各类网站如雨后春笋般出现在互联网上,音乐网站是其中较为流行和热门的一种。从音乐网站上发展而来的网络音乐是一种全新的音乐模式,它突破了传统音乐的制作方法和传播模式的局限,更加贴近人们的生活。音乐网站是网络音乐的发展平台。过去,音乐网站功能较为单一,但随着网络技术的发展,用户对音乐网站的要求逐步提高,音乐网站由此也逐渐出现了更多采用较为优越的开发语言来建设的音乐网站。对于在线音乐网站来说,用户的体验和感受是至关重要的。所以,为了能让能及时了解用户的感受,所以本次设计中,拥有一个专门对我的音乐的网站评论的平台。该毕业设计所研究的音乐网站主要是为个人提供搜索,个人音乐分享,音乐欣赏和下载的一个平台,从而给个人带来方便。1.2系统实现内容个人音乐网站系统主要是服务于喜爱音乐的用户。主要由用户在线听音乐、用户同步音乐歌词显示、用户讨论评价、用户喜爱的音乐排名,4个功能模块组成。用户进入网站时,根据网站上显示的音乐,可以选择在线听歌,如果网站主页上没有用户的音乐,那么用户可以进行音乐可查询,同时用户还可以通过查看最近比较受欢迎的音乐信息进行选择性的听音乐,在播放音乐的过程中还可以进行同步播放歌词。个人音乐网站系统采用了B/S结构开发,由于以往的静态网页存在单调,维护任务大,缺乏和用户的交互,网站有别于其他音乐网站的常规设计,本次毕业设计将给人一种全新的感觉,使之浏览,搜索音乐更加方便和快捷。这也就是毕业设计的编写意义所在。1.3论文结构论文内容安排如下:第一章,介绍论文的背景及实现意义。引入目前音乐网站现状分析来开发并评价系统的理由。第二章,系统开发工具及相关方法说明。第三章,系统分析设计。包括需求分析、可行性分析和数据流图,介绍了面向对象技术进行系统分析和设计的过程。第四章,系统功能具体实现。第五章,系统测试。采用黑盒测试方法进行阐释。第六章,总结。对论文所做的工作做了总结,并对今后的深入探索工作做了展望。 2.网站开发工具及开发相关说明 2.1数据库MYSQL 简介MYSQL是AB公司推出的大型数据库服务器,同时MYSQL是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,提供了基于事务的企业级信息管理系统方案,是AB公司专门为各种操作系统开发的数据库管理软件,在Windows平台下有更优越的条件。SQL(Structured Query Language)即为结构化查询语言。SQL语言的主要功能就是同各种数据库建立关联,进行沟通。SQL 之所以能够为用户和业界所接受,并成为国际标准,是因为它是一个综合的、功能极强同时又简洁易学的语言。2.2 EclipseEclipse是著名的跨平台的自由集成开发环境(IDE),整合了对象、关系型数据、XML的访问方式,语言更加简洁,也提供了更好的集成开发环境,使用它可高效地创建各种类型的应用程序或组件,如Web应用程序、XML Web Service、Android组件、移动应用程序及桌面应用程序等。本系统正是采用JAVA + JSP语言来实现的。Eclipse 不仅可以实现JAVA编程语言的快速开发,而且它将程序编辑、调试、测试、打包和部署等操作集成在一起,大大提高了开发效率。2.3 Java语言Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。由于Java拥有其特点,所以Java成为了目前最受欢迎的语言之一。2.4 JSP JSP(全称Java Server Pages)是由Sun Microsystems公司倡导和许多公司参与共同建立的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。JSP使Java代码和特定的预定义动作可以嵌入到静态页面中。JSP句法增加了被称为JSP动作的XML标签,它们用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库提供了一种和平台无关的扩展服务器性能的方法。JSP被JSP编译器编译成Java Servlet。一个JSP编译器可以把JSP编译成JAVA代码写的servlet然后再由JAVA编译器来编译成机器码,也可以直接编译成二进制码。2.5 TomcatTomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。2.6 开发平台(1)开发环境:Windows XP及Windows 7或以上(2)开发工具:Eclipse(3)数据库:Mysql(4)数据库界面管理工具:Navicat(5)使用语言:Java,XML,Html,Jsp3 系统分析3.1可行性分析个人音乐网站,是用JAVA和JSP语言开发的一个Web网站,属于服务类的网站。其中涉及到十分多的环节需要与数据库进行交互,同时在界面美工方面需要熟练的操作Photoshop和使用CSS+DIV进行布局。这既要考虑时间可行性和技术可行性,又要考虑运行可行性和操作可行性。时间可行性:研发一个系统,不管系统庞大与否,时间是必须的,但一个系统不能在规定的时间范围之内完成,开发系统则显得毫无意义可言。个人音乐网站这一个项目的研发规定的时间要求十分宽裕,从理论上来说,符合时间的可行性。技术可行性:从网站的基本建设目的出发可知,网站需要通过JSP语言去实现。其中还涉及到Photoshop图片处理技术、CSS+DIV页面布局技术、JavaScript脚本、MYSQL的数据库操作、XML技术。从开发语言发展稳定的角度上看,如今包括JAVA在内的大部分面向对象编程语言已经在时代的响应下得到了飞速的发展,现在的JAVA技术更是大部分程序员开发所使用的语言,而且JAVA的开源,为程序员带了十分大技术支持。同时,JSP与HTML的相容性,以及JAVA与MYSQL的交互以实现性等,更是对于网站的开发提供了最好而最便利的工具。运行可行性:个人音乐网站只要在安装了Java和Tomcat的PC机中均能运行。操作可行性:个人音乐网站是基于B/S模式开发的,其具备简单的操作性,就像浏览一般的网站一样,让人一目了然,容易使用。并且,设计风格简约,去除了华而不实的功能,让用户能轻易找到自己的想要的服务。3.2 需求分析3.2.1 需求分析概述需求分析是指:用户对目标软件系统在功能、行为、性能、设计约束等方面的期待。通常,这些需求包括:功能需求、性能需求、用户或人的因素需求、环境需求、界面需求、文档需求、数据需求、资源使用需求、安全保密需求、可靠性需求、软件成本消耗与开发进度需求等,并预先估计以后系统可能达到的目标。3.2.2 系统需求分析个人音乐网站是一个在线服务类的网站,分为前台和后台两部分。(1)前台主要是完成用户搜索音乐(按歌曲名搜索,按专辑搜索,按歌手名搜索),用户浏览音乐试听排行榜,用户浏览音乐下载排行榜、用户根据音乐的分类在线试听音乐,在线同步音乐的同时还可以浏览歌词,如果觉得音乐好听还可以下载。也就是说,用户能从网页的浏览中了解最近播放次数最多的歌曲,然后可以进行音乐欣赏,并且还能让用户下载相关的音乐资源。用户还能通过搜索,搜索自己喜欢的音乐。(2)对于网站后台,主要完成对以下功能:添加歌曲,删除歌曲。在添加歌曲的同时可以附上对应的歌词文件,后台也可以通过查询列出整个网站系统所上传的音乐。整个网站的开发是为了服务用户的,让用户能在网上欣赏到音乐,同时获取想要的音乐资源,并获得和大家交流的平台;让人人都能用网络,分享音乐资源,同时有利于传播分享精神。3.2.3 功能需求分析从功能上来讲,可把系统分为两部份,分别是:前台功能:网站前台是为用户提供的浏览而开发的,所以它必须具备:搜索音乐,在线听音乐,同步观看音乐歌词;音乐资源下载,浏览试听排行榜,浏览下载排行榜。通过排行榜可以知道目前在该网站上最受欢迎的歌曲。后台功能:网站后台管理是为管理员对整个网站管理。首先具备管理员登录和验证、音乐资源管理(搜索音乐、删除音乐、添加音乐)。1. 管理员的用例描述从管理员进入后台管理开始,管理员便能查询到其他音乐的信息;管理员能够在后台通过搜索功能列出所有已经发布的音乐。对已经发布的音乐进行删除,通过添加功能还可以上传音乐,同时上传音乐对应的歌词文件,如图3-1所示。图3-1 管理员用例图2. 普通用户的用例描述普通用户能浏览前台页面,因此,当用户进入网站时,能通过网站查看音乐信息的查看,在线听音乐和同步音乐歌词浏览,下载相关的音乐资源,搜索音乐,如图3-2所示。图3-2 普通用户用例图3.2.4 从性能需求分析个人音乐网站是基于B/S模式的,页面功能逻辑和数据库表的逻辑相对简单,但是数据量十分大,因为项目中包含了许多音乐格式文件和大量的音乐歌词文件,这也使得项目所占用的存储空间很大,加大了服务器的压力。本网站是一个开发性的网站,用户无需登录便可轻易在线听音乐,这需要服务器有很好的并发处理能力,同时也包括了:音乐搜索这个关键的功能。1. 对界面的要求:u 为用户提供简单的界面操作u 页面大小、字体大小适中,风格柔和,布局合理、规范u 页面风格主题突出,格式统一、内容规范和明确,传递信息准确u 页面功能按需求实现,没有繁琐而无用的功能2. 后台安全需求:u 后台要想进入,只有知道管理员账号密码才可以进入并操作u 确保上传的MP3文件可以播放u 确保上传的歌词lrc文件可以同步显示u 页面的可兼容性第4章 系统设计4.1 系统体系结构设计个人音乐网站整个项目由两部分组成,分为前台操作和后台管理。前台功能:浏览音乐信息(试听排行榜,下载排行榜,分类行浏览)、在线听音乐(包含同步观看歌词)、下载喜爱的音乐、音乐搜索。后台功能:管理员登录和验证判断、搜索音乐(按类型搜索,全部列出已经发布的音乐)、添加音乐(添加音乐文件,添加对应的歌词文件)、删除音乐,整体网站功能结构图如图4-1所示。图4-1 系统功能结构图4.2系统的主要功能模块设计1.音乐搜索在进入网站浏览时,通过对音乐名称,专辑名称,歌手名称,可以搜索到喜欢的音乐。2.音乐下载 当搜索到喜欢的音乐或者在网站前台发现喜欢的音乐,那么我们可以将音乐下载下来,方便日后听音乐。3. 音乐播放除了可以下载音乐外,音乐还可以播放,最重要的是,播放的时候可以同步浏览歌词。4. 后台的音乐搜索管理员进入后台后可以按照类型进行音乐搜索,或者列出全部的音乐。5. 音乐的添加管理员在对音乐进行添加的时候可以选择上传音乐文件,同时还可以有选择的上传音乐对应的歌词文件。6. 音乐的删除管理员,当觉得这个音乐资源不再需要的时候可以删除已经上传的MP3音乐。4.3系统流程图4.3.1 前台页面流程图当用户进入网站首页之后,如果用户想听自己喜欢的歌曲,在本网站根据相关的条件搜索得到,然后根据自己喜好去试听各类歌曲或者是下载各类歌曲。用户使用本系统的基本流程如图3-2所示。图 4-2 用户进入网站的流程图4.3.2 后台管理流程图当管理员进入本系统之后,管理员首先要输入正确的密码之后才能登录,登陆之后才能管理后台,若登录失败,给管理员相关的提示,请管理员重新登录。登录成功之后,管理员可以删除任何的歌曲,或者添加歌曲,查看已经添加的歌曲。管理员的后台管理的基本流程如下图4-3所示:图 4-3 管理员流程图第5章 数据库设计5.1 数据库概念逻辑设计数据库技术是信息资源管理的最有效手段。数据库设计是建立数据库及其应用系统的核心和基础。对于指定的应用程序环境的要求,建设一个更好的数据库模型,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息,满足用户的各种应用需求(信息要求,处理要求,数据的及时性要求)。概念模型是对信息世界模型,所以概念模型应该能够方便、准确地表示出上述信息世界中的常用概念。概念模型的表示方法很多,其中最为重要也最为常用的是实体-联系方法,该方法用E-R图来描述现实世界的概念模型。E-R图提供了表示实体型、属性和联系的方法。概念模型是最常用的表示方法是实体-联系方法 (Entity-Relation Approach,简称E-R方法)。E-R方法是用E-R图来描述某一组织的信息模型。E-R图所表示的概念模型与具体的DBMS所支持的数据模型相独立,是各种数据模型的共同基础,因而是抽象和描述现实世界的有力工具。由于人们通常就是用实体、联系和属性这三个概念来理解和描述现实问题的,所以实体联系图非常接近人的思维方式。又因为实体联系图采用简单的图形来表达人们对现实的理解,所以不熟悉计算机技术的用户也都能够接受,因此目前实体联系图已成为使用非常广泛的数据库结构概念建模的工具。5.1.1 管理员实体的E-R图本网站数据库总共有三张表,这三张表分别对应着三个实体,虽然数据库的表很少,但是正所谓麻雀虽小五脏俱全,表的设计合理,一样可以做出功能强大的网站系统。这三张表分别是:管理员表(tb_manger)、音乐资源表(tb_song)、歌曲分类表(tb_songtype)。1、管理员表(tb_manger)用于存放管理员的信息,其中主键是:id,设置为自动增长。其实体E-R图如图5-2所示。 图5-2 管理员E-R图2、音乐资源表(tb_song)用于存放音乐相关的信息,其中主键是:id,设置为自动增长,其实体E-R图如图5-3所示。 图5-3 音乐资源E-R图3、歌曲分类表(tb_songtype)用于表示网站首页导航的音乐分类信息,其中主键是:id,设置为自动增长,其实体E-R图如图5-4所示。图5-4 歌曲分类类型表E-R图5.2 网站整体E-R图在线个人音乐网的实体包括管理员、音乐资源、歌曲分类、三个部分组成,这三个部分存在着联系,其整体的E-R模型图5-1如下所示。图5-1 系统E-R图5.2 数据字典1、tb_manger表即是管理员表,用来存放管理员相关信息的。如管理员的名和管理员的密码。其结构如表5.1所示。表5.1管理员表tb_mange字段名数据类型主键外键描叙idIntYesNo管理员编号ManagerVarchar(30)NoNo管理员名PwdVarchar(30)NoNo管理员的密码2、tb_songtype是音乐分类类型表。tb_songtype表主要是用来保存音乐分类的信息的如表5.2所示。表5.2音乐分类类型表tb_songtype 字段名数据类型主键外键描叙idIntYesNo分类编号TypeNameVarchar(20)NoNo分类名称3、tb_song表示相关音乐信息的表。从其结构可以看出它是一个很重要的表,其结构如表5.3所示。表5.3音乐资源表tb_song字段名数据类型主键外键描叙IdIntYesNo编号songNameVarchar(50)NoNo音乐名称singerVarchar(30)NoNo歌手specialNameVarchar(30)NoNo音乐所属的专辑fileSizeVarchar(10)NoNo音乐文件的大小fileURLVarchar(100)NoNo音乐文件保存路径的路径formatVarchar(10)NoNo音乐文件的格式hitsIntNoNo音乐试听的次数downloadIntNoNo音乐下载的次数uptimeDatetimeNoNo音乐上传的时间songtypeIntNoNo歌曲类别的类别第6章 系统的实现与相关主要代码6.1 系统的首页个人音乐网系统的使用者有两类人:一种用户,一种是管理员。两者的使用权限都不同。普通用户只能搜索歌曲,下载歌曲,和在线听歌,但是管理员可以通过后台添加音乐资源,删除音乐资源,等一系列对音乐资源的操作。系统首页运行结果如图6-1所示。个人音乐网的布局主要是按照音乐的类别来区别的。分为流行金曲,经典老歌,热舞DJ,欧美金曲,少儿歌曲,轻音乐五种类型,网站首页采用大板式的布局,为网站添加了时尚的元素。主页的导航背景图片展示吸引着用户的眼球,橙色的logo给予了这门课程富有生命力的诠释,导游栏和下部分导航区能让用户更明确自己的选择,右边是试听排行榜和下载排行榜。网站首页如图6-1所示。图 6-1 系统首页图当用户访问个人音乐网的首页后,用户可以根据自己的喜好做自己喜欢的事情。比如说试听搜索想听的歌曲,查看歌曲的排行榜(包括试听排行榜和下载排行榜),或者直接在线试听歌曲。6.2 歌曲的搜索歌曲的查询放在页面的顶部,听众可以根据歌曲名,专辑,歌手三者中的一个进行模糊搜索歌曲。实现歌曲的各个条件的搜索功能的界面如下图6-2所示:图 6-2 歌曲查询结果图实现模糊搜索的功能的关键在于,每首存储在数据库里面的音乐资源在数据库中都有一个唯一的id编号,通过id编号可以定位到所有的音乐,然后可以通过一个map集合进行搜索查找并进行匹配。模糊搜索的实现的主要代码如下所示。前提是后台已经通过JDBC连接上了数据库。该功能的主要代码如下。public ActionForward search(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)String strPage = (String) request.getParameter(Page);int songType = Integer.parseInt(request.getParameter(songType_more); / 要查看的歌曲类别String fieldName = request.getParameter(fieldName); / 获取查询依据String key = request.getParameter(key); / 获取查询关键字System.out.println(获取的查询条件: + key + fieldName + songType);String condition = ;String fieldName_cn = ;if (songType 0 & fieldName != null) condition = WHERE s.songType= + songType + AND s. + fieldName+ LIKE % + key + % ORDER BY s.upTime DESC; else if (songType 0) condition = WHERE s.songType= + songType+ ORDER BY s.upTime DESC; else if (fieldName != null) condition = WHERE s. + fieldName + LIKE % + key+ % ORDER BY s.upTime DESC; else condition = ORDER BY s.upTime DESC;if (songName.equals(fieldName) fieldName_cn = 歌曲名; else if (specialName.equals(fieldName) fieldName_cn = 专辑; else if (singer.equals(fieldName) fieldName_cn = 歌手;int Page = 1;List list = null;if (strPage = null) pagination = new MyPagination();list = songDAO.query(condition); / 获取歌曲信息int pagesize = 2; / 指定每页显示的记录数list = pagination.getInitPage(list, Page, pagesize); / 初始化分页信息request.getSession().setAttribute(pagination, pagination); else pagination = (MyPagination) request.getSession().getAttribute(pagination);Page = pagination.getPage(strPage);list = pagination.getAppointPage(Page); / 获取指定页数据if (list.size() 0) if (songType 0) / /获取歌曲类别request.setAttribute(queryKey, 查询类别为+ list.get(0).getSongType() + 查询依据为 + fieldName_cn+ ,查询关键字为 + key + ); else request.setAttribute(queryKey, 查询类别为全部 查询依据为+ fieldName_cn + ,查询关键字为 + key + );request.setAttribute(typeID, list.get(0).getSongTypeId(); / 获取歌曲类别IDrequest.setAttribute(songList, list); / 保存当前页的歌曲信息request.setAttribute(Page, Page); / 保存的当前页码return mapping.findForward(search);从代码的最后一步可以看出,会返回一个结果集,而这个结果集,就是符合了模糊查找条件的搜索到的歌曲。6.3歌曲的试听当用户找到合适的歌曲,用户就可以进行在线点击试听歌曲,若歌曲在被管理上传的时候附带了音乐歌词文件,那么当用户在线听歌曲的时候还可以同步观看歌词,观看歌词有个好处,就是让一些喜欢唱歌的用户能边看歌词跟上节奏唱歌。运行效果如下图5-3所示:图 6-3 试听歌曲效果图实现这部分的主要代码是:public ActionForward tryListen(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) int id = Integer.parseInt(request.getParameter(id);String urlAndName = songDAO.tryListen(id); / 该数组的第一个元素为歌曲名称,第二个元素为歌曲的文件名/* *获取歌词* */String lrcRealPath = request.getRealPath(/);String mp3RealPath = lrcRealPath.substring(0, lrcRealPath.lastIndexOf(/) + 1)+ music/ + urlAndName1;request.setAttribute(realPath, mp3RealPath);lrcRealPath = lrcRealPath+ music/+ urlAndName1.substring(0, urlAndName1.lastIndexOf(.) + 1)+ lrc; / lrc文件路径File lrcFile = new File(lrcRealPath);songDAO.holdoutAdd(id); / 将试听次数加1String content = ;int lineNumber = 0;if (lrcFile.exists() FileInputStream lrcf;try lrcf = new FileInputStream(lrcRealPath);int rs = 0;byte data = new bytelrcf.available(); / available()方法可以不受阻塞地从此输入流中读取(或跳过)的估计剩余字节数while (rs = lrcf.read(data) 0) content += new String(data, 0, rs);StringTokenizer st = new StringTokenizer(content, *); / 分析字符串中共包括多少个中括号对“”lineNumber = st.countTokens(); / 返回分析的结果 catch (Exception e) e.printStackTrace();实现原理是:首先获取到了音乐文件的URL,然后打开了一个流指向这个音乐文件,然后就不断的读取流中的数据到本地来,当然浏览器中为什么能够播放音乐呢?原因是MediaPlayer类是一个Java媒体jar包,在这个Java媒体jar包中有实现歌词同步的方法,其中我们只要通过load方法去调用它的关键代码,即可实现歌曲播放的同时同步歌词显示,前提是项目已经导入了Java媒体框架包。6.4 歌曲的试听排行榜歌曲的试听排行榜放在系统首页的右边,根据查看歌曲的试听次数,就可以直观的感觉到目前该网站最受欢迎的歌曲已经被听了多少次,这样方便听众知道那些是比较流行的歌曲。试听排行榜的界面如下图6-4所示:图 6-4 歌曲试听排行榜界面实现歌曲排行榜的关键代码如下:public void songSort(ActionMapping mapping,ActionForm form,HttpServletRequest request, HttpServletResponse response) String type = request.getParameter(sortType);/获取表示是试听排行还是下载排行的参数值if (hits.equals(type) request.setAttribute(sortType,songDAO.query( ORDER BY hits DESC,8); / 获取试听排行信息 else if (download.equals(type) request.setAttribute(sortType,songDAO.query( ORDER BY download DESC,8); /获取下载排行信息request.setAttribute(sortTypeName, type);RequestDispatcher requestDispatcher= request.getRequestDispatcher(/songSort.jsp);/将页面重定向到歌曲排行榜页面requestDispatcher.include(request, response); 其实实现试听歌曲排行的原理也很简单,因为在数据库中美国资源文件有一个字段变量hits,每当音乐被试听的时候就对该变量进行加一操作。6.5 管理员的登录在点击系统首页下面的管理链接后,就进入管理员的登录页面。管理员输入正确的管理员的用户名和管理员的密码,就可以登录后台模块的管理员管理界面,管理可以进行删除歌曲和添加歌曲等操作。管理员的登录界面如图6-5所示:图 6-5 管理员登陆界面实现管理员登录功能的关键代码:public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) String action = request.getParameter(action);if (login.equals(action) return login(mapping, form, request, response); / 管理员登录 else request.setAttribute(error, 操作失败!);return mapping.findForward(error);根据login.jsp页面中的action参数先判断
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物业承包合同下新增厨师补充协议范文8篇
- 压力真空罐安全培训流程课件
- 2025年区块链行业区块链技术应用前景与金融改革研究报告
- 2025年物联网行业物联网技术应用前景研究报告
- 2025年火箭航天行业商业化前景预测报告
- 2025年环保行业绿色环保产品市场前景研究报告
- 2025年虚拟现实行业VR技术与虚拟现实应用前景研究报告
- 商品车电器使用培训课件
- 商品混凝土安全技术培训课件
- 2025重庆建峰工业集团有限公司招聘77人笔试参考题库附带答案详解
- 股权代持协议(模板)8篇
- 《AI创意课件之设计》课件
- 医院会计笔试题目及答案
- 河南豫信电科所属公司招聘笔试题库2025
- GB/T 45345-2025金属及其他无机覆盖层工程用直流磁控溅射银镀层镀层附着力的测量
- 无人机教员聘用协议书
- 药物非临床研究质量管理规范
- 脑科生理病理图谱解读
- 全国青少年科技辅导员专业水平认证笔试考题
- (行业)常用表面处理工艺详解(行业讲座教学培训课件)
- 配电网安健环设施标准
评论
0/150
提交评论