个人音乐管理系统项目文档讲解_第1页
个人音乐管理系统项目文档讲解_第2页
个人音乐管理系统项目文档讲解_第3页
个人音乐管理系统项目文档讲解_第4页
个人音乐管理系统项目文档讲解_第5页
已阅读5页,还剩27页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、个人音乐管理系统项目文档本次的毕业实习设计是基于Web技术的在线音乐管理系统。此系统通过 AJAX+Struts 2.X+JSP框架技术来实现。数据库管理系统则为MySQL此系统分 为两部分:管理员模块(后台部分)和注册用户模块(前台部分)。在具体实现 各个模块的相应功能时,利用AJAX和JSP技术实现该系统的相应页面,利用 Struts 2x框架技术实现业务逻辑。一. 系统功能结构根据在线音乐管理系统,可将其分为前台和后台两个部分。从前台主界面 可以发现注册用户可以实现如下功能:用户注册,用户登录,分享歌曲,下载歌 曲,填写关于音乐的评论,音乐盒,点歌,试听歌曲,发送和接受短消息。前台功能结

2、构如图1所示图1在线音乐管理系统前台结构图从后台主界面可以发现超级管理员可以实现如下功能:管理员登录,音乐管理, 友情链接,用户管理,添加管理员,修改密码和关闭。后台功能结构如图2所示在线音乐管理后台图2在线音乐管理系统后台结构图二. 业务流程图如图所示注 册用户发送短消息分享歌曲接受短消息分享成功超级管理员添加管理员修改密码用户管理友情链接音乐管理T三. 数据库概念设计根据系统所做的需求分析,规划出本系统中使用的数据库实体 分别为用户 信息实体,管理员档案实体,音乐信息实体,留言信息实体,短信信息实体。下 面将介绍儿个关键实体的E-R图。1 用户信息实体用户信息实体包括编号,用户名,用户的密

3、码,音乐盒。考生档案实体的 E-R图如图1.4所示。图1.4用户信息实体E-R图2音只信息实体音宗看息实体包括编号,音乐的标题,音乐的歌曲,音乐所属专辑,上传时 间,音乐试听次数,音乐的地址。音乐信息实体的E-R图如图1.5所示。图1.5音乐信息实体E-R图3. 短信信息实体音乐信息实体包括编号,发短信的用户,接受短信的用户,短信的标题,短图16短信信息实体E-R图四. 用例图(个人)1. 用户具有用户信息,每个用户具有一种账户状态用于标识权限;2. 用户空间与用户一一对应,具有空间属性;3. 每个用户都可以注册多个账户;4. 用户信息:用户名,用户密码;5. 用户注册:用户名,用户密码密码,

4、确认密码;6. 已注册用户,直接登陆:输入用户名及密码;7. 修改密码:输入密码、新密码、重复密码;登录添加管理员五. 数据库的逻辑结构各数据表的结构Admin (管理员信息表)管理员信息表用来保存管理员信息,该表的结构如图11所示。表1. 1 admin表的结构字段名数据类型是否为空是否主键默认值描述idintno是ID(自动编 号)NameVarchar(20)yes管理员用户 名PwdVarchar (32)yes密码comments (留言信息表)留言信息表用来保存留言信息,该表的结构如图12所示。表1. 2 comments表的结构字段名数据类型是否为空是否主键默认值描述Idintn

5、oyesId号(自动 编号)valuetextnonull留言的内容nameVarchar(20)nonull留言人的昵称Music idInt (4)nonull音乐编号TimeVarchar (13)nonull发表评论时 间link(链接表)链接 表用来保存链接信息,该表的结构如图13所示。表1. 3 link表的结构字段名数据类型是否为空是否主键默认值描述idintno是ID(自动编 号)valuetextyes友情链接的 值titleVarchar (100:yes友情链接的 标题Message (短信信息表)短信信息表用来保存短信信息,该表的结构如图14所示。表1. 4 messa

6、ge表的结构字段名数拯类型是否为空是否主键默认值描述IdintnoyesId号(自动 编号)FromVarchar (20)发短信的用 户ToInt(4)接受短信的 用户TitleVarchar (200 )短信的标题valuetextnonull短信的内容TimeVarchar (13)nonull发短信的时 间NewInt(l)发短信的次Music (音乐信息表)音兀信息表用来保存音乐信息,该表的结构如图15所示。表1. 5 comments表的结构字段名数据类型是否为空是否主键默认值描述IdintnoyesId号(自动 编号)TitleVarchar(50)音乐的标题singerVarc

7、har(30)音乐的歌曲specialVarchar (30)音乐所属专 辑valuetextnonull音乐标题TimeVarchar (13)nonull上传时间clickInt(5)音乐试听次 数urllongtext音乐的地址Tip (提示信息表)提示信息表用来保存提示信息,该表的结构如图16所示。表1. 6 comments表的结构字段名数据类型是否为空是否主键默认值描述IdintnoyesId号(自动 编号)valuetext提示内容user (用户信息表)用户信息表用来保存用户信息,该表的结构如图1.7所示。 表1. 7 user表的结构字段名数据类型是否为空是否主键默认值描述i

8、dintno是ID(自动编 号)NameVarchar(20)yes用户名PwdVarchar (32)yes用户密码Music boxlongtext音乐盒六. 数据表之间的关系设计«eninefatic(i»user«enrera*jc<i»admin«enin=ratic(i» comments4id:nt+fiane:'/arcfer(2O) 4pd:vcrchar(32 或 boxdongtext+vaiu 刨 te* Hd;int 4nan)e:varcter(20) Wnjsi:Jd:int(4) +tim

9、e:7crchar(13)4id:int4name:varcfef(20)4pxd:vcrchar(32<<enjreraxn>> link«enumeraton»messageHd:ht +rrom!varcter(20) +To;Yardiar(20) +Titfe:varchar(2O3) -p/abe:text4-Time: 7crchar(13) Hten:int(l)<<enurerati3n>>music4idantwaiueitextN ttjde:vardwlN)Hd:htrtitie:旳 rchar(5O)

10、 +9nj2r:yarchar(30) 巒cel:代Khsr) -H/abe:text +tne:varchar(13) +dirk:int(5) Hiiilcrgtext+id:n:七. 系统总体设计7. 1用户注册功能实现功能说明:用户点击首页中的注册链接后,页面中显示注册层供用户填写 注册信息,当用户入新注册的用户名时,struts的register, java调用后判断 是否存在同名用户,并返回判断的信息;当用户输入密码和确认密码时,判断密 码是否和确认密码相同;若以上两个条件同时满足,注册按钮可用,否则,注册 按钮不可用。完成输入信息后,点击注册按钮进行用户注册操作,注册操作完成 后

11、,系统自动为用户跳到登录页面。描述:编-Try号名称类型描述1index jsp页面文件首页页面3Register. java注册类执行注册操作4Register jsp页面文件用户注册信息5Login. java登录类执行登录操作7. 2登陆功能实现功能说明:用户点击完登陆链接后,在页面中显示,用户输入完用户名和 密码后点击登陆按钮完成登陆操作,退出登录时点击注销登录。YAXA.描述:编 号名称类型描述1Index jsp登录文件登录页面2Login. java登录类存放所有的执行方法3DBConnection. javaDAO操作类数据库获取4Logout java注销登录类点击注销登录按

12、钮后退出登录7. 3实现在线音乐上传功能功能说明:用户进入主页面后,点击上传歌曲,进入上传歌曲页面。上传 歌曲时,音乐;的形式在后台的servlet相关类uploadmusic. java类中做了相关 设置。当用户上传完歌曲后,可以点击下一步按钮,显示上传成功提示框,系统 自动将歌曲添加到数据库中,同时跳转到音乐更新页面,填写音乐相关信息,主 题的字数和内容的字数在后台的upload, jas中都做了设置,当用户输入完相 应的信息后,可以点击提交按钮,系统自动将信息添加到数据库中,添加成功后, 显示添加成功提示框,跳转到主页可以进行音乐播放试听。描述:编-tTHj号名称类型描述1index.

13、jsp文件主页面2Uploadmusic javaServlet 类执行上传音乐操作3DBConnectionDAO操作类获取数据库4Upload javaservlet执行音乐更新操作5Upload jsp文件音乐更新页面1. 4实现添加评论功能功能说明:当用户上传完音怎信息后,点击阅读全文,跳转到添加评论页面, 可以输入信息,主题的字数和内容的字数在后台的servlet相关类addComments 中都做了设置。当用户输入完相应的信息后,可以点击提交按钮,系统自动将信 息添加到数据库中,添加成功后可以查看输入的内容。当用户输入的信息不满足 要求时,会发出错误信息提示,同时不满足要求的信息也

14、不会添加到数据库中。 因此用户需要进行修改内容,然后在重新添加。用户show, j s pshow, j s p2锁I酷剧a ddC D n n en t s. jauaDBConn e c i ion. j a y a描述:编*7lHJ号名称类型描述1show. jsp文件添加评论页面2addComments. javaServlet 类执行添加信息操作3DBConnectionDAO操作类获取数据库7. 5实现音乐盒功能功能说明:在上传完音乐后,用户可以创建属于该用户自己的音乐盒。点击 添加音乐盒按钮,相关添加操作在后台servlet类中做了设置,并获取数据库进 行连接查询,查看数据库中是

15、否已存在相同音乐,如果没有则将音乐添加到数据 库中,添加成功后,通过后台的servlet相关类setbox. jam进行操作音乐盒中 的播放列表,并通过JD0M组件动态创建XML播放列表,并且在主页动态显示。描述:编 号名称类型描述1index jsp文件主页面2Musicbox javaServlet 类执行添加音乐盒操作3DBConnectionDAO操作类获取数据库4setbox javaServlet 类操作音乐盒播放列表5creatXML javaJDOM组件动态创建XML播放列表5Music box jsp文件音乐盒页面7. 6实现短信发送功能功能说明:用户进入主页面后,点击短消息

16、,进入发送短信页面。发送短信 时,信息的相关内容在后台的servlet相关类message, java类中做了相关设置。 当用户输入完相应的信息后,可以点击提交按钮,系统自动将信息添加到数据库 中,添加成功后显示发送成功的提示框,对方可以进行信息的查看和接受。当用 户输入的信息不满足要求时,会发出错误信息提示,同时不满足要求的信息也不 会添加到数据库中。因此用户需要进行修改内容,然后在重新提交。描述:编号名称类型描述1message jsp文件发送短信页面2message javaServlet 类执行发送信息操作3DBConnectionDAO操作类获取数据库7. 7实现短信接收删除功能功能

17、说明:用户进入主页面后,点击查看短消息,看是否有已接受的未读 短信,进行删除操作,删除操作通过后台的sevlet相关类desmessage, java进 行执行,操作成功后,自动 更新数据库,并在 主页面上显示删除成功。描述:编 号名称类型描述1showmessage jsp文件显示短信页面2delmessage javaServlet 类执行删除信息操作3DBConnectionDAO操作类数据库连接更新7. 8实现点歌功能功能说明:用户上传完歌曲可以进行点歌功能,点击sendmusic页面的点歌, 可以为对方点歌,并 进行留言和信息发送。点歌和信息发送,通过后台的 servlet相关类se

18、ndmusic. java类进行执行验证,操作成功后,自动更新数据 库,更新成功后,显示信息发送成功提示框。对方可以进行信息接收和歌曲试听。$ e n d n u $DBC o n n e c tr睨豫证0S e n d rri u s i c. java11 /5:占却rT描述:编 号名称类型描述1sendmusic jsp文件点歌页面2sendmusic javaServlet 类执行点歌操作3DBConnectionDAO操作类数据库连接更新7. 9实现超级用户登陆功能功能说明:进入后台主界面后,页面中显示登录层供管理员填写信息,当 用户填写相关信息后时,struts的login, ja

19、va调用后判断是否存在此用户, 并返回判断的信息;若以上条件满足时,登录按钮可用,否则,登录按钮不可用。 完成输入信息后,点击登录按钮进行超级用户登录操作,登录操作完成后,系统 自动为用户跳到主页面。DBC o ti n e c t I o n .J a i/ a卜进入齡用户主Z登翘证06登耒唸证成仍0描述:编 号名称类型描述1Index jsp登录文件登录页面2Login. java登录类存放所有的执行方法3DBConnection. javaDAO数据库获取4New. jsp文件添加管理员页面7. 10实现修改当前超级管理员密码功能功能说明:当超级管理员登录在线音乐管理系统的后台,进入修改

20、密码页 面。struts通过调用后台的servlet相关类changepwd. java执彳亍,判断是否存在 此用户,并返回判断的信息;当用户输入密码和确认密码时,判断密码是否和确 认密码相同;若以上两个条件同时满足,提交按钮可用,否则,提交按钮不可用。 完成输入信息后,点击提交按钮进行超级用户修改密码操作,修改操作完成后, 系统自动更新数据库,并显示修改成功提示框。?像觑05t验证不励I描述:编-7FU号名称类型描述1changepwd jsp改密文件修改密码页面2changeped javaservle 类存放所有的执行方法3DBConnection. javaDAO操作类数据库获取1Ne

21、w. jsp文件添加管理员页面7.11实现删除注册用户功能功能说明:当管理员进入后台系统的uer. jsp页面后,不仅可以查看所有注 册用户的信息,还可以删除任何一个注册用户。通过调用后台的servlet相关类 deluser. java类,检查是否存在该用户,并执行删除操作,删除成功后,自动 更新数据库,并在页面中成功显示。I 4删除成功,更新数損库亠山断参數是否为空餐查看所有用户0T5:删除成松返回0描述:编 号名称类型描述1user jsp文件查看删除用户页面2deluser javaservle 类存放所有的执行方法3DBConnection. javaDAO操作类数据库获取7. 12

22、实现删除注册用户功能功能说明:当超级管理员登录在线音乐管理系统的后台后,不仅可以查看所 有上传音乐的信息,还可以删除任何一个上传音乐。通过调用后台的servlet 相关类delmusic. java类,检查是否存在此用户,并执行删除操作,删除成功 后,自动更新数据库,并在页面中成功显示。1童看所有音乐02刪除操作01 T3:I 4删除成功,更緬嫌库T&刪除成如返回0描述:编-7FU号名称类型描述1music jsp文件查看删除音乐页面2delmusic javaservle 类存放所有的执行方法3DBConnection. javaDAO操作类数据库获取7.13实现友情链接功能功能说明

23、:当超级管理员登录在线音乐管理系统的后台后,不仅可以添加友情 链接的信息的信息,还可以删除任何已存在的超级链接。通过调用后台的 servlet相关类1 ink. java类,执行插入操作,插入成功后,自动更新数据库, 并在当前页面中成功显示,能进行删除操作,且 能在前台中成功显示链接。描述:编 号名称类型描述1link jsp文件添加链接页面2link javaservle 类存放所有的执行方法3DBConnection. javaDAO操作类数据库获取4Index jsp文件主页面附录(实现代码)1. AJAX技术运用:public String execute 0 throws Excep

24、tion Serv 1 etActionContext. getResponseO. setCharacterEncodingC'GB2312,z)设置页 面编码格式PrintWriter out = Servlet Act ionContext ) getWriter 0 ; '彳犬&艾$出流/设置页面的和关信息ServletActionContext getResponsek) setHeader ("Pragma", "No-cache");Serv 1 etActionContext getResponse) setHea

25、der ('"Cache-Control "no-cache");ServletActionContext getResponse) setDateHeader (''Expires'', 0);/生成文件名String fileType =getUploadFileName() substring(getUploadFileName() lastlndexOf(");SimpleDateFormat sdf = new SimpleDateFormat (yyyyMMdd);/设置时间格式Date dt = ne

26、w DateO ;/获取当前时间Random rd = new Random 0 ;/随机变量setUploadFileName(sdf. format (dt) + rd. nextlnt (9999) + fileType);7生成传文件的名字if ("audio/mpeg" equals (getUploadContentType 0) /判断几乐类型/获取文件输出流FileOutputStream fos = new FileOutputStream(getSavePath() + ""+ getUploadFileName();获取文件输入流F

27、ilelnputStream fis = new FilelnputStream(getUploadO); byteCJ buffer = new byte 10240;/创建字节数组int len = 0;while (len = fis. read (buffer) > 0) 7实现文件上传fos write (buffer, 0, len);String filePath = "upload" + getUploadFileName0 ;/创建文件路径属性out. print In (function. PlutoJumpC 传成功,请认真填写歌曲内容!:/zu

28、pload jsp?path=/z + filePath);/当文件 else 上传失败out. printin (function. PlutoJumpC 文件类型必须为 MP3!uploadmusic jsp");return null;<h2 class二"title"上传音乐第-步(上传音乐)</h2><div class二"entry"<p><form id二"forml" name=zzformmethod二"post"action二"upl

29、oad action?path=<%=request getParameter (/zpathv)%/面的播放器进行试听!class二"nicefornT onsubmit=/zreturn check0 /> <input type二"hidden" name=z,pathz,value=,/<%=request getParameter (<zpathz,) %> /><table width二"80%" border="0" align二"center"

30、; <tr><td height二"31"<div align二"center"您的音乐已经上传成功,您可以点下</div></td></tr>public class upload extends ActionSupport private String title;private String singer;private String special;private String path;private String value;public String getValue 0 retu

31、rn value;public void setValue(String value) thisvalue = value;public String getTitleO return title;public void setTitle(String title) this title = title;public String getPathO return path;public void setPath(String path) this .path = path;public String getSinger0 return singer;public void setSinger(

32、String singer) this .singer = singer;public String getSpecialO return special;public void setSpecial(String special) this .special = special;Override/编写execute ()方法public String execute0 throws Exception ServletActionContext. getResponseO. setCharacterEncodingC/GB2312/,); 设咒页 面的编码格式PrintWriter out =

33、 ServletActionContext ger屁spouse() getWriterO ;/流/获取 HttpservletRequest 对象HttpServletRequest request = ServletActionContext getRequestO ;HttpSession session = ServletActionContext. getReques认)getSessionO;设置页而的相关信息ServletActionContext getResponse) setHeader (/"Pragma", "No-cache")

34、; ServletActionContext getResponse) setHeader(/'Cache-Control,"no-ceche");Serv 1 etActionContext getResponse) setDateHeader (Expiresz,, 0);String filePath = request, ge t Paramet er (,zpath/z); 获取路径参数 if (function islnvalidtixlt)function is In vali d( s i nger)function islnvalidsecil)

35、function isInvalicKXJa) /判血 参数是否为空out. printin (function. PlutoJumpC任何项都不能为空!"、/zupload jsp?path二"+ filePath); else filePath = filePath. replace(vupload", "upload、"); 7 获取文件后缀 DBConnection conn = new DBConnectionO ;/获取数据库连接long time = new DateO. getTimeO ;,T获馭匕传时间当操作数据库成功if

36、(connexecute("insert intomusic (title, singer, special, value, time, click, url) values (* "+ title+ singer+, AT+ special+ value + time +, 0,' " + filePath + "')") /添加TIP信息String tip = "+ sessiongetAttribute("PlutoUser"). toStringO+ "分享了歌曲"+

37、title +conn execute ("insert into tip (value) values (? /z + tip + out print In (function Plutojump ("槌交成功 "、"index jsp"); else 操作数据库失败out printin (function("扌是交失败! ", "upload jsp?path二+ filePath);return null;2. JDom组件动态创建XML播放列表:public class creatXML private

38、String str = "3, 2, 4, 5, 6, 7"private String playListArr;private String path;public String getPathO return path;public void setPath(String path) this .path = path;public void bulidXML(String id,HttpServletRequest request,String userName) throws IOException, JDOMException, SQLException /创建XML头Element playList = new Element("playlist");Document Doc = new Document(playList);playList = DocgetRootElement();playList setAttribute (version'', "1");playList setAttribute(xmln, "http:/xspf org/ns

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论