基于Java音乐管理系统的设计与实现

基于Java音乐管理系统的设计与实现
基于Java音乐管理系统的设计与实现

目录

1 引言 (1)

1.1 研究背景 (1)

1.2 国内研究现状 (1)

1.3研究内容与本人所做的工作 (2)

1.3.1 研究内容 (2)

1.3.2 本人所做的工作 (2)

1.4 论文结构 (2)

1.5 开发环境的介绍 (2)

1.5.1 开发工具之JSP (3)

1.5.2 开发工具之MyEclipse 9.0 (6)

1.5.3 开发工具之MySQL数据库 (7)

1.5.4 开发工具之Dreamwear 8.0 (11)

1.5.5 开发工具之Tomcat (12)

1.5.6 开发工具之B/S (14)

1.5.7 开发工具之JavaBean (16)

2 系统分析 (18)

2.1 系统功能概述 (18)

2.1.1 系统前台功能概述 (18)

2.1.2 系统后台功能概述 (18)

2.2 可行性研究 (18)

2.2.1 经济可行性 (19)

2.2.2 技术可行性 (19)

2.2.3 法律可行性 (19)

2.3 需求分析 (19)

2.3.1 系统主要需求描述 (20)

2.3.2 数据流图 (21)

2.3.3 数据字典 (22)

3 概要设计 (26)

3.1 系统总体结构图 (26)

3.2 数据库概念设计 (26)

4 详细设计 (29)

4.1 数据库物理设计 (29)

4.2 系统主要模块的设计 (29)

4.2.1 会员模块设计 (29)

4.2.2 管理员模块设计 (29)

5 系统的实现 (31)

5.1 系统母版页的实现 (31)

5.1.1 系统首页实现 (31)

5.1.2 上传歌曲页面的实现 (32)

5.1.3 管理我的歌曲页面的实现 (32)

5.1.4下载歌曲页面的实现 (33)

5.1.5 短消息与留言板的实现 (33)

6 系统的调试与测试 (35)

6.1 程序调试 (29)

6.2 程序的测试 (35)

6.2.1 测试的重要性及目的 (35)

6.2.2 测试的步骤 (36)

6.2.3 测试的主要内容 (37)

6.2.4 测试中的误区 (38)

结束语 (40)

致谢 (39)

参考文献 (38)

1 引言

1.1 研究背景

目前,随着Internet在全球的推广和普及,越来越多的人开始进入这个全球范围的计算机网络,世界因此变成了一个小小的地球村,人们通过互联网彼此沟通和交流。面对信息化逐步成为社会标志的现实状况,必然决定了计算机网络的应用以及使用将会更加的频繁,信息化给人们带来的好处是不言而喻的,就计算机网络而言,在军队、政府以及企业的应用所带来的好处更是数不胜数,而在如今这样一个信息化的网络时代,音乐变得无处不在,尤其是多媒体的出现让音乐更加大众化、普及化了。现在只要你鼠标轻轻一点,就可以找到各种各样的,甚至是不同国家的音乐信息供你选择来试听和下载,也决定了网上娱乐会有很大的市场潜力和升值空间,因此,根据实际情况打造一个在线音乐点播系统具有很实际的市场意义。

课题目标是设计并实现一个B/S体系结构的Integer音乐网站。结合实践,理解网页开发技术和数据库的基本知识,学习相关开发工具和应用软件,熟悉网站建设的过程,熟练掌握网络数据库编程方法。

1.2 国内研究现状

现在我国的信息管理水平还比较落后,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代传统的管理方法必然被计算机为基础的信息管理所取代。软件作为一项有力的工具,只能当此种工具,与我们的实践相结合起来的时候,才具有重大的社会价值及使用价值。因此根据目前实际的情况开发这样一套管理系统是十分必要的。

随着科学技术的不断提高,计算机科学技术日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机进行管理,具有着手工管理所无法比拟的优点。例如:可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高工作的效率,也是信息正规化管理与世界接轨的重要条件。

本系统用JSP语言来编写社本系统,数据库用MYSQL来连接系统。本论文主要涉及软件,数据库与网络技术等。涵盖知识面广,可有效地提高学生综合运用所学知识分析解决问题的能力,增强学生对事物的理解与掌握能力,培养学生掌握科学的研究方法,正确的设计思想,独立思考,勇于进取,探索创新,为今后进一步学习与工作奠定了良

好的基础。

1.3 研究内容与本人所做的工作

1.3.1 研究内容

设计并开发一个在线音乐管理系统,该系统的功能如下:

(1)点播歌曲。用户不用注册会员也可点播本系统中的歌曲。

(2)注册会员。用户需要注册会员后才能享受本系统的其他功能。

(3)下载歌曲。注册会员之后即为本系统会员,可下载自己所喜欢的歌曲到本地电脑中。

(4)上传歌曲。本系统会员,可将自己喜欢,但系统所没有的的歌曲上传到本系统。

(5)管理我的歌曲。会员登录后,可管理自己上传过的歌曲信息。

(6)后台管理。管理员可以方便的管理音乐信息和会员信息。

1.3.2 本人所做的工作

(1)点播歌曲流程的设计与实现。

(2)会员功能流程的设计与实现。包括注册会员,点播歌曲、上传、下载歌曲。

(3)后台管理员的设计与实现。在后台,系统管理员可以方便的管理音乐信息和会员信息。

1.4 论文结构

本论文分为六章,分别如下:

第一章为引言部分,介绍了设计的选题背景、国内研究现状、设计研究内容与本人所做的工作、系统所用到的环境。

第二章为系统功能分析,提出了系统的功能,并在次基础上进行了设计可行性研究和需求分析。

第三章为概要设计,做了系统的总体结构图和数据库设计工作。

第四章为系统的详细介绍。

第五章关于系统页面的实现。

第六章为系统做全面的调试与测试。

1.5 开发环境的介绍

Mircsoft Windows XP:作为系统开发的操作系统平台,程序都在它上面运行通过。

MySQL5.0:主要存储网页上抽取的信息,方便以后建索引。

MyEclipse9.0:用来开发系统的查询模块。

Tomcat 6.0:是一款Java平台下的服务器软件,模拟网络环境。

JSP技术简介

JSP(Java Server Page服务器网页)是从1998年开始出现的新技术。由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java 体系的web开发技术。在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP 标记(Tag),构成JSP网页(*.jsp)。JSP技术为创建显示动态生成内容的web页面提供了简便的方法。JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。

在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准备转向JSP,利用JSP来开发动态网站。

2. JSP工作原理

JSP是面向服务器的,因此支持任何浏览器。当Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。

JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器。这就是当前网站构建中广泛采用的浏览器——Web服务器——后台数据库的三层架构模式。因为JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。

3. JSP体系结构

JSP网站开发标准给出了两种使用JSP的技术,可以归纳为模式一、模式二。

模式一:JSP+JavaBeans技术。在这种模式中,JSP页面独自响应请求并将处理结果返回给客户。Bean处理所有数据访问,JSP实现页面的表现,以实现内容生成与显示相分离。

当处理复杂的大型应用时,页面被嵌入大量的脚本或Java代码段,当需要处理的商业逻辑复杂时,这种情况会变得非常糟糕,大量的内嵌代码使得页面程序变得复杂,对

于前端界面设计人员,这是不可思议的事情。所以模式一可用于小型应用,不能够满足大型应用的需要。

模式二:JSP+Servlet+JavaBeans技术。Servlet技术是一种采用Java技术来实现CGI 功能的一种技术,Servlet技术非常适于服务器端的处理和编程,并且Servlet会长期驻留在内存。

从开发的观点看,模式二具有更清晰的页面表现,清楚的开发者角色划分,在大规模项目开发中,模式二更被采用,模式二也更符合当前流行的MVC结(Model/view/controller),其中Servlet对应controller,处于控制者的位置,处理HTTP请求,负责生成JSP中使用的Beans组件或对象,并判断应将请求传递给哪个JSP等,JSP对应view,负责生成最终的动态网页并返回给浏览器。而JavaBeans对应的是Model,实现各个具体的应用逻辑与功能。

4. JSP的特点

简化的页面生成技术。

JSP页面用标准的HTML或XML命令来处理页面的格式化和布局设计,而用类似HTML、XML的标记和Java语言编写的脚本程序生成页面内容。这使得页面形式与页面内容互相独立,非常有利于大型项目的分工合作。

(1)与Java平台有机集成。

JSP技术是Java 2平台的重要组成部分,JSP使用Java语言作为它的脚本语言。在JSP页面中可以使用几乎所有的Java组件和Java API,这就能充分发挥出Java语言的强大功能。使用JSP技术可以创建具有高度可伸缩性和可靠性的Web应用程序。

(2)硬件平台和服务器无关性。

JSP作为Java家族的一员,秉承了Java技术的“一次编写,随处可用(Write Once,Rum Anywhere)”的特性,可以运行于大多数流行的操作系统平台及Web服务器,这种与服务器硬件和操作系统平台的无关性是JSP相对于其它动态网页技术最大的一个优点。

(3)功能可扩展性。

如同Microsoft的JSP技术可以通过ActiveX/COM组件来扩展功能一样,JSP可以通过JavaBean和EJB(Enterprise JavaBean)以及自定义的标记来扩展功能。

JSP可以通过JDBC,与诸如Oracle、SQL Server这样的大型关系数据库进行连接。

JSP提供了一些隐含对象。这些隐含对象在JSP页面中可以直接引用,而不必首先声明。利用JSP提供的这些隐含对象,可以使脚本功能更加强大,并且编程更加容易、方便。例如,利用request对象,可以很容易地接收用户在HTML表单中提交的信息。

5. JSP的优缺点

JSP技术的优势:

(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。

(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的。

(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。

(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

(5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JA V A BEANS 组件来实现复杂商务功能。

JSP技术的劣势:

(1)与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。

(2)Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。

JSP的工作模式如图1.1所示:用户通过web server 访问到对方的服务器,获得所需要的服务。

图 1.1 JSP的工作模式图

1.5.2 开发工具之MyEclipse9.0

MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。

在结构上,MyEclipse的特征可以被分为7类:

(1)JavaEE模型。

(2)WEB开发工具。

(3)EJB开发工具。

(4)应用程序服务器的连接器。

(5)JavaEE项目部署服务。

(6)数据库服务。

(7)MyEclipse整合帮助。

对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安装时不需安装Eclipse。

MyEclipse生成WAR包并在Tomcat下部署发布。首先是使用MyEclipse将web 项目打包,右键选中项目,选择export;弹出Export的select窗体,选择Java EE 的WAR file(myeclipse)选项,然后选择工程名称和路径,单击完成就可以了。打包完成以后我们将war放到tomcat的webapps目录下,并设置server.xml文件;然后运行tomcat,并输入项目的url就可以浏览了。

1.5.3 开发工具之MySQL数据库

数据库技术作为数据管理技术,是计算机软件领域的一个重要分支,产生于60年代末。现已形成相当规模的理论体系和实用技术。优秀的数据库设计是应用成功的基石。万万丈高楼平地起,数据库设计如同高楼的基石,是开发高品质应用的前提。

1. 数据的体系结构

数据的体系结构分成三级:内部级(Internal),概念级(Conceptual)和外部级(External)。这个三级结构有时也称为“三级模式结构”。外部级:最接近用户,是单个用户所能看到的数据特性。单个用户使用的数据视图的描述称为“外模式”。概念级:涉及到所有用户的数据定义、是全局的数据视图。全局视图的描述称为“概念模式”。内部级:最接近于物理存储设备,涉及到实际数据存储的结构物理存储数据视图的描述称为“内模式”。数据库的三级模式结构是数据的三个抽象级别。它把数据的具体组织留给DBMS去做,用户只要抽象地处理数据,而不必关心数据在计算机中的表示和存储,这样就减轻了用户使用系统的负担。

2. 数据库管理系统(DBMS)

数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。DBMS是数据库系统的核心组成部分。对数据库的一切操作,包括定义、查询、更新及各种控制,都是通过DBMS进行的。

在不同的计算机系统中,由于缺乏统一的标准,即使同种数据模型的DBMS,它们在用户接口、系统功能方面也常常是不相同的。

用户对数据库进行操作,是由DBMS把操作从应用程序带到外部级、概念级、再导向内部级,进而操作存储器中的数据。DBMS的主要目标,是使数据作为一种可管理的资源处理。

DBMS的主要功能为:

(1)数据库定义功能:DBMS提供数据定义语言(DDL)定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映象,定义数据的完整性、安全控制等约束。因此,在DBMS中应包括DDL的编译程序。

(2)数据库的操纵功能:DBMS提供数据操纵语言(DML)实现对数据库中数据的操作。基本的数据操作分成两类四种:检索(查询)、更新(插入、删除、修改)。

(3)数据库的保护功能:数据库中的数据是信息社会的战略资源,对数据的保护

是至关重要的大事。DBMS对数据库的保护主要通过四个方面实现:

(4)数据库的恢复:在数据库被破坏或数据不正确时,系统有能力把数据库恢复到正确的状态。

(5)数据库的并发控制:DBMS的并发控制子系统能防止错误发生,正确处理好多用户、多任务环境下的并发操作。

(6)数据库的完整性控制:保证数据库中数据及语义的正确性和有效性,防止任何对数据造成错误的操作。

(7)数据库的安全性控制:防止未经授权的用户蓄谋或无意地存取数据库中的数据,以免数据的泄露、更改或破坏。

(8)数据库的存储管理:把各种DML语句转换成低层的文件系统命令,起到数据的存储、检索和更新的作用。

(9)数据库的维护功能:它有许多实用程序提供给数据库管理员如:数据装载程序备份程序、文件重组织程序、性能监控程序。

(10)数据字典:数据库系统中存放三级结构定义的数据库称为数据字典(DD)。对数据库的操作都要通过访问DD才能实现,通常DD中还存放数据库运行时的统计信息。

本系统中所涉及到的MySQL数据库是众多的关系型数据库产品中的一个,相比较其它系统而言,MySQL数据库可以称得上是目前运行速度最快的SQL语言数据库。除了具有许多其它数据库所不具备的功能和选择之外,MySQL数据库是一种完全免费的产品,用户可以直接从网上下载数据库,用于个人或商业用途,而不必支付任何费用。

总体来说,MySQL数据库具有以下主要特点:

(1)同时访问数据库的用户数量不受限制;

(2)可以保存超过50,000,000条记录;

(3)是目前市场上现有产品中运行速度最快的数据库系统;

(4)用户权限设置简单、有效。

如今,包括Siemens和Silicon Graphics这样的国际知名公司也开始把MySQL作为其数据库管理系统,这就更加证明了MySQL数据库的优越性能和广阔的市场发展前景。

与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL 提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。

目前Internet上流行的网站构架方式是LAMP和LNMP,即使用Linux作为操作系统,Apache和Nginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服

务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。

使用MySQL,安全问题不能不注意。以下是MySQL提示的23个注意事项:(1)如果客户端和服务器端的连接需要跨越并通过不可信任的网络,那么就需要使用SS H隧道来加密该连接的通信。

(2)用set password语句来修改用户的密码,三个步骤,先“mysql -u root”登陆数据库系统,然后“mysql> update https://www.360docs.net/doc/dd3812606.html,er set password=password(’newpwd’)”,最后执行“flush privileges”就可以了。

(3)需要提防的攻击有,防偷听、篡改、回放、拒绝服务等,不涉及可用性和容错方面。对所有的连接、查询、其他操作使用基于ACL即访问控制列表的安全措施来完成。也有一些对SSL连接的支持。

(4)除了root用户外的其他任何用户不允许访问MySQL主数据库中的user表;加密后存放在user表中的加密后的用户密码一旦泄露,其他人可以随意用该用户名/密码相应的数据库;

(5)用grant和revoke语句来进行用户访问控制的工作;

(6)不使用明文密码,而是使用md5()和sha1()等单向的哈希函数来设置密码;

(7)不选用字典中的字来做密码;

(8)采用防火墙来去掉50%的外部危险,让数据库系统躲在防火墙后面工作,或放置在DMZ区域中;

(9)从因特网上用nmap来扫描3306端口,也可用telnet server_host 3306的方法测试,不能允许从非信任网络中访问数据库服务器的3306号TCP端口,因此需要在防火墙或路由器上做设定;

(10)为了防止被恶意传入非法参数,例如where ID=234,别人却输入where ID=234 OR 1=1导致全部显示,所以在web的表单中使用”或”"来用字符串,在动态URL中加入%22代表双引号、%23代表井号、%27代表单引号;传递未检查过的值给mysql 数据库是非常危险的;

(11)在传递数据给MySQL时检查一下大小;

(12)应用程序需要连接到数据库应该使用一般的用户帐号,只开放少数必要的权限给该用户;

(13)在各编程接口(C C++ PHP Perl Java JDBC等)中使用特定‘逃脱字符’函数;在因特网上使用mysql数据库时一定少用传输明文的数据,而用SSL和SSH的加密方式数据来传输;

(14)学会使用tcpdump和strings工具来查看传输数据的安全性,例如tcpdump -l -i eth0 -w -src or dst port 3306 | strings。以普通用户来启动mysql数据库服务;

(15)不使用到表的联结符号,选用的参数–skip-symbolic-links;

(16)确信在mysql目录中只有启动数据库服务的用户才可以对文件有读和写的权限;

(17)不许将process或super权限付给非管理用户,该mysqladmin processlist可以列举出当前执行的查询文本;super权限可用于切断客户端连接、改变服务器运行参数状态、控制拷贝复制数据库的服务器;

(18)file权限不付给管理员以外的用户,防止出现load data‘/etc/passwd’到表中再用select 显示出来的问题;

(19)如果不相信DNS服务公司的服务,可以在主机名称允许表中只设置IP数字地址;

(20)使用max_user_connections变量来使mysqld服务进程,对一个指定帐户限定连接数;

(21)grant语句也支持资源控制选项;

(22)启动mysqld服务进程的安全选项开关,–local-infile=0 或1 若是0则客户端程序就无法使用local load dat了,赋权的一个例子grant insert(user) on https://www.360docs.net/doc/dd3812606.html,er to ‘user_name’@'host_name’;若使用–skip-grant-tables系统将对任何用户的访问不做任何访问控制,但可以用mysqladmin flush-privileges或mysqladmin reload来开启访问控制;默认情况是show databases语句对所有用户开放,可以用–skip-show-databases来关闭掉。

(23)碰到Error 1045(28000) Access Denied for user ‘root’@'localhost’(Using password:NO)错误时,你需要重新设置密码,具体方法是:先用–skip-grant-tables参数启动mysqld,然后执行mysql -u root mysql,mysql>update user set password=password (’newpassword’)where user=’root’;mysql>Flush privileges;,最后重新启动mysql 就可以了。

1.5.4 开发工具之Dreamwear 8.0

Dreamweaver是美国MACROMTDIA公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。

Dreamweaver具有灵活的运用样式,熟悉网页设计的网友都知道,调用Style的方法很多,我们可以单击鼠标右键选择Custon Style 来调用Style标准,也可以直接在状态栏中的元素列表上单击右键来调用Style,直接选择属性中想要的效果,可以自动生成相对于的代码Style,简洁又方便。虽然不同的方法达到的效果看似一样,但实际上产生的HTML代码则完全不同。比如用Custon Style来调用Style标准,在网页代码中就生

成一个标签,这样的标签多了就会使文件十分臃肿而且影响浏览器的解析速度,所以我们应尽量避免调用这种方法来调用Style。

Dreamweaver具有活用的Format Table命令,在复杂的网页设计中,表格的应用是最多的,因为利用表格可以自由地控制文本和图像在网页上出现的具体位置,从而使整个网页看上去紧凑统一。Dreamweaver在这方面也不甘落后,我们可以使用其中的“Format Table”(格式化表格)命令来快速地对表格应用预先设计好的样式。

Dreamweaver具有拖放自如的特点,在使用Dreamweaver编辑网页的时候,经常需要插入一些图像什么的,假设要插入的图像很多,按照常规方法来操作就显得非常麻烦。我们可以利用拖放技巧来很好地解决这个问题。首先我们把Dreamweaver的操作窗口变成活动窗口,以腾出空间来显示Explorer窗口,找到要插入的图像文件后,把它们一一用鼠标拖动到网页的适当部位,Dreamweaver将自动把这些图像URL添加到文件的HTML代码中,当然这里要求被拖动的图象文件必须是gif、jpg等web图像格式的文件。

软件缺点:

1. 效果难一致

难以精确达到与浏览器完全一致的显示效果也就是说您在所见即所得网页编辑器中制作的网页放到浏览器中是很难完全达到您真正想要的效果,这一点在结构复杂一些的网页(如分帧结构、动态网页结构)中便可以体现出来;

2. 代码难控制

页面原始代码的难以控制性,比如您在所见即所得编辑器中制作一张表格也要几分钟,但您要它完全符合您要求可能需要几十分钟,甚至更多时间。而相比之下,非所见所得的网页编辑器,就不存在这个问题,因为所有的HTML代码都在您的监控下产生,但是由于非所见所得编辑器的先天条件就注定了它的工作低效率。如何实现两者的完美结合,则既产生干净、准确的HTML代码,又具备所见所得的高效率、直观性,一直是网页设计师梦想。在DREAMWEA VER之前,FRONTPAGE98一直被人们认为是最好的所见即所得网页编辑器,但是它同样继承了所见即所得的种种劣性。

1.5.5开发工具之Tomcat

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,

当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

1. 通过server.xml配置Tomcat

server.xml是Tomcat的重要配置文件,平时所说的Tomcat的配置(如虚拟主机的配置、连接端口设置等)其实就是指配置server.xml,server.xml中的元素大体可以分为4类,如下:

顶层元素:位于整个配置文件的顶层,主要有元素与

连接器类元素:它是客户和服务(容器类元素)间的通信接口,负责接收客户请求与向客户返回的响应结果,主要有元素。

容器类元素:负责处理客户请求并且生成响应结果,主要有元素、元素与元素。

嵌套类元素:可以加入到容器中的元素,主要有元素、元素、元素等。

2. Tomcat的层次结构

(1)Server层

对应Server组件,逻辑上表示整个Tomcat,即整个Catalina Servlet容器。它处于Tomcat顶层,可以包含一个或多个Service层。Tomcat提供了该层接口的一个默认实现,所以通常不需要用户自己去实现。

(2)Service层

对应Service组件,是包含在Server层中的一个逻辑功能层。它包含一个Engine层,以及一个或多个连接器(Connector)。Service组件将一个或多个Connector组件绑定到Engine层上,Connector组件侦听端口,获得用户请求,并将请求交给Engine层处理,同时把处理结果发给用户,从而实现一个特定的实际功能。Tomcat提供了Service接口的默认实现,所以通常也不需要用户定制。

(3)Engine层

对应Engine组件,该层是请求分发处理层,可以连接多个Connector。它从Connector 接收请求后,解析出可以完成用户请求的URL,根据该URL可以把请求匹配到正确的Host上,当Host处理完用户请求后,Engine层把结果返回给适合的连接器,再由连接器传输给用户。该层的接口一般不需要用户来定制,特殊情况下,用户可以通过实现该接口来提供自定义的引擎。

(4)Host层

对应Host组件,该层表示一个虚拟主机,一个Engine层可以包含多个Host层,每个Host层可以包含一个或多个Context层,对应不同的Web应用。因为Tomcat给出的

Host接口的实现(类StandardHost)提供了重要的附加功能,所以用户通常不需要定制Host。

(5)Context层

对应Context组件,该层代表某个虚拟主机上的实际目录或一个WAR,即单个Web 应用程序,它运行在特定的虚拟主机中,使用最为频繁。一个Host层包含多个Context 层,每一个Context都有唯一的路径,Host层接到请求后,根据用户请求的URL,将请求定位到Context层。

3. Tomcat服务器的各个组件响应客户请求的过程

Connector负责接收客户的请求并向客户返回响应结果,在同一个Service中多个Connector共享一个Engine。同一个Engine中可以有多个Host,同一个Host中包含多个Context。在图1.2中,Web客户1和客户2直接访问Tomcat 服务器上的JSP 和htm组件,他们访问的URL 为http://localhost:8080/index.jsp。

图 1.2 客户请求的过程图

下面介绍在DOS窗口下运行Tomcat步骤:

(1)在“开始”按钮的“运行”框中键入CMD以打开一个DOS窗口。

(2)键入RunAs /user:“ITOMCAT_计算机名CMD.exe”命令。

(3)在询问“ITOMCAT_计算机名”用户的密码时输入设置的密码。

(4)这将打开一个新的DOS窗口。

(5)在新开的DOS窗口中,转换到Tomcat的bin文件夹内。

(6)键入“catalina run”命令。

(7)关闭第一个DOS窗口。

1.5.6开发工具之B/S

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协议。

B/S架构具备极大的优越性:

1. 面向电子商务时代的技术

将来所有的应用系统几乎都在互联网或企业内部广域网上运行,发展电子商务成为企业不可避免的信息化道路。B/S架构的软件正是电子商务的基石,正是这类软件使得移动办公和分布式协同工作真正成为现实。无论在世界的那个角落,只需要一台可以联网的设备(计算机、PDA甚至手机)都可以方便地与客户联系和与他人协同工作。

2. 软件操作、维护和升级方式的革命

软件系统的改进和升级越来越频繁,B/S架构的产品在维护和升级方面具备显著的优势。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只对服务器进行,通过远程连接服务器,异地的运维人员甚至于可以做到远程维护和升级,这对人力、时间、费用的节省是相当惊人的。

所有的客户端只是浏览器,所有的操作都和上网浏览网页类似,使用者接受的培训也仅限于业务逻辑而无需将大量精力浪费学习软件操作上。

3. 系统整合

无论是办公自动化OA系统,人力资源HR系统,客户关系管理CRM系统等,发展的趋势是不断融合。而采用统一的B/S结构开发的产品无论是现在还是将来都是最好的选择,它提供了真正意义上无缝地与其它系统进行整合的方案。

B/S结构如图1.3所示,它采用星形拓扑结构建立企业内部通信网络或利用Internet虚拟专网(VPN)。前者的特点是安全、快捷、准确。后者则具有节省投资、跨地域广的优点。须视企业规模和地理分布确定。企业内部通过防火墙接入Internet,在整个网络采用TCP/IP协议。

图 1.3 B/S结构图

1.5.7 开发工具之JavaBean

JavaBean 是一种JA V A语言写成的可重用组件,是使用java.beans 包开发的,它是Java 2 标准版的一部分。JavaBean 是一台机器上同一个地址空间中运行的组件。JavaBean 是进程内组件。Enterprise Bean 是使用javax.ejb 包开发的,它是标准JDK 的扩展,是Java 2 Enterprise Edition 的一部分。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBeans 通过提供符合一致性设计模式的公共方法将内部域暴露称为属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制发现和操作这些JavaBean 属性。

用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。

JavaBean是Sun微系统的一个面向对象的编程接口,它可以让你建可重用应用程序或能在网络中任何主流操作系统平台上配置的程序块,称作组件。像Java applet一样,JavaBeans组件(或Beans)能够给予万维网页面交互的能力,例如:计算感兴趣的比率或是根据用户或浏览器的特性改变页面内容。

从用户的观点来看,一个组件可以是一个与你交互的按钮或是一个当你按下按钮它便开始的小计算程序。用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean 提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。从一个开发者的观点来看,那个按钮组件和计算器组件是分别被创建的,并且他们可以一起使用或是在不同的应用程序或情况下和不同的组件产生不同的组合来使用。

JavaBean可分为两种:一种是有用户界面(UI,User Interface)的JavaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。JSP 通常访问的是后一种JavaBean。

2 系统分析

2.1 系统功能概述

系统主要完成两大功能:面向非会员和会员的前台功能和面向系统管理员的后台功能。非会员即没有在本网站进行注册的用户,可以进行歌曲的浏览跟点播。会员即在本网站进行注册过的用户,在登录之后可以进行歌曲的下载、上传、点播、分享。系统管理员即数据库管理员,可以在后台进行数据库的管理。

2.1.1 系统前台功能概述

在前台,系统主要提供以下服务:

(1)非会员浏览和点播歌曲。

(2)会员浏览和点播歌曲外还可以下载和上传自己喜欢的歌曲。

(3)会员可以管理自己的信息和自己上传歌曲的信息。

2.1.2 系统后台功能概述

在后台,管理员可进行如下操作:

(1)浏览和点播歌曲。

(2)管理歌曲信息,包括上传、下载、修改和删除歌曲。

(3)管理会员信息,包括增加、修改和删除会员信息。

2.2 可行性研究

《在线音乐管理系统》主要从行业市场背景、资源供应、建设规模、工艺路线、设备选型、人力定员、环境影响、资金筹措、财务能力等方面进行充分的论证和可行性研究,从技术、经济、工程等方面进行调查研究和分析比较,并对项目建成以后可能取得的财务、经济效益及社会环境影响进行预测,从而提出该项目是否值得投资和如何进行建设的咨询意见,为项目决策提供依据的一种综合性的系统分析方法。

《在线音乐管理系统》用于多方面的专业运用,包括:用于向国家相关政府部门申请立项;向金融部门申请贷款的重要依据;向有关主管部门申请专项资金的重要依据;向证监会申请股票上市的重要依据;向国土部门、开发区、工业园申请用地的重要依据;与项目有关的部门签订合作,协作合同或协议的依据;进口设备和对外谈判的依据;环境部门审查项目对环境影响的依据。

该网站的可行性分析包括以下几个方面的内容:

2.2.1 经济可行性

本系统开发所用的软件都是免费的,极大地节省了资金。根据对网络上各音乐网站的调查分析表明,现在随着人民生活水平的不断提高,家庭电脑的普及使得越来越多的人选择利用网络这一媒体来与世界交流,很多人有能力并且也愿意以网上娱乐的方式消费。所以在这样的背景下设计开发一个在线音乐点播系统在经济上是可行的。

2.2.2 技术可行性

技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。本系统用的是JSP开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。

本系统的开发,是采用JSP编程语言,已无技术上的问题。而且本人经过四年的大学学习对JSP技术进行了深入的学习。还系统学习了MySQL和SQL Server 2000数据库,具备了软件开发的系统知识,拥有网站开发的相关知识及经验。设计开发一个在线音乐点播系统在技术上是可行的。

2.2.3 法律可行性

(1)所有技术资料都为合法。

(2)开发过程中不存在知识产权问题。

(3)未抄袭任何系统,不存在侵犯版权问题。

(4)开发过程中未涉及任何法律责任。

综上所述,本系统的开发从技术上、从经济上、从法律上等都是完全可靠的。

2.3 需求分析

在系统功能概述中已经粗略的研究了该项目的主要功能,可行性研究中分析了开发平台及本网站的可行性,但为了准确的确定目标系统必须做什么,了解用户的明确需求,在充分研究先有的在线音乐管理系统的基础上,进一步明确了网站的功能需求。

音乐网站是网络音乐的发展平台,过去,音乐网站功能较为单一,但随着网络技术的发展,用户对音乐网站的要求逐渐提高,音乐网站由此也逐渐出现了更多采用较为优雅的开发工具来设计的音乐网站,在制作之前,要明确网站能做些什么事情,也就是所谓的需求。所以必须把需求做清楚,然后才能进行设计。

其实音乐网站让大家所熟悉的就是用户浏览和倾听音乐,使人们能够在线倾听和下载音乐,同时为了避免出现一些问题,这就需要管理员对用户和网站的内容进行管理。我们要做一个音乐网站,在这里用户可以注册,倾听音乐和下载音乐,管理人员可以修改出现的一些问题,如管理注册用户和版面。

本音乐网站应该满足如下需求:

(1)允许访问者执行基本操作。

(2)允许访问者在网站上注册。

(3)注册用户登录后,可以对音乐、歌手和专辑进行在线评论

(4)管理人员可以维护用户细节和管理歌曲、歌手等信息。

系统功能包括普通用户功能、登录用户功能、管理员功能,具体要求如下所示:

1. 普通用户功能

(1)浏览网站上的专辑、歌手和歌曲信息。

(2)可以查询歌曲名等相关信息。

(3)可以在线试听歌曲。

(4)可以进行注册。

2. 登录用户功能

(1)普通用户的所有功能。

(2)可以对专辑、歌手或歌曲发表评论。

音乐播放器Java课程设计报告

课程设计报告课程设计题目:java音乐播放器 学生姓名: 专业:XXXXXXXXXXXXX 班级: 指导教师: 20XX年X月X日

一、课程设计目的 1、编程设计音乐播放软件,使之实现音乐播放的功能。 2、培养学生用程序解决实际问题的能力和兴趣。 3、加深java中对多媒体编程的应用。 二、课程设计的要求 利用学到的编程知识和编程技巧,要求学生: 1、系统设计要能完成题目所要求的功能,设计的软件可以进行简单的播放及其他基本功能。 2、编程简练,可用,尽可能的使系统的功能更加完善和全面 3、说明书、流程图要清楚。 三、课程设计内容 1、课程设计的题目及简介 音乐播放软件要求: 有图形界面,能播放MP3歌曲,有播放列表,前一首、后一首等常用播放软件功能。 2、设计说明 主要运用多媒体编程、图形界面、数组及循环进行设计,从而实现简单的音乐播放。 public MyMusicPlayer():实现窗口的成员方法 publi c void run():实现改变歌曲的播放状态的成员方法 public AudioClip loadSound(String filename):实现对声音的加载public void mouseClicked(MouseEvent e):实现对按钮的监听public void itemStateChanged(ItemEvent arg0):返回一个AudioClip 对象

3、程序流程图 4、程序清单 import java.awt.*; import javax.swing.*; import java.applet.*; import java.awt.event.*; import https://www.360docs.net/doc/dd3812606.html,.*; public class MyMusicPlayer extends Thread implements MouseListener,ItemListener{ JFrame MainFrame=new JFrame("MyMusicPlayer"); //定义主窗体 JLabel songname=new JLabel(); //用标签 显示状态 JButton last=new JButton(); JButton play=new JButton();

Java音乐播放器源代码即结果显示

简单的音乐播放器一、程序代码: import java.io.File; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.FileDialog; import java.awt.Frame; import java.awt.GridLayout; import https://www.360docs.net/doc/dd3812606.html,bel; import java.awt.List; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.MenuShortcut; import java.awt.Panel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.DataLine; import javax.sound.sampled.SourceDataLine; public class Example extends Frame { private static final long serialVersionUID = 1L; boolean isStop = true;// 控制播放线程 boolean hasStop = true;// 播放线程状态

基于java的音乐播放器的设计源代码+实验报告

主类M U S I C P L A Y E R类:import .*; public class MusicPlayer implements ActionListener, Serializable,ControllerListener { private static final long serialVersionUID = 1L; private JFrame frame = null; private JPanel controlPanel = null; private JButton btnPlay = null; private JButton btnPre = null; private JButton btnNext = null; private JScrollPane listPane = null; private JList list = null; private DefaultListModel listModel = null; private JMenuBar menubar = null; private JMenu menuFile = null, menuAbout = null, menuMode = null; private JMenuItem itemOpen, itemOpens, itemExit, itemAbout; private JRadioButtonMenuItem itemSingle, itemSequence ,itemRandom; private ListItem currentItem = null; private static Player player = null; private boolean isPause = false; private int mode; private int currentIndex; private ImageIcon iconPlay = new ImageIcon("d:\\"); private ImageIcon iconPre = new ImageIcon("d:\\"); private ImageIcon iconNext = new ImageIcon("d:\\"); private ImageIcon iconPause = new ImageIcon("d:\\"); public static void main(String[] args) { new MusicPlayer(); } public MusicPlayer() { init(); } public void init() { frame = new JFrame(); ("音乐播放器"); (400, 300); (false); (null); ; menubar = new JMenuBar(); menuFile = new JMenu("文件");

音乐播放器Java课程设计报告

课程设计报告课程设计题目:java 音乐播放器 学生姓名: 专业:XXXXXXXXXXXXX 班级: 指导教师: 20XX 年X 月X 日

、课程设计目的 1、编程设计音乐播放软件,使之实现音乐播放的功能。 2、培养学生用程序解决实际问题的能力和兴趣。 3、加深java 中对多媒体编程的应用。 二、课程设计的要求 利用学到的编程知识和编程技巧,要求学生: 1、系统设计要能完成题目所要求的功能,设计的软件可以进行简单的播放及其他基本功能。 2、编程简练,可用,尽可能的使系统的功能更加完善和全面 3、说明书、流程图要清楚。 三、课程设计内容 1、课程设计的题目及简介 音乐播放软件要求: 有图形界面,能播放MP3 歌曲,有播放列表,前一首、后一首等常用播放软件功能。 2、设计说明 主要运用多媒体编程、图形界面、数组及循环进行设计,从而实现简单的音乐播放。 public MyMusicPlayer() :实现窗口的成员方法 publi c void run() :实现改变歌曲的播放状态的成员方法 :实现对声音的加载 public AudioClip loadSound(String ) :实现对按钮的监听 public void mouseClicked(MouseEvent e) public void itemStateChanged(ItemEvent arg0) :返回一个AudioClip 对象

3、程序流程图 * 出现界面 * 选择播放歌 曲 4、程序清单 import java.awt.*; import javax.swi ng.*; import java.applet.*; import java.awt.eve nt.* import java .n et.*; public class MyMusicPIayer exte nds Thread impleme nts MouseListe ner,ltemListe ner{ JFrame Mai nF rame =new JFrame( "MyMusicPlayer" ); // 定义主窗体 JLabel songname =new JLabel(); //用标签显示状态 JButton last =new JButto n(); JButt on play =new JButt on();

基于java的音乐播放器课程设计报告

Java课程设计报告题目:java音乐播放器 姓名 学号 院系 班级 专业 任课教师

1.设计内容及要求 能够实现简单的音乐播放器功能,如:打开本地文件,播放,暂停,停止,背景播放,单曲循环等等,界面充实,交互友好,可以添加 多首歌曲目录 一个简单的基于java语言的音乐播放器,菜单栏:文件,播放控制和播放列表,文件菜单包含打开、循环和退出三个菜单项;播放控 制菜单包含播放、暂停和停止三个菜单项,播放列表菜单则是当向里面 添加歌曲之后才能够查看到里面所包含的歌曲目录。当播放歌曲时,可 以调节音量大小或者设置是否静音;可以查看当前播放音乐的相关属 性,如:歌曲名,歌手,发布时间,所属专辑等等。 2.需求分析 1、时间跟踪条:根据歌曲播放的进度,控制条自动进行追踪,用户可以 随时了解歌曲的播放进度 2、音量控制键:可以点击该控键进行音量大小的调节以及是否静音的设 置 3、属性查询键:通过该控键,用户可以查看当前播放音乐的相属性,获 取关于该歌曲的用户所需的相关信息。 4、菜单栏: ①文件: 打开:用户通过该菜单项打开本地音乐文件,听任何用户想 听的歌曲 循环:通过循环设置,用户可以重复的播放一首喜欢的歌曲 退出:退出音乐播放器,及退出该程序

②播放控制: 播放:选择歌曲之后,通过点击播放菜单项启动播放器播放音乐 暂停:暂停当前正在播放的音乐 停止:停止当前正在播放的音乐 ③播放列表:当用户通过文件打开本地音乐文件后,及相当于在 播放列表里面添加了歌曲,及形成相应的歌曲播放目录 3.总体设计 结合需求分析来看,整个设计包含了简单的菜单栏,根据用户需求设置了三个简单的实现基本操作的菜单,分别是:文件,播放控制, 播放列表;根据具体的操作每个菜单还包含了相应的菜单项,文件:打 开,循环,退出;播放控制:播放,暂停,停止;播放列表则没有菜单 项,该菜单就是用来显示或者查看相应的歌曲目录的。 该音乐播放器设置了两个窗口,运行程序时打开的初始化欢迎界面,用户可以根据自己的需求进行菜单栏里面的基本操作和相应的设 置,当用户添加或者打开音乐播放文件的时候,程序将会显示出第二个 音乐文件播放窗口,与此同时,第一个初始化窗口将会自动隐藏,在音 乐播放窗口里面用户可以进行相关的音乐播放的控制操作。 当用户进入音乐播放窗口时,该窗口有几个快捷控制的控键:时间追踪轴:可以实现播放的前进、后退功能,根据用户需求调节音乐的 播放进度等;音量控制:设置静音,打开扬声器或者调节音量大小;播 放列表:查看当前播放音乐的相关属性。

音乐播放器java源代码

package com.ding.player; import java.io.File; import java.io.IOException; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.DataLine; import javax.sound.sampled.SourceDataLine; public class Player { private String path;//文件路径 private String name;//文件名称 private AudioFormat audioFormat;//播放格式 private AudioInputStream audioInputStream;//音乐播放输入流 private SourceDataLine sourceDataLine;// 播放设备 private boolean isStop = false;// 播放停止标志 /** * 创建对象时需要传入播放路径及文件名称 * @param path * @param name */ public Player(String path ,String name) { this.path = path; https://www.360docs.net/doc/dd3812606.html, = name; } /** * 播放音乐 */ public void play() { File file = new File(path + name); try { //获取音乐播放流 audioInputStream = AudioSystem.getAudioInputStream(file); //获取播放格式 audioFormat = audioInputStream.getFormat(); /*System.out.println("取样率:"+ audioFormat.getSampleRate());

Java音乐播放器设计文献综述

****大学 专业文献综述 题目:Java音乐播放器设计 文献综述 姓名:**** 学院:计算机科学与信息工程学院专业:计算机科学与技术 班级:********* 学号:**** 成绩: 指导教师:职称: 2012 年4月6 日 ****大学教务处制

Java音乐播放器设计文献综述 作者:**** 指导教师: 摘要: 随着科学技术的发展,人们对生活质量的要求越来越高,在视听享受方面,家庭影院越来越普遍,便携式电子设备也日趋成熟。目前,人们对嵌入式媒体播放器的研究越来越广泛了,国内外已经出现了像MP3、MP4和智能手机等众多样式的便携式嵌入式媒体播放器。但由于种种环境及条件的限制,这些便携式的媒体播放器都只能播放单一的或几种固定的媒体格式,可扩展性都比较差;而现在随着应用的不断增多,越来越多的更先进的压缩算法被提出,导致了媒体格式的多样化,在这种情况下,必然要求嵌入式媒体播放器要适应多种格式。为此,通过对各种PC机上的播放器设计架构的研究与借鉴,在本文中主要在软件方面为嵌入式媒体播放器设计了一种可扩展性架构,并设计了播放器界面, 实现了播放器的功能。 关键词:Java ;音乐;播放器; Designing the java player of music Abstract: With the development of science and technology, people of the quality of life in demand is higher and higher, in the audio-visual enjoy, home theater is becoming more and more common, portable electronic equipment has become more and more mature. At present, the people of embedded media player is more and more extensive research, had appeared at home and abroad like MP3, MP4 and smart phones and many other styles of portable embedded media player. But because of various environmental and limitations, the portable media player can only play a single or several fixed media formats, scalability is poor. And now, with the increasing of the application, more and more of the more advanced compression algorithm was proposed, leading to the media format diversity, in this case, the inevitable requirement embedded media player to adapt to a variety of formats. Therefore, through various PC player design framework of research and the reference, in this paper mainly in software for embedded media player design a kind of scalability framework, and design the player interface, implements some functionality of the player. Key words: Java ;music;player; 前言: 随着科学技术的发展,嵌入式系统工业是专用计算机工业,其目的就是要把一切变得更简单、更方便、更普遍、更适用。嵌入式播放器的主要解决的是视音频解码器。视音频解码器是基于嵌入式的视频处理、控制及传输设备,其核心是运行实时操作系统的嵌入式计算机和高性能视频DSP。无需PC平台,直接将视音频编码器编码的视音频数据

JAVA音乐播放器软件设计

佛山科学技术学院 《可视化编程技术》课程设计报告 音乐播放器软件设计 学生姓名:钟洁文 学号:2012914232 年级专业:12级教育技术学 指导老师:容汝佳 学院:教育科学学院 广东★佛山 提交日期:2014年6月

目录 1 前言 (2) 2 概要设计 (3) 2.1开发环境 (3) 2.2播放器功能 (3) 2.3界面设计 (4) 2.4类的总体 (5) 3详细设计 (5) 3.1类的主要方法 (5) 31.1初始化窗口: (5) 3.1.3设计的总体认识 (12) 3.1.4程序流程图 (12) 4运行结果 (14) 5测试分析 (14) 5.1程序运行情况: (15) 5.2 程序异常处理: 6 程序清单: (15) 参考文献 (23) 设计总结 (23) 摘要:该程序是一个简单的音乐播放器,具有良好的界面,使用人员能快捷简单地进行操作。即时准确地播放需要的音乐文件,对人们的生活有一定的帮助。可以实现简单的音乐播放器功能,如:打开本地文件,播放,暂停,停止,背景播放,单曲循环等等,界面充实,交互友好,可以添加多首歌曲目录。 关键字:java音乐播放器,音乐播放器类,方法,事件 1 前言 随着科学技术的不断发展,计算机已经成为我们工作学习和生活中不可缺少的工具。文本编辑器是个人计算机最司空见惯的应用程序了,在学习了Java语

言之后,我决定使用Java语言编写一个简单的播放器,可以实现简单的播放功能,满足日常基本的工作学习和娱乐需要。 Java是由Sun公司开发的新一代纯面向对象的网络编程语言。其目标是建立一种在任意种机器、任一种操作系统的网络环境中运行的软件,实行所谓的“程序写一次,到处运行”的目标。正因为如此,Java已成为当今Internet上最流行、最受欢迎的一种程序开发语言。 Java开发小组把Java按特性分为基本版、移动版、企业版,每个版本有一个软件开发包。Java基本版本叫Java 2标准版(Java 2 Standard Edition,J2SE),它包含建立Java应用程序或者是Applet所需的应用程序编程接口(API)。Java 2移动版(The Java 2 Mobile Edition,J2ME)包含创建无线Java应用程序的API。还有Java 2企业版(The Java 2 Enterprise,J2EE)是J2SE的增强版本,包含建立多层架构应用程序API。 Java语言是由C++语言发展起而来的,是一种彻底的面向对象的程序设计语言。作为一种纯面向对象的程序设计语言,它非常适合大型软件的开发。Java 语言去掉了C++语言的一些容易引起错误的特性。Java语言的特点有:面向对象、跨平台、安全性、多线程和图形功能强。 2 概要设计 2.1开发环境 开发平台:Microsoft Windows XP Professional Service Pack 2 开发工具:JBuilder 2007 + JDK 1.6.0_02 2.2播放器功能 功能1:文件菜单包含打开、循环和退出三个菜单项: 打开:用户通过该菜单项打开本地音乐文件,听任何用户想听的歌曲; 循环:通过循环设置,用户可以重复的播放一首喜欢的歌曲; 退出:退出音乐播放器,及退出该程序。 功能2:播放控制菜单包含播放、暂停和停止三个菜单项: 播放:选择歌曲之后,通过点击播放菜单项启动播放器播; 暂停:暂停当前正在播放的音乐;

一个简单的音乐播放器的java代码

import java.awt.*; import java.awt.eve nt.*; import java.io.*; import java.util.*; import javax.swi ng.*; import javax.media.bea n.p layerbea n.*; import java.i o.I OExce pti on; import javax.swi ng.JO ptio nPane; import java.awt.*; p ublic class lyt exte nds JFrame imp leme nts Runn able { p ublic Media Player soumd1; p rivate JButt on p laySo und, stopsound, tjia n,loopSound; p rivate JMe nultem jmiOpenj miSavejmiExitjmiAbout; p ublic JPanel jp 1, j p2, j p3, j p4; p ublic JList jl; p rivate JButt on last, n ext, stop; p ublic Vector vector, min gche ng; boolea n fo = false, geshi = false; JLabel jl1, jl2, sj1, sj2; JTextField jt1, jt2; int a = 0, b = 0, you = 1, mm = 0; p ublic lyt() { super("200842018java 音乐播放器”); soumd1 = new Media Player(); Container c = getC ontentPan e(); c.setLayout (new FlowLayout()); min gche ng = new Vector(); jp1 = new JPan el(); c.add(j p1); JMe nuBar mb=new JMe nuBar(); setJMe nuBar(mb); JMenu fileMenu=new JMenu(” 文件"); mb.add(fileMe nu); JMenu helpMenu=new JMenu(” 帮助"); mb.add(hel pMenu); fileMenu.add(jmiOpen=new JMenultem(” 打开")); fileMenu.add(jmiSave=new JMenultem(” 播放")); helpMenu.add(jmiAbout=new JMenultem(” 关于")); JPanel jp2 = new JPan el();

Java实现音频播放--JavaSoundAPI编写音频处理程序

一、JavaSound的体系结构 二、JavaSound混频原理 三、音频数据与存储格式 四、设计音乐播放器 五、播放音乐 六、支持更多的音频格式 ━━━━━━━━━━━━━ 桌面PC的性能日益提高,Java虚拟机的优化技术也不断获得突破,这一切使得用Java处理实时信号成为可能。本文将通过设计和构造一个支持实时MP3、WAV和Ogg音频格式解码/回放的Java音乐播放器,阐述用JavaSound API编写音频处理程序的思路和一般过程。 JavaSound是一个小巧的低层API,支持数字音频和MIDI数据的记录/回放。在JDK 1.3.0之前,JavaSound是一个标准的Java扩展API,但从Java 2的1.3.0版开始,JavaSound就被包含到JDK之中。由于Java有着跨平台(操作系统、硬件平台)的特点,基于JavaSound的音频处理程序(包括本文的程序)能够在任何实现了Java 1.3+的系统上运行,无需加装任何支持软件。 一、JavaSound的体系结构 当前JDK的JavaSound API随同Java媒体框架(JMF,Java Media Framework)一起发布,主页在java.sun./products/java-media/jmf/,适合JDK 1.1以及更高的版本。除了JDK实现的JavaSound API之外,还有一个源代码开放的JavaSound实现是

Tritonus,主页在https://www.360docs.net/doc/dd3812606.html,/。 图一描述了JavaSound API的体系结构,虚线表示Sun的JavaSound标准定义的API调用。上面一根虚线表示我们编写音频处理程序要调用的API,JavaSound API包含在javax.sound.sampled和javax.sound.midi包中。两根虚线之间的部分就是JavaSound API的具体实现。 图一:JavaSound体系结构 就象上面一根虚线表示的API具有统一标准一样,在所有的JavaSound实现中,图一下面一根虚线表示的SPI(服务提供者接口, Service Provider Interface)也是统一的。SPI的作用是以插件(Plug-In)的形式提供自定义的扩展模块,我们只要提供与SPI兼容的插件扩展模块,就可以在不改变API的情况下扩展音频处理程序的能力。SPI包含在java.sound.sampled.spi和javax.sound.midi.spi包中。 例如,假设有一个只能播放WAV文件的程序,我们只要增加一个支持MP3文件解码的插件模块,就可以在不改动播放程序的任何一行代码的前提下,为这个播放程序添加播放MP3的能力。 二、JavaSound混频原理

音乐播放器Java课程设计报告

《JA V A程序设计》课程设计报告题目:音乐播放器 学院:计算机科学与工程学院 专业:信息管理与信息系统 学生姓名:杨柏昌 学号:1400320228 指导老师:汪华登

目录 1. 概要设计.................................................................... 2. 详细设计.................................................................... 3. 测试............................................................................ 4. 总结............................................................................

概要设计 播放器主要使用JMF框架实现,播放器界面如下

详细设计package design.curriculum.JAVA; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.Border; import java.io.*; import javax.media.*; public class JMFPlayer extends JFrame implements ActionListener,ControllerListener{ Player player=null;//声明一个Player对象 String filePath;//存放音乐文件夹所在目录 String fileName;//存放歌曲名称 boolean click=false;//用来标记歌曲是否被点击 int songIndex;//歌曲元素在列表中的位置 int loop=3;//作为播放模式的标记 JLabel songNameLable; JRadioButton sequenceBtn; JRadioButton singleBtn; JRadioButton randomBtn; ButtonGroup loopGroup; JButton beforeBtn; JButton nextBtn; JButton playBtn; JButton pauseBtn; JButton stopBtn; JButton fileBtn; JButton exitBtn; Component controlComponent;//player的控制面板Container container; JPanel songNamejp; JPanel loopjp; JPanel btnjp; JPanel listjp; JPanel btn2jp; List list; public JMFPlayer(){ super("音乐播放器"); setBounds(480,50,400,600); setResizable(false);//设置界面不可修改

基于java的音乐播放器的设计

《课程设计报告》课程名称:WEB课程设计 2016—2017 学年度第一学期 题目:基于java的音乐播放器 系别:信息工程学院 专业:计算机科学与技术 专业班级: 指导教师:

编者

目录 一.需求分析 (1) (一)背景 (1) (二)音乐播放器需求分析 (1) 二.概要设计 (4) (一)系统所用类及各类的主要说明 (4) (二)系统UML类图 (5) 三.详细设计 (6) (一)核心技术介绍 (6) (二)创建播放器的图形用户界面所需的控件 (9) 四 .系统实现 (12) 五.测试 (23) 结论 (25)

一.需求分析 (一)背景 随着计算机的广泛运用,手机市场的迅速发展,各种音频视频也在网上广为流传,这些资源看似平常,但以渐渐成为人们必不可少的一部分了,于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对很多用户的时间造成了很多资源的浪费,比如CPU、内存的占有率过高,在用户需求多用户操作时,受到了不小的影响,带来了许多的不便,而对于大多数普通用户,许多功能用不上,形同虚设。 (二)音乐播放器需求分析 根据项目,我们可以获得项目系统的基本需求主要是功能需求而系统的功能需求,我们分成三部分来概括,即播放器的基本控制需求、播放列表管理需求和性能需求。以下分别描述:

1、播放器的基本控制需求 (1)播放:点击播放列表中的歌曲进行播放。 (2)停止:在歌曲列表下方有一个小按钮,当歌曲正在播放时,显示的是可停止的按钮,点击则停止当前播放的歌曲。 (3)上一曲:歌曲在播放或者未播放时单击上一曲按钮时歌曲会跳到列表的当前歌曲的上一首。 (4)下一曲:歌曲在播放或者未播放时单击下一曲按钮时歌曲会跳到列表的当前歌曲的下一首。 (5)停止:单击停止按钮时立即停止播放当前的歌曲。 用户需求图

基于Android音乐播放器的设计与实现

滨江学院《移动通信程序设计》 课程设计 题目基于Android系统的音乐播放器 院系滨江学院 专业计算机科学与技术 学生姓名王兵 学号 二O一四年六月十日

摘要 随着生活水平的提高,娱乐已成为非常主流的话题,人们不仅需要通过音乐陶冶情操,而且越来越多的人倾向于使用音乐、视频等娱乐和放松自己,这大大促进了媒体软件的发展.本文旨在介绍研究常用数字音频编码和解码的相关知识,并结合VS2008编写多功能音乐播放器,了解音乐播放器功能的实现,掌握开发音乐播放器所需的相关知识,采用了面向对象软件工程方法,其开发主要包括应用程序界面设计和后台代码运行两个方面,实现了多功能音乐播放器在计算机上的应用,可以在很大程度上满足用户的需求.该系统主要具备:音乐播放控制、音乐文件控制、音量控制、下载控制、歌词控制、进度控制、音乐剪辑等功能模块。 关键字:音乐播放器,音频编码格式,TechSmith Screen Capture Codec,FFmpeg ,C#,Visual Studio 2008 目录 1 前言........................................................... 选题的背景及意义................................................ 网络流行音乐播放器简介.......................................... 2系统相关技术及开发平台介绍 ..................................... 开发应用技术介绍................................................ 开发及运行坏境.................................................. 3 系统的分析..................................................... 可行性分析...................................................... 常见的几种音频格式及其特点...................................... 需求分析........................................................ 4系统设计....................................................... 系统概要设计.................................................... 系统功能设计及描述.............................................. 5系统功能实现................................................... 歌曲添加模块.................................................... 歌曲列表模块.................................................... 播放控制模块....................................................

Java课程设计-音乐播放器

程序设计课程设计 综合实验 音乐播放器 班级: 指导老师: 组员: 2014年12月2日 目录 1 程序功能描述3 2 开发环境描述3

3 开发技术介绍4 4 详细设计5 4.1功能模块划分5 4.2 用户界面设计7 4.2.1 歌曲列表面板7 4.2.2 播放控制面板12 4.2.3 搜索及展示面板13 4.3 播放功能实现14 4.3.1播放歌曲14 4.3.2 暂停及继续播放18 4.3.3 音量控制20 4.3.4 播放模式20 4.3.5 时间进度条21 4.4 歌词展示实现22 4.4.1 加载歌词文件22 4.4.2 解析歌词文件23 4.4.3 展示歌词25 4.5 搜索网络歌曲资源26 4.5.1 获取HTML文本26 4.5.2 解析HTML文本29 4.5.3 抓取数据描述33

4.6 网络歌曲资源处理34 4.6.1 歌曲资源的载体34 4.6.2 歌曲资源的操作41 4.7 程序内置的游戏45 4.7.1 204845 4.7.2 贪吃蛇45 4.7.3 五子棋46 5程序运行47 6 实验小结50 1 程序功能描述 音乐播放器是一种用于播放各种音乐文件的多媒体播放软件。我们以酷狗音乐播放器的操作界面为原型,设计一个实现播放、搜索、下载歌曲的Java音乐播放器。此音乐播放器支持音乐格式较少,只有MID、WMA、MP3。最后,为音乐播放器置入一些游戏,增强播放器的娱乐性。 2 开发环境描述 IDE:Eclipse(Luna)、netbeans JDK:1.8 图片处理:Photoshop

3 开发技术介绍 1)JavaSound : Java Sound API是Java SE平台提供底层的处理声音接口。使用Java Sound API可以实现各种基于声音的应用,例如声音录制、音乐播放、音乐编辑等。同时其还提供了第三方的扩展接口(SPI),实现各种音乐格式的解码及转码。 2)Java Zoom : 为了支持MP3的播放,必须为JavaSound扩展MP3的SPI 支持库。开源项目JavaZoom正是提供了一个兼容JavaSound的纯Java解码器。 引用:jl1.0.1.jar、mp3spi1.9.5.jar、tritonus_share.jar 3)Jaudiotagger: 开源项目Jaudiotagger提供一个Java类库用于编辑音频文件的tag信息(附有此音频的歌手、标题、专辑、音轨长度等的信息)。 引用:jaudiotagger-2.0.3.jar 4)Jsoup : Jsoup 是一款Java 的HTML解析器,可直接解析某个URL 地址、HTML文本内容。它提供了一套非常省力的API。 引用:jsoup-1.8.1.jar

Java程序设计课程设计报告音乐播放器

《Java及Java web应用开发》实验报告设计题目:Java音乐播放器 专业计算机信息管理 班级1班 学号 姓名 2014年12月24日

import javax.media.ControllerEvent; import javax.media.ControllerListener; import javax.media.EndOfMediaEvent; import javax.media.PrefetchCompleteEvent; import javax.media.RealizeCompleteEvent; import javax.media.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class MediaPlayer extends JFrame implements ActionListener, ItemListener, ControllerListener { String title; Player player; boolean first = true, loop = false; Component vc, cc; String currentDirectory=null; // 构造函数,其中包括了设置响应窗口事件的监听器。MediaPlayer(String title) { super(title); /* 关闭按钮的实现。。*/ addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { dispose(); } public void windowClosed(WindowEvent e) { if (player != null) player.close(); System.exit(0); } }); // 调用程序菜单栏的方法成员完成菜单的布置

基于java的音乐播放器的设计源代码+实验报告

主类M U S I C P L A Y E R类: import java.util.*; import javax.swing.JSlider; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.Point; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import javax.media.ControllerEvent; import javax.media.ControllerListener; import javax.media.EndOfMediaEvent; import javax.media.Manager; import javax.media.MediaLocator; import javax.media.NoPlayerException; import javax.media.Player; import javax.media.PrefetchCompleteEvent; import javax.media.Time; import javax.swing.ButtonGroup; import javax.swing.DefaultListModel; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JList; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JRadioButtonMenuItem; import javax.swing.JScrollBar; import javax.swing.JScrollPane;

相关文档
最新文档