在線音樂(lè)管理系統(tǒng)項(xiàng)目文檔_第1頁(yè)
在線音樂(lè)管理系統(tǒng)項(xiàng)目文檔_第2頁(yè)
在線音樂(lè)管理系統(tǒng)項(xiàng)目文檔_第3頁(yè)
在線音樂(lè)管理系統(tǒng)項(xiàng)目文檔_第4頁(yè)
在線音樂(lè)管理系統(tǒng)項(xiàng)目文檔_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、在線音樂(lè)管理系統(tǒng)項(xiàng)目文檔本次的課程設(shè)計(jì)是基于Web技術(shù)的在線音樂(lè)管理系統(tǒng)。此系統(tǒng)通過(guò)AJAX+Struts 2.x+JSP框架技術(shù)來(lái)實(shí)現(xiàn)。數(shù)據(jù)庫(kù)管理系統(tǒng)則為MySQL。此系統(tǒng)分為兩部分:管理員模塊(后臺(tái)部分)和注冊(cè)用戶模塊(前臺(tái)部分 )。在具體實(shí)現(xiàn)各個(gè)模塊的相應(yīng)功能時(shí),利用AJAX和JSP技術(shù)實(shí)現(xiàn)該系統(tǒng)的相應(yīng)頁(yè)面,利用Struts 2.x框架技術(shù)實(shí)現(xiàn)業(yè)務(wù)邏輯。1系統(tǒng)功能結(jié)構(gòu)根據(jù)在線音樂(lè)管理系統(tǒng),可將其分為前臺(tái)和后臺(tái)兩個(gè)部分。從前臺(tái)主界面可以發(fā)現(xiàn)注冊(cè)用戶可以實(shí)現(xiàn)如下功能:用戶注冊(cè),用戶登錄,分享歌曲,下載歌曲,填寫(xiě)關(guān)于音樂(lè)的評(píng)論,音樂(lè)盒,點(diǎn)歌,試聽(tīng)歌曲,發(fā)送和接受短消息。前臺(tái)功能結(jié)構(gòu)如圖1所示在

2、線音樂(lè)管理前臺(tái)用戶注冊(cè)用戶登錄分享歌曲發(fā)送短消息接受短消息注銷(xiāo)登錄填寫(xiě)評(píng)論添 加 音樂(lè)盒試聽(tīng)歌曲點(diǎn)歌下載歌曲 圖1 在線音樂(lè)管理系統(tǒng)前臺(tái)結(jié)構(gòu)圖從后臺(tái)主界面可以發(fā)現(xiàn)超級(jí)管理員可以實(shí)現(xiàn)如下功能:管理員登錄,音樂(lè)管理,友情鏈接,用戶管理,添加管理員,修改密碼和關(guān)閉。后臺(tái)功能結(jié)構(gòu)如圖2所示在線音樂(lè)管理后臺(tái)管理員登錄音樂(lè)管理友情鏈接 用戶管理添加管理員修改密碼 圖2 在線音樂(lè)管理系統(tǒng)后臺(tái)結(jié)構(gòu)圖2業(yè)務(wù)流程圖如圖所示 用戶登錄注冊(cè)前臺(tái)頁(yè)面首頁(yè)分享歌曲發(fā)送 短消息 接受短消息分享成功考試 規(guī)則 試聽(tīng)音樂(lè) 點(diǎn)歌添加評(píng)論 添加音樂(lè)盒牛下載歌曲 超級(jí)管理員 登錄后臺(tái)首頁(yè)音樂(lè)管理修改密碼添加管理員 用戶管理友情鏈接

3、3數(shù)據(jù)庫(kù)概念設(shè)計(jì) 根據(jù)系統(tǒng)所做的需求分析,規(guī)劃出 本系統(tǒng)中使用的數(shù)據(jù)庫(kù)實(shí)體 分別為用戶信息實(shí)體,管理員檔案實(shí)體,音樂(lè)信息實(shí)體,留言信息實(shí)體,短信信息實(shí)體。下面將介紹幾個(gè)關(guān)鍵實(shí)體的E-R圖。用戶信息實(shí)體用戶信息實(shí)體包括編號(hào),用戶名,用戶的密碼,音樂(lè)盒??忌鷻n案實(shí)體的E-R圖如圖1.4所示。密碼用戶名音樂(lè)盒 編號(hào),用戶信息音樂(lè)信息實(shí)體音樂(lè)信息實(shí)體包括編號(hào),音樂(lè)的標(biāo)題,音樂(lè)的歌曲,音樂(lè)所屬專輯,上傳時(shí)間,音樂(lè)試聽(tīng)次數(shù),音樂(lè)的地址。音樂(lè)信息實(shí)體的E-R圖如圖1.5所示。音樂(lè)的標(biāo)題歌曲所屬專輯上傳時(shí)間音樂(lè)信息 編號(hào),音樂(lè)的地址試聽(tīng)次數(shù) 圖1.5 音樂(lè)信息實(shí)體E-R圖短信信息實(shí)體音樂(lè)信息實(shí)體包括編號(hào),發(fā)短

4、信的用戶,接受短信的用戶,短信的標(biāo)題,短信的內(nèi)容 ,發(fā)短信的時(shí)間,發(fā)短信的 次數(shù)。短信信息實(shí)體的E-R圖如圖1.5所示。短信的標(biāo)題接受 短信的用戶 發(fā)短信的用戶 短信的內(nèi)容短信信息 編號(hào),發(fā)短信的次數(shù) 發(fā)短信的時(shí)間 圖1.5 短信信息實(shí)體E-R圖4用例圖(個(gè)人)1.用戶具有用戶信息,每個(gè)用戶具有一種賬戶狀態(tài)用于標(biāo)識(shí)權(quán)限;2.用戶空間與用戶一一對(duì)應(yīng),具有空間屬性;3.每個(gè)用戶都可以注冊(cè)多個(gè)賬戶;4.用戶信息:用戶名,用戶密碼;5.用戶注冊(cè):用戶名,用戶密碼密碼,確認(rèn)密碼;6.已注冊(cè)用戶,直接登陸:輸入用戶名及密碼;7.修改密碼:輸入密碼、新密碼、重復(fù)密碼;5數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu) 1各 數(shù)據(jù)表的結(jié)構(gòu)A

5、dmin(管理員信息表)管理員信息 表用來(lái)保存管理員信息,該表的結(jié)構(gòu)如圖1.1所示。 表1.1 admin表的結(jié)構(gòu)字段名數(shù)據(jù)類(lèi)型是否為空是否主鍵默認(rèn)值描述idintno是ID(自動(dòng)編號(hào))NameVarchar(20)yes管理員用戶名PwdVarchar(32)yes密碼comments(留言信息表)留言信息 表用來(lái)保存留言信息,該表的結(jié)構(gòu)如圖1.2所示。 表1.2 comments表的結(jié)構(gòu)字段名數(shù)據(jù)類(lèi)型是否為空是否主鍵 默認(rèn)值描述Idint noyesId號(hào)(自動(dòng)編號(hào))valuetextnonull留言的內(nèi)容nameVarchar(20)nonull留言人的昵稱Music_idInt(4)n

6、onull音樂(lè)編號(hào)TimeVarchar(13)nonull發(fā)表評(píng)論時(shí)間link(鏈接表)鏈接 表用來(lái)保存鏈接信息,該表的結(jié)構(gòu)如圖1.3所示。 表1.3 link表的結(jié)構(gòu)字段名數(shù)據(jù)類(lèi)型是否為空是否主鍵默認(rèn)值描述idintno是ID(自動(dòng)編號(hào))valuetextyes友情鏈接的值titleVarchar(100)yes友情鏈接的標(biāo)題Message(短信信息表)短信信息 表用來(lái)保存短信信息,該表的結(jié)構(gòu)如圖1.4所示。 表1.4 message表的結(jié)構(gòu)字段名數(shù)據(jù)類(lèi)型是否為空是否主鍵 默認(rèn)值描述Idint noyesId號(hào)(自動(dòng)編號(hào))FromVarchar(20)發(fā)短信的用戶ToInt(4)接受短信的

7、用戶Title Varchar(200)短信的標(biāo)題valuetextnonull短信的內(nèi)容TimeVarchar(13)nonull發(fā)短信的時(shí)間NewInt(1)發(fā)短信的次Music(音樂(lè)信息表)音樂(lè)信息 表用來(lái)保存音樂(lè)信息,該表的結(jié)構(gòu)如圖1.5所示。 表1.5 comments表的結(jié)構(gòu)字段名數(shù)據(jù)類(lèi)型是否為空是否主鍵 默認(rèn)值描述Idint noyesId號(hào)(自動(dòng)編號(hào))TitleVarchar(50)音樂(lè)的標(biāo)題singerVarchar(30)音樂(lè)的歌曲special Varchar(30)音樂(lè)所屬專輯valuetextnonull音樂(lè)標(biāo)題TimeVarchar(13)nonull上傳時(shí)間cli

8、ckInt(5)音樂(lè)試聽(tīng)次數(shù)urllongtext音樂(lè)的地址Tip (提示信息表)提示信息 表用來(lái)保存提示信息,該表的結(jié)構(gòu)如圖1.6所示。 表1.6 comments表的結(jié)構(gòu)字段名數(shù)據(jù)類(lèi)型是否為空是否主鍵 默認(rèn)值描述Idint noyesId號(hào)(自動(dòng)編號(hào))valuetext提示內(nèi)容user(用戶信息表)用戶信息 表用來(lái)保存用戶信息,該表的結(jié)構(gòu)如圖1.7所示。 表1.7 user表的結(jié)構(gòu)字段名數(shù)據(jù)類(lèi)型是否為空是否主鍵默認(rèn)值描述idintno是ID(自動(dòng)編號(hào))NameVarchar(20)yes用戶名PwdVarchar(32)yes用戶密碼Music_boxlongtext音樂(lè)盒6數(shù)據(jù)表之間的關(guān)

9、系設(shè)計(jì)7系統(tǒng)總體設(shè)計(jì) 7.1 用戶注冊(cè)功能實(shí)現(xiàn)功能說(shuō)明: 用戶點(diǎn)擊首頁(yè)中的注冊(cè)鏈接后,頁(yè)面中顯示注冊(cè)層供用戶填寫(xiě)注冊(cè)信息,當(dāng)用戶入新注冊(cè)的用戶名時(shí),struts的register.java調(diào)用后 判斷是否存在同名用戶,并返回判斷的信息;當(dāng)用戶輸入密碼和確認(rèn)密碼時(shí),判斷密碼是否和確認(rèn)密碼相同;若以上兩個(gè)條件同時(shí)滿足,注冊(cè)按鈕可用,否則,注冊(cè)按鈕不可用。完成輸入信息后,點(diǎn)擊注冊(cè)按鈕進(jìn)行用戶注冊(cè)操作,注冊(cè)操作完成后,系統(tǒng)自動(dòng)為用戶跳到登錄頁(yè)面。描述:編號(hào)名稱類(lèi)型描述1index.jsp頁(yè)面文件首頁(yè)頁(yè)面3Register.java注冊(cè)類(lèi)執(zhí)行注冊(cè)操作4Register.jsp頁(yè)面文件用戶注冊(cè)信息5Log

10、in.java登錄類(lèi)執(zhí)行登錄操作7.2登陸功能實(shí)現(xiàn)功能說(shuō)明:用戶點(diǎn)擊完登陸鏈接后,在頁(yè)面中顯示,用戶輸入完用戶名和密碼后點(diǎn)擊登陸按鈕完成登陸操作,退出登錄時(shí)點(diǎn)擊注銷(xiāo)登錄 。描述:編號(hào)名稱類(lèi)型描述1Index.jsp登錄文件登錄頁(yè)面2Login.java登錄類(lèi)存放所有的執(zhí)行方法3DBConnection.javaDAO操作類(lèi)數(shù)據(jù)庫(kù)獲取4Logout.java注銷(xiāo)登錄類(lèi)點(diǎn)擊注銷(xiāo)登錄按鈕后退出登錄7.3實(shí)現(xiàn)在線音樂(lè)上傳功能功能說(shuō)明:用戶進(jìn)入主頁(yè)面后,點(diǎn)擊上傳歌曲,進(jìn)入上傳歌曲頁(yè)面。上傳歌曲時(shí),音樂(lè)的形式在后臺(tái)的servlet相關(guān)類(lèi)uploadmusic.java類(lèi)中做了相關(guān)設(shè)置。當(dāng)用戶上傳完歌曲后,

11、可以點(diǎn)擊下一步按鈕,顯示上傳成功提示框,系統(tǒng)自動(dòng)將歌曲添加到數(shù)據(jù)庫(kù)中,同時(shí)跳轉(zhuǎn)到音樂(lè)更新頁(yè)面,填寫(xiě)音樂(lè)相關(guān)信息,主題的字?jǐn)?shù)和內(nèi)容的字?jǐn)?shù)在后臺(tái)的upload.java中都做了設(shè)置, 當(dāng)用戶輸入完相應(yīng)的信息后,可以點(diǎn)擊提交按鈕,系統(tǒng)自動(dòng)將信息添加到數(shù)據(jù)庫(kù)中,添加成功后,顯示添加成功提示框,跳轉(zhuǎn)到主頁(yè)可以進(jìn)行音樂(lè)播放試聽(tīng)。描述:編號(hào)名稱類(lèi)型描述1index.jsp文件主頁(yè)面2Uploadmusic.javaServlet類(lèi)執(zhí)行上傳音樂(lè)操作3DBConnectionDAO操作類(lèi)獲取數(shù)據(jù)庫(kù)4Upload.javaservlet執(zhí)行音樂(lè)更新操作5Upload.jsp文件音樂(lè)更新頁(yè)面7.4實(shí)現(xiàn)添加評(píng)論功能功

12、能說(shuō)明:當(dāng)用戶上傳完音樂(lè)信息后,點(diǎn)擊閱讀全文,跳轉(zhuǎn)到添加評(píng)論頁(yè)面,可以輸入信息,主題的字?jǐn)?shù)和內(nèi)容的字?jǐn)?shù)在后臺(tái)的servlet相關(guān)類(lèi)addComments中都做了設(shè)置。當(dāng)用戶輸入完相應(yīng)的信息后,可以點(diǎn)擊提交按鈕,系統(tǒng)自動(dòng)將信息添加到數(shù)據(jù)庫(kù)中,添加成功后可以查看輸入的內(nèi)容。當(dāng)用戶輸入的信息不滿足要求時(shí),會(huì)發(fā)出錯(cuò)誤信息提示,同時(shí)不滿足要求的信息也不會(huì)添加到數(shù)據(jù)庫(kù)中。因此用戶需要進(jìn)行修改內(nèi)容,然后在重新添加。描述:編號(hào)名稱類(lèi)型描述1show.jsp文件添加評(píng)論頁(yè)面2addComments.javaServlet類(lèi)執(zhí)行添加信息操作3DBConnectionDAO操作類(lèi)獲取數(shù)據(jù)庫(kù)7.5實(shí)現(xiàn)音樂(lè)盒功能功能說(shuō)

13、明:在上傳完音樂(lè)后,用戶可以創(chuàng)建屬于該用戶自己的音樂(lè)盒。點(diǎn)擊添加音樂(lè)盒按鈕,相關(guān)添加操作在后臺(tái)servlet類(lèi)中做了設(shè)置,并獲取數(shù)據(jù)庫(kù)進(jìn)行連接查詢,查看數(shù)據(jù)庫(kù)中是否已存在相同音樂(lè),如果沒(méi)有則將音樂(lè)添加到數(shù)據(jù)庫(kù)中,添加成功后,通過(guò)后臺(tái)的servlet相關(guān)類(lèi)setbox.java進(jìn)行操作音樂(lè)盒中的播放列表,并通過(guò)JDOM組件動(dòng)態(tài)創(chuàng)建XML播放 列表,并且在主頁(yè)動(dòng)態(tài)顯示。描述:編號(hào)名稱類(lèi)型描述1index.jsp文件主頁(yè)面2Musicbox.javaServlet類(lèi)執(zhí)行添加音樂(lè)盒操作3DBConnectionDAO操作類(lèi)獲取數(shù)據(jù)庫(kù)4setbox.javaServlet類(lèi)操作音樂(lè)盒播放列表5creat

14、XML.javaJDOM組件動(dòng)態(tài)創(chuàng)建XML播放列表5M文件音樂(lè)盒頁(yè)面7.6實(shí)現(xiàn)短信發(fā)送功能功能說(shuō)明:用戶進(jìn)入主頁(yè)面后,點(diǎn)擊短消息,進(jìn)入發(fā)送短信頁(yè)面。發(fā)送短信時(shí),信息的相關(guān)內(nèi)容在后臺(tái)的servlet相關(guān)類(lèi)message.java類(lèi)中做了相關(guān)設(shè)置。當(dāng)用戶輸入完相應(yīng)的信息后,可以點(diǎn)擊提交按鈕,系統(tǒng)自動(dòng)將信息添加到數(shù)據(jù)庫(kù)中,添加成功后顯示發(fā)送成功的提示框,對(duì)方可以進(jìn)行信息的查看和接受。當(dāng)用戶輸入的信息不滿足要求時(shí),會(huì)發(fā)出錯(cuò)誤信息提示,同時(shí)不滿足要求的信息也不會(huì)添加到數(shù)據(jù)庫(kù)中。因此用戶需要進(jìn)行修改內(nèi)容,然后在重新提交。描述:編號(hào)名稱類(lèi)型描述1message.jsp文件發(fā)送短信頁(yè)面2message.jav

15、aServlet類(lèi)執(zhí)行發(fā)送信息操作3DBConnectionDAO操作類(lèi)獲取數(shù)據(jù)庫(kù)7.7實(shí)現(xiàn)短信接收刪除功能功能說(shuō)明:用戶進(jìn)入主頁(yè)面后,點(diǎn)擊查看短消息 ,看是否有已接受的未讀短信,進(jìn)行刪除操作,刪除操作通過(guò)后臺(tái)的sevlet相關(guān)類(lèi)desmessage.java進(jìn)行執(zhí)行,操作成功后 ,自動(dòng) 更新數(shù)據(jù)庫(kù),并在 主頁(yè)面上顯示刪除成功。描述:編號(hào)名稱類(lèi)型描述1showmessage.jsp文件顯示短信頁(yè)面2delmessage.javaServlet類(lèi)執(zhí)行刪除信息操作3DBConnectionDAO操作類(lèi)數(shù)據(jù)庫(kù)連接更新7.8實(shí)現(xiàn)點(diǎn)歌功能功能說(shuō)明:用戶上傳完歌曲可以進(jìn)行點(diǎn)歌功能,點(diǎn)擊sendmusic頁(yè)

16、面的點(diǎn)歌,可以為對(duì)方點(diǎn)歌,并 進(jìn)行留言和信息發(fā)送。點(diǎn)歌和信息發(fā)送,通過(guò)后臺(tái)的servlet相關(guān)類(lèi)sendmusic.java類(lèi)進(jìn)行執(zhí)行驗(yàn)證,操作成功后,自動(dòng)更新數(shù)據(jù)庫(kù),更新成功后,顯示信息發(fā)送成功提示框。對(duì)方可以進(jìn)行信息接收和歌曲試聽(tīng)。描述:編號(hào)名稱類(lèi)型描述1sendmusic.jsp文件點(diǎn)歌頁(yè)面2sendmusic.javaServlet類(lèi)執(zhí)行點(diǎn)歌操作3DBConnectionDAO操作類(lèi)數(shù)據(jù)庫(kù)連接更新7.9實(shí)現(xiàn)超級(jí)用戶登陸功能功能說(shuō)明: 進(jìn)入后臺(tái)主界面后,頁(yè)面中顯示登錄層供管理員填寫(xiě)信息,當(dāng)用戶填寫(xiě)相關(guān)信息后時(shí),struts的login.java調(diào)用后 判斷是否存在此用戶,并返回判斷的信息

17、;若以上條件滿足時(shí),登錄按鈕可用,否則,登錄按鈕不可用。完成輸入信息后,點(diǎn)擊登錄按鈕進(jìn)行超級(jí)用戶登錄操作,登錄操作完成后,系統(tǒng)自動(dòng)為用戶跳到主頁(yè)面。描述:編號(hào)名稱類(lèi)型描述1Index.jsp登錄文件登錄頁(yè)面2Login.java登錄類(lèi)存放所有的執(zhí)行方法3DBConnection.javaDAO數(shù)據(jù)庫(kù)獲取4New.jsp文件添加管理員頁(yè)面7.10實(shí)現(xiàn)修改當(dāng)前超級(jí)管理員密碼功能 功能說(shuō)明: 當(dāng)超級(jí)管理員登錄在線音樂(lè)管理系統(tǒng)的后臺(tái),進(jìn)入修改密碼頁(yè)面。struts通過(guò)調(diào)用后臺(tái)的servlet相關(guān)類(lèi)changepwd.java執(zhí)行, 判斷是否存在此用戶,并返回判斷的信息;當(dāng)用戶輸入密碼和確認(rèn)密碼時(shí),判斷

18、密碼是否和確認(rèn)密碼相同;若以上兩個(gè)條件同時(shí)滿足,提交按鈕可用,否則,提交按鈕不可用。完成輸入信息后,點(diǎn)擊提交按鈕進(jìn)行超級(jí)用戶修改密碼操作,修改操作完成后,系統(tǒng)自動(dòng)更新數(shù)據(jù)庫(kù),并顯示修改成功提示框。 描述:編號(hào)名稱類(lèi)型描述1changepwd.jsp改密文件修改密碼頁(yè)面2changeped.javaservle類(lèi)存放所有的執(zhí)行方法3DBConnection.javaDAO操作類(lèi)數(shù)據(jù)庫(kù)獲取4New.jsp文件添加管理員頁(yè)面7.11實(shí)現(xiàn)刪除注冊(cè)用戶功能功能說(shuō)明: 當(dāng)管理員進(jìn)入后臺(tái)系統(tǒng)的uer.jsp頁(yè)面后,不僅可以查看所有注冊(cè)用戶的信息,還可以刪除任何一個(gè)注冊(cè)用戶。通過(guò)調(diào)用后臺(tái)的servlet相關(guān)類(lèi)

19、deluser.java類(lèi),檢查是否存在該用戶,并執(zhí)行刪除操作, 刪除成功后,自動(dòng)更新數(shù)據(jù)庫(kù),并在頁(yè)面中成功顯示。描述:編號(hào)名稱類(lèi)型描述1user.jsp文件查看刪除用戶頁(yè)面2deluser.javaservle類(lèi)存放所有的執(zhí)行方法3DBConnection.javaDAO操作類(lèi)數(shù)據(jù)庫(kù)獲取7.11實(shí)現(xiàn)刪除注冊(cè)用戶功能 功能說(shuō)明:當(dāng)超級(jí)管理員登錄在線音樂(lè)管理系統(tǒng)的后臺(tái)后,不僅可以查看所有上傳音樂(lè)的信息,還可以刪除任何一個(gè)上傳音樂(lè)。通過(guò)調(diào)用后臺(tái)的servlet相關(guān)類(lèi)delmusic.java類(lèi),檢查是否存在此用戶,并執(zhí)行刪除操作, 刪除成功后,自動(dòng)更新數(shù)據(jù)庫(kù),并在頁(yè)面中成功顯示。描述:編號(hào)名稱類(lèi)型

20、描述1music.jsp文件查看刪除音樂(lè)頁(yè)面2delmusic.javaservle類(lèi)存放所有的執(zhí)行方法3DBConnection.javaDAO操作類(lèi)數(shù)據(jù)庫(kù)獲取7.12實(shí)現(xiàn)友情鏈接功能 功能說(shuō)明:當(dāng)超級(jí)管理員登錄在線音樂(lè)管理系統(tǒng)的后臺(tái)后,不僅可以添加友情鏈接的信息的信息,還可以刪除任何已存在的超級(jí)鏈接。通過(guò)調(diào)用后臺(tái)的servlet相關(guān)類(lèi)link.java類(lèi),執(zhí)行插入操作, 插入成功后,自動(dòng)更新數(shù)據(jù)庫(kù),并在當(dāng)前頁(yè)面中成功顯示,能進(jìn)行刪除操作,且 能在前臺(tái)中成功顯示鏈接。描述:編號(hào)名稱類(lèi)型描述1link.jsp文件添加鏈接頁(yè)面2link.javaservle類(lèi)存放所有的執(zhí)行方法3DBConnec

21、tion.javaDAO操作類(lèi)數(shù)據(jù)庫(kù)獲取4Index.jsp文件主頁(yè)面 附錄1. AJAX技術(shù)運(yùn)用: public String execute() throws Exception ServletActionContext.getResponse().setCharacterEncoding("GB2312");/設(shè)置頁(yè)面編碼格式PrintWriter out = ServletActionContext.getResponse().getWriter(); /獲取輸出流/設(shè)置頁(yè)面的相關(guān)信息ServletActionContext.getResponse().setHea

22、der("Pragma", "No-cache");ServletActionContext.getResponse().setHeader("Cache-Control","no-cache");ServletActionContext.getResponse().setDateHeader("Expires", 0);/生成 文件名String fileType = getUploadFileName().substring(getUploadFileName().lastIndexOf(&

23、quot;.");SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); /設(shè)置時(shí)間格式Date dt = new Date(); /獲取當(dāng)前時(shí)間Random rd = new Random(); /隨機(jī)變量setUploadFileName(sdf.format(dt) + rd.nextInt(9999) + fileType); /生成上傳文件的名字if ("audio/mpeg".equals(getUploadContentType() /判斷音樂(lè)類(lèi)型 /獲取文件輸出流File

24、OutputStream fos = new FileOutputStream(getSavePath() + ""+ getUploadFileName(); /獲取文件輸入流 FileInputStream fis = new FileInputStream(getUpload();byte buffer = new byte10240; /創(chuàng)建字節(jié)數(shù)組int len = 0;while (len = fis.read(buffer) > 0) /實(shí)現(xiàn)文件上傳fos.write(buffer, 0, len);String filePath = "upl

25、oad" + getUploadFileName(); /創(chuàng)建文件路徑屬性out.println(function.PlutoJump("上傳成功,請(qǐng)認(rèn)真填寫(xiě)歌曲內(nèi)容!", "upload.jsp?path=" + filePath); else /當(dāng)文件上傳失敗out.println(function.PlutoJump("文件類(lèi)型必須為MP3!", "uploadmusic.jsp");return null;<h2 class="title">上傳音樂(lè)第一步(上傳音樂(lè)

26、)</h2><div class="entry"><p><form id="form1" name="form1" method="post"action="upload.action?path=<%=request.getParameter("path")%>"class="niceform" onsubmit="return check();"><input type

27、="hidden" name="path"value="<%=request.getParameter("path")%>" /><table width="80%" border="0" align="center"><tr><td height="31"><div align="center">您的音樂(lè)已經(jīng)上傳成功,您可以點(diǎn)下面的播放器進(jìn)行試聽(tīng)!&

28、lt;/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() return value;public void setValue(String value) this.value = value;public String getTitle() r

29、eturn title;public void setTitle(String title) this.title = title;public String getPath() return path;public void setPath(String path) this.path = path;public String getSinger() return singer;public void setSinger(String singer) this.singer = singer;public String getSpecial() return special;public v

30、oid setSpecial(String special) this.special = special;Override/編寫(xiě)execute()方法 public String execute() throws Exception ServletActionContext.getResponse().setCharacterEncoding("GB2312");/設(shè)置頁(yè)面的編碼格式PrintWriter out = ServletActionContext.getResponse().getWriter();/獲取輸出流/獲取HttpservletRequest對(duì)象Ht

31、tpServletRequest request = ServletActionContext.getRequest();HttpSession session = ServletActionContext.getRequest().getSession();/設(shè)置頁(yè)面的相關(guān)信息ServletActionContext.getResponse().setHeader("Pragma", "No-cache");ServletActionContext.getResponse().setHeader("Cache-Control",&q

32、uot;no-cache");ServletActionContext.getResponse().setDateHeader("Expires", 0);String filePath = request.getParameter("path"); /獲取路徑參數(shù)if (function.isInvalid(title) | function.isInvalid(singer)| function.isInvalid(special) | function.isInvalid(path) /判斷參數(shù)是否為空out.println(functi

33、on.PlutoJump("任何一項(xiàng)都不能為空!", "upload.jsp?path="+ filePath); else filePath = filePath.replace("upload", "upload");/ 獲取文件后綴DBConnection conn = new DBConnection(); /獲取數(shù)據(jù)庫(kù)連接long time = new Date().getTime(); /獲取上傳時(shí)間 /當(dāng)操作數(shù)據(jù)庫(kù)成功if (conn.execute("insert into music(t

34、itle,singer,special,value,time,click,url) values('"+ title+ "','"+ singer+ "','"+ special+ "','"+ value + "','" + time + "',0,'" + filePath + "')") / 添加TIP信息String tip = "" + se

35、ssion.getAttribute("PlutoUser").toString()+ " 分享了歌曲 " + title + ""conn.execute("insert into tip(value) values('" + tip + "')");out.println(function.PlutoJump("提交成功!", "index.jsp"); else /操作數(shù)據(jù)庫(kù)失敗out.println(function.PlutoJu

36、mp("提交失敗!", "upload.jsp?path="+ filePath);return null;2. JDom組件動(dòng)態(tài)創(chuàng)建XML播放列表: public class creatXML private String str = "3,2,4,5,6,7"private String playListArr;private String path;public String getPath() return path;public void setPath(String path) this.path = path;publi

37、c void bulidXML(String id,HttpServletRequest request,String userName) throws IOException, JDOMException, SQLException /創(chuàng)建XML頭Element playList = new Element("playlist");Document Doc = new Document(playList);playList = Doc.getRootElement();playList.setAttribute("version", "1");playList.setAttribute("xmln","/ns/0/");Element title = new Element("title");title.setText("Pluto's Playe

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論