




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
【摘要】隨著經濟和科技的高速發展,人們的生活水平也迅速的提高,伴隨著是人們的生活方式也在潛移默化的改變著,人們的生活節奏在不斷的加快,越來越多的時間花在工作和人際上,而相對的自己娛樂時間越來越少。對于這種改變,在線視頻點播系統悄然而生,并且迅速被人們所接受和喜愛。本課題主要采用的設計語言是 java,所設計的在線視頻點播系統最終達成包括用戶模塊、視頻文件上傳、注冊、登錄等功能和管理員模塊、視頻審核,發布、用戶管理等功能。【關鍵詞】視頻點播;java;html;SQLserver2005;1緒論1.1背景及意義伴隨著中國經濟的快速發展,人們的生活節奏加快,生活方式簡單快速化,人們的娛樂休閑時間越
來越少,在傳統的電視節目中, 人們完全是被動的,節目提供者在什么時間段播放什么樣的節目, 人們就得按照節目提供者給得時間段去看相應的節目。這已經滿足不了人們的需求,對于現在的生活節奏,人們已經不可能為了看一個節目而預先安排自己的時間。人們都希望能夠隨時的看自己想要看的節目。在線視頻點播系統就是為了滿足現在人們的需求。 這種信息服務方式符合現在人們對信息資源的更深層次的要求。2相關技術和開發環境使用這2.1系統架構使用這本系統主要采用MVC架構的設計模式。這種模式主要是把一個應用分成三部分設計的方式,種模式會讓程序設計更加的簡單,也讓耦合程度減至最小。視圖(V)在本系統中也就是頁面,用于展示數據和傳遞數據, 沒有處理在這里發生作為視圖來講。模型(M)表示企業提供的一些處理數據的邏輯。模型主要用來處理用戶從界面傳來的數據,它能夠處理多個視圖提供過的數據,并且能夠被重復使用,提高了性能, 減少了代碼的重復性,有利于后期的維護。控制器(C)可看作第三方,主要是調用視圖和模型的作用。它在這個過程中擔任的只是指路的作用,看是要選擇哪個視圖和模型。2.2關鍵技術JDBCJDBC是為訪問數據庫而出現的一種 JAVA技術,不同的數據庫都有其對應的 JDBC不過他們的原理大都是一致的。它的作用就是為了讓程序員更容易的去訪問數據庫和對數據進行增刪改查的操作。它包含兩部分:第一部分是提供給程序員使用的 API,大部分API位于Java.sql包中,擴展的部分API位于Javax.sql包中。程序員只要熟悉JDBCAPI,就可以編寫程序訪問數據庫、 操作數據庫的記錄,而且操作不同的數據庫代碼幾乎相同。 當然對于不同的數據庫我們需要用的不同數據庫驅動包來完成對數據庫的連接。語法具有很好的平臺兼容性,因此極大的Ajax語法具有很好的平臺兼容性,因此極大的Ajax無刷新技術使得網頁制作更加的簡DOM操作的封裝、可靠的事件處理機制、Jquery是對JavaScript的封裝,它簡化了JavaScript方便了開發人員操作DOMDOM操作的封裝、可靠的事件處理機制、Jquery具有的優勢:輕量級、強大的選擇器、出色的完善的Ajax、出色的瀏覽器兼容性、開源等。 [1]
HTML5video標簽在html5中,增加了〈video〉標簽用于在網頁中嵌入視頻播放功能。通過 <video>標簽定義在HTML中嵌入的視頻的相關屬性設置。video元素支持三種視頻格式如圖 2.2.3:B性松值心B性松值心描述心如果出現該?性,則視頻在就結后馬上播敎?2autoplayautoplay*^controlS4J controls*^ 如果出現該屬性,則向用戶顯喬控件,比如播敢按鈕-heightspixels*^設直視頻播Ife器的咼度?4looppLoop衛如果出現該S性,則當煤介文件完成播詼后再次開始播赦-4如果出現該屬性,則視頻在頁而加tt時進行加載,并預備播敢.如果使用"autoplay",則忽略該S性.4preload^-' preload*^sic^呷idthPpisels心要播啟的視頻的URL.2設a視頻播戰器的寬度?心稱式殺Firefoz^'Opera*^:ChxomePSafari*^0百酹IkiQ3.5*10.5+P5.02HopMPEGa9.0+匸No卩NoQ5.0+4^3?E14.0+3110.6+P6.0+PNciP文件總視頻編碼心音頻編碼戶MPEG4QAA2WeWVPS3圖2.2.3視頻格式[2]<video>標簽的屬性如圖2.2.3 (1)圖223 (1)標簽屬性[2]2.3開發環境及平臺EclipseEclipse 是一種免費的開發平臺(IDE),現在主要用于開發JAVA程序的工具,當然它也可以用于開發其他語言程序如C/C++、COBOL等,Eclipse之所以可以做到這樣歸功于它是開源的并具有眾多的插件。Eclipse已經超越了開發環境的概念,它的目標是做成一個通用的平臺,讓盡量多的軟件做為插件集成在上面,成為未來的集成的桌面環境。 [3]Eclipse環境搭建:JDK的安裝在系統變量中添加以下環境變量:JAVA_HOME值為:安裝JDK的目錄;CLASSPATH值為:.;%JAVA_HOME%lib;PATH 值為:%JAVA_HOME%bin;%JAVA_HOME%jrebinMyEclipseMyEclipse是EclipselDE的擴展,利用它我們能極大的提高工作效率在數據庫和 JavaEE的開發、發布以及應用程序服務器的整合方面。它通常是用于開發 JAVA的工作平臺是一種企業級應用。MyEclipse是功能豐富的JavaEE集成開發環境,包括了完備的編碼,調試、測試和發布功能,完整
。[4]支持HTML,Struts,jsp,css,JavaScript,Spring,SQL,Hibernate在本課題設計中,將使用 MyEcIipse。[4]所以選用Tomcat作為服務平臺。它占但它對 所以選用Tomcat作為服務平臺。它占但它對 J2EE的EJB程序無法運服務器。只要你把做好的項目布置到上Web服務器也有很多種,在本系統中只是簡單的 Web應用,用資源少,穩定且免費并且是獨立運行的,有很好的擴展性和安全性,行,如果你要運行J2EE的EJB程序可使用Weblogic,WebSphere面,就能夠通過瀏覽器訪問你想要訪問的地址網頁。SQLServer2005SQLServer是一個數據庫平臺,它的為了解決大數據量時容易出現的數據混亂,容易丟失,不會管理,不好操作等開發的一種軟件,它的出現極大的方便了那些需要對大數據量的進行操作的用戶。SQLServer2005數據庫引擎為關系型數據和結構化數據提供了更安全可靠的存儲功能,使您可以構建和管理用于業務的高可用和高性能的數據應用程序。 [5]本系統采用SQLServer2005版本用于數據的存儲、處理和保護數據。3在線視頻點播系統分析與設計3.1需求分析3.1.1系統目標開發出一個功能實用,優秀的網站,為用戶提供各種視頻信息及交互平臺,使用戶能夠在快節奏的生活環境中,在有條件的情況下能夠隨時的觀看自己想要觀看的視頻,并且也能夠成為視頻的提供者,分享自己覺得好的視頻。3.1.2可行性分析隨著人們生活節奏的加快,快餐式的文化越來越突出,人們不能夠隨心的安排自己的時間觀看自己想要的視頻信息,在線視頻點播系統,為人們提供了自主選擇的功能, 讓用戶能夠隨時的觀看自己想要的視頻,在線視頻點播系統,也越來越受人們的喜愛。它符合現在人們快餐式的生活方式。 隨著視頻網站的不斷完善,功能的不斷增加,用戶數也不斷的增加,所以在線視頻點播系統將有很好的發展空間。3.2在線視頻點播系統概要設計系統的概要設計主要對系統的總體功能設計,模塊的劃分,系統數據庫如何設計進行研究。3.2.1模塊劃分本系統主要分為兩部分:視頻點播前端(用戶)前端主要功能:1.用戶選擇視頻。2.觀看視頻。3.上傳視頻。視頻點播后端(管理員)后端主要功能:1.用戶管理。2.視頻管理。3.2.2功能模塊的設計用戶權限和管理員權限,具體包括:用戶:注冊,登錄,修改個人資料,上傳視頻,播放,評論,評分,搜索管理員:登錄,用戶管理,視頻管理。3.2.3系統功能層次模塊圖注冊登薩注銷一修改個人資料上傳評論評分搜索圖323系統功能層次模塊圖3.3用戶模塊描述3.3.1用戶注冊模塊設計校驗功能有:1.驗證必填項是否有輸入。否可用。注冊成功的條件:1.所有必填項都有填。3.3.2用戶登錄模塊校驗功能有:1.驗證必填項是否有輸入。登錄成功的條件:1.用戶名已經注冊。一致。在線初頻系統管理員模塊找回密碼登薩注銷用戶管理視頻管理宣傳管理2.輸入的格式是否正確。 3.兩次密碼是否一樣,用戶名是2.相應信息的輸入格式符合條件。 3.兩次密碼一樣。2.用戶名和密碼正確。3.輸入的驗證碼與隨機產生的驗證碼圖332用戶登錄模塊流程圖2.圖332用戶登錄模塊流程圖2.相應信息的輸入格式符合條件 3.所有必填項都有填。2.輸入的格式是否正確。圖3.3.1用戶注冊模塊流程圖3.3.3個人中心校驗功能有:1.驗證必填項是否有輸入。信息修改成功的條件:1.用戶名無法修改。3.3.4視頻上傳校驗功能有:1.驗證必填項是否有輸入。視頻上傳成功的條件:1.視頻的格式是.MP4。2.圖片格式是.Jpg。3.視頻的大小是否符合上傳的大小。圖333個人中心流程圖3.3.5視頻點播actActiv...結束圖3.3.4視頻上傳流程圖用戶登錄完后,跳轉到首頁,可進行視頻的選擇和點播。用戶選擇視頻后如果視頻需要積分,則用戶需扣掉相應的積分,方能觀看,如果積分不夠則不能觀看,用戶需要購買積分后再點播方能觀看。圖3.3.5視頻點播流程圖圖3.3.5視頻點播流程圖3.3.6評論模塊用戶在觀看視頻的時候可以對該視頻進行評論,評論字數不能大于3.3.6評論模塊用戶在觀看視頻的時候可以對該視頻進行評論,評論字數不能大于500字符。發表對視頻的看法,評論時用戶必須是登錄狀態,圖336視頻評論流程圖337視頻評分模塊用戶可對當前觀看的視頻進行評分, 用戶評分是需是登錄狀態, 否則無法進行評分,最高分5分,最低分0分。3.3.8搜索模塊該模塊的功能:1.快速搜索定位影片。3.3.9找回密碼模塊該模塊的作用是:幫助用戶找回忘記的密碼。actActiv...結束結束圖3.3.7視頻評分流程圖圖3.3.8搜索模塊流程圖actActiv...actActiv...結束結束圖3.3.7視頻評分流程圖圖3.3.8搜索模塊流程圖actActiv...圖3.3.9找回密碼模塊流程圖actAc..tiv3.4管理員功能模塊描述3.4.1登錄模塊3.4管理員功能模塊描述3.4.1登錄模塊校驗功能有:1.驗證必填項是否有輸入。登錄成功的條件:1.用戶名和密碼正確。2.輸入的驗證碼與隨機產生的驗證碼一致。actActiv...登錄成功d)結束3.4.2用戶管理模塊用戶管理模塊作用:圖3.4.2用戶管理模塊用戶管理模塊作用:1.對用戶進行刪除。2.查看用戶的評論。3.查看用戶上傳的視頻。
actActiv.../開始\Lf搜索用戶廠顯示用戶列表'圖342用戶管理模塊流程圖3.4.3視頻管理模塊該模塊管理員看查看審核通過的視頻和未審核的視頻并且管理員需對用戶上傳的視頻進行審核,看是否有不良的信息, 審核通過后方能發布視頻, 前端才能觀看到該視頻,否則管理員不給以發布且刪除視頻。
actActiv...顯示未審核視頻列表[已審核視頻]f搜索[未審核視頻]、顯示已審核視頻列表顯示視頻資料審核[未通過申一[通過]actActiv...顯示未審核視頻列表[已審核視頻]f搜索[未審核視頻]、顯示已審核視頻列表顯示視頻資料審核[未通過申一[通過]結束4數據庫設計4.1系統邏輯結構設計用戶表:用戶編號,用戶名,密碼,昵稱,性別,手機號,用戶積分,頭像地址,真實姓名,身份證,郵箱,密保問題,密保答案,狀態,權限,備注視頻表:視頻編號,用戶編號,板塊編號,視頻標題,昵稱,視頻地址,視頻封面,視頻簡介,視頻積分,上傳時間,播放次數,評分,視頻狀態,備注評論表:評論編號,視頻編號,用戶編號,評論內容,昵稱,評論時間播放列表:播放編號,視頻編號,用戶編號,播放時間板塊表:板塊編號,板塊名,所屬主題,備注4.2表設計4.2.1表名的解釋Users用戶表Video視頻表Comment評論表Playlist 播放列表Board板塊表4.2.2用戶表解析類0尤許為空AINTEGER^FALSE-'自増4用戶編號(主鍵)2NVARCHAR(2D)卩FALSER¥用戶名心password"NVARCHARt20>FALSER密碼匸nickname^N\^RCHAR(20yFALSERQ昵稱衛NVARCHAR(1>FAL週性別心NVARCHARtl2>TRUEf屮手機號PuSg世心INTEGER,FALSER0心用戶積分2keadURL^NVARCHAR(30XTRUE心p頭像地址^^NVARCH點R(2D”FALSER中真實姓名Q沁屈NVARCHAR(1SXFALSER身份證卩email'NVARCHAR<20XFALSER郵箱2NVARCHAR(30>FALSE*^密保問題4NVARCHARt20>FALSER屮密保答案4tiSiaie-INTEGER*FALS&P狀態(壓刪除,1;普逋)護permission*'INTEGERSFALSE*、權限(1:用尸;2管理員)卩NVARCHAFj(100).TRUEfp備注*4.2.3視頻表解析
類嘗龍許為空門裁£(潛INTEGER^FALSER自増心視頻編號(主鍵)4INTEGER^FALSEa用戶編號4INTEGERSFALSER心板塊編號QNVAECHAR(20)*^FALSERP視頻標題QNVARCHARQ映FALSERP昵稱4陽RLfNVARCHAR<2Q)*^TRUE-'P視頻地址2護Cb附押NVAf<CHARj(20)*^TRUE-'P視頻封面衛NVARCHAR(200>FALSERP視頻簡介+“vScore^INTEGER^FALEEp2視頻積分Vtqt/oadiffne^DATEPFALSE*'4'上傳時間PpCoxatf-INTEGER^FALSE*^0"播放次數卩^Fad£?DOUBLE-'FALSE*'腳1評分(1~切仍4^INTEGER卩FALSE*'2視頻狀態(h未審核;2:審核成功)2refnarhNVARCHAR(1Q0>TRUE>P備注儀4.2.4評論表解析宇段名卞類妙允許畑:說藝INTEGERt^FALSER自増* 1評論編號(主鍵hINTEGER*^FALSER視頻編號Q跡INTEGER*^FALSER用戶編號2tConieMHVARCHAR(500)*FALSE"評論內容4rtlckn&m^^NVARCHAR(20)^FALSE*-昵稱*cDa^^'D曲E3FALSER評論時間心4.3.5播放列表解析允許肯空?說尊INTEGER^FALSE*^自増期播放編號(主鍵人INTEGERSFALSE-'視頻編號2ijJ£^INTEGER^FALSER用戶摘號QDATE*^FALSER播放時間農4.2.6板塊表解析宇段檢允許為空評#必證binINTEGER*^FALSE*'自増Q板塊編號(主鍵hNVARCHAR(10XFALSER板塊名bTff^ne^NVARCHAR(10XFALSEq所屬主題4NVARCHAR(liOO>TRUEap備注卩5界面設計5.1前臺界面設計5.1.1王界面設計讓》 i£t4?/wnI,JjjiILat-Lr^poll臺d*屮1士irihEv±I-M-lIjJItVcpAzixfclttoudET^ULi-XnlvrAvL4ZTL中臨即1nF丿廣——1
/!Or>??“J*雪;Jii5%廣d■b?.7,業卸、.::壬1]”|:;;昭:1-PflCFESSiONA'ACHjiEVtMJ^rnSCLAS忌CEI.J"L.Di^JGPPAND^TTEMTr^'F..Y-.545.1.2前臺登錄界面設計tn.t. t鶯 產;* 5'r?iTiT?5£T:£JR呼^!:廷:S':9604S':5.1.3個人中心界面設計■,刊.聲.軋*:IT*KJf.-p'.'個人申心藜密嶺I■1TtLgi5.1.4用戶注冊界面設計num注冊我的資料語ft\暢!aw丸麗A花母誕持題片JH”-. Ji■憐鬥|司"圾;<Lrvr?f7rf^?'f^希豈尤謹曲刑0加:我的上傳iNJffFntt戶呂:建J1茁碼丄杠.事梧證可;^&棵間纏:r云日-說祁忙硝工吟爼豬Q."?i> 上卡旳聞;■Sg;cfcre^ef?■韻HFtLTEt-A-ft.薊4 上構Dd閭:?:iiLjvrficjtief?aill-'.0-L2.tiSifjs霍冷 i帶時(乩'審.如■?碼“Y?r?301m衛熱民皆廬戶1■希町同.5.1.5視頻上傳界面設計工二電剛電橐民芒!■*:Sh9ififTivxjt汪?PSJK尊iEffaHE片;MX榻ar九上陸5.1.6視頻播放界面設計汐電血1tv他iti亍背 規丸 莊flXXX電膨WFF,■二*嚴巨弍上豐應血乙二■’之事遠r*A'- '5帶*F,■*d看&iTMOVH.*jMF歸連頁HL*_ei?-tutaUtrO-iTitrJ_£**?”eff:5.1.7視頻評論界面設計quitPsi5.2后臺界面設計5.2.1登錄界面設計Manager管理員登錄X5.2.2管理員界面設計■斟苗點至⑴即怕屯輛號 《戰理LI ■斟苗點至⑴即怕屯輛號 《戰理LI SS取卞越sm■ri蚪甦」祚群 欷墳專少和幡找處昭III I [~e戶齪上醐間n210&恥如】110LS臨MS-】243naa-OKi191—0C刖】2弋卜106工辭20E俯如J低5CL.02切1』卜】1aiMM015[1105233HH2冋1E2011-OH2L510*苗1閔】H円EL*L.]R上TT-jr即I6關鍵代碼6.1視頻上傳代碼publicclassVideoUploadingServletextendsHttpServlet{privatestaticfinallongserialVersionUID=1L;privateServletConfigconfig;publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");response.setContentType("text/html");PrintWriterout=response.getWriter();HttpSessionsession=request.getSession。;Useruser=(User)session.getAttribute("user");intvScore=0;java.util.Datedate=newjava.util.Date();SimpleDateFormatdateFormat=newSimpleDateFormat("yyyy-MM-dd");String path = this.getServletContext().getRealPath("\\");//path=path+"upload/";// 生成文件夾Filef=newFile(path);f.mkdirsO;// 生成文件夾\\upload\StringrelativePath="upload/"; // 沒有文件名的相對路徑 ,上傳時用SmartUploadsu=newSmartUpload。;su.initialize(getServletConfig(),request,response);
try{su.upload();//加載上傳的文件}catch(Exceptione1){頻太大了out.println("<script>alert('你傳的視頻太大了傳!'); location.replace('./uploadVideo.jsp')</scnpt>");}try{StringvCover="",vURL="";StringvTitle=su.getRequest().getParameter("vTitle");StringvPresentation=su.getRequest().getParameter("vPresentation");StringbTheme=su.getRequest().getParameter("bTheme");StringbName=su.getRequest().getParameter("bName");StringtxtvScore=su.getRequest().getParameter("vScore");if(txtvScore!=null&&!txtvScore.equals("")){try{vScore=Integer.parseInt(txtvScore);強轉')v/script>");請正確強轉')v/script>");請正確于零的out.println("<script>alert('只允許輸入整數,系統將進行inttry{vScore=(int)Double.parseDouble(txtvScore);}catch(Exceptione1){out.println("<script>alert('Sorry! 轉換失敗,入r);location.replace('./uploadVideo.jsp')</script>");return;}}}if(vScore<0){out.println("vscripAalertCSorry! 請輸入數r);1 ocation.replace('./uploadVideo.jsp')</scnpt>");return;}StringSQL="select*fromBoardwherebTheme='"+bTheme+"'andbName='"+bName+ ;List<Board>listblD=BoardDao.selectBoardBySQL(SQL);if(listbID.size()<=0){out.println("<script>alert(' 未 填 寫題!'); location.replace('./uploadVideo.jsp')</script>");return;}intblD=listblD.get(O).getblD();for(inti=0;i<su.getFiles().getCount();i++) {// 循環輸出加載文件com.jspsmart.upload.Filefile=su.getFiles().getFile(i);{// 判斷文件格式許添加mp4{// 判斷文件格式許添加mp4格式的if(!file.getFileExt().equals("mp4"))out.println("<script>alert('只允頻!'); location.replaceC./uploadVideo.jsp')</script>");
return;}Stringext=file.getFileExt();// 獲取文件格式StringsaveVurlUrl="";// 保存地址Stringfilename=String.valueOf(Calendar.getlnstance().getTimelnMillis()); //獲取當前毫秒數saveVurlUrl=relativePath+filename+bID+"."+ext;// 保存路徑Stringsql="select*fromVideowherevURL='upload/"+saveVurlUrl+//System.out.println("sql="+sql);List<Video>list=VideoDao.selectVideoBySQL(sql);//System.out.println("list="Stringsql="select*fromVideowherevURL='upload/"+saveVurlUrl+//System.out.println("sql="+sql);List<Video>list=VideoDao.selectVideoBySQL(sql);//System.out.println("list="+list.size());if(list.size()>0){out.println("<script>alert('您上傳的視頻已存在,請傳!');| ocation.replace('./uploadVideo.jsp')</script>");return;}//System.out.println("saveVurlUrl="+saveVurlUrl);file.saveAs(saveVurlUrl,su.SAVE_VIRTUAL);//vURL=saveVurlUrl;//有文件名的相對路徑,中的VURL字段}elseif(file.getFieldName().equals("vCove廣)){Hill.重新上文件另存為播放時用,要保存到VIDEO表加jpg加jpg格式out.println("<script>alert('只允許添片!'); location.replace('./uploadVideo.jsp')</script>");return;}Stringext=file.getFileExt();//獲取文件格式StringsavevCoverUrl="";//保存地址Stringfilename=String.valueOf(Calendar.getInstance().getTimeInMillis()); //獲取當前毫秒數savevCoverUrl=relativePath+filename+bID+"."+ext;//保存路徑file.saveAs(savevCoverUrl,su.SAVE_VIRTUAL);//圖片另存為vCover=savevCoverUrl;//有文件名的相對路徑,播放時用,要保存到VIDEO表中的VURL字段}System.out.printlnC'vScore="+vScore);Videovideo=newVideo(user.getuID(),bID,vTitle,user.getNickname。,vURL,vCover,vPresentation,vScore,Date.valueOf(dateFormat.format(date)),0,0,1,null);if(VideoDao.addVideo(video)){out.println("vscript>alert('視頻上傳成功!!'); location.replace('./index.jsp')</script>");}else{out.println("vscript>alert('敗!!'); location.replace('./uploadVideo.jsp')</script>");
}catch(SmartUploadExceptione){e.printStackTraceO;}}publicfinalServletConfiggetServletConfig(){returnconfig;}publicfinalvoidinit(ServletConfigservletconfig){config=servletconfig;}}6.2視頻點播代碼publicclassVideoVODServletextendsHttpServlet{publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");response.setContentType("text/html");PrintWriterout=response.getWriter();StringuID= request.getParameter("ulD").trim();StringvID= request.getParameter("vlD").trim();StringvScore= request.getParameter("vScore").trim();Videovideo=VideoDao.selectVideoByID(Integer.parseInt(vlD));if(!uID.equals("")&&ulD!=null&&!vScore.equals("")&&vScore!=null&&!vlD.equals("")&&vlD!=null){Useruser=UserDao.selectUserBylD(lnteger.parselnt(ulD));if(user==null){out.print("非法用戶");return;}if(lnteger.parseInt(uID)==video.getuID()){”);vlD="+Integer.parseInt(vlD)+"andout.print("您是視頻上傳者,可以免費觀看!return;”);vlD="+Integer.parseInt(vlD)+"and}intuscore=user.getuScore();Stringsql="select*fromPlaylistwhereuID="+Integer.parselnt(ulD);List<Playlist>list=PlaylistDao.selectPlaylistBySQL(sql);if(list.size()>0){video.setpCount(video.getpCount()+1);VideoDao.updateVideo(video);Integer.parseInt(ulD),Date.valueOf(newPlaylistplaylist=newPlaylist(lnteger.parselnt(vlD),Integer.parseInt(ulD),Date.valueOf(newSimpleDateFormat("yyyy-MM-dd").format(newjava.util.Date())));PlaylistDao.addPlaylist(playlist);out.print("您播放過此影片,可免費觀看!");return;if(uscore>=lnteger.parselnt(vScore)){user.setuScore(uscore-Integer.parselnt(vScore));//扣除觀看視頻用戶積分UserDao.updateUser(user);// 添加視頻觀看歷史記錄Playlist Playlist=newelseelsePlaylist(lnteger.parselnt(vlD),Integer.parselnt(ulD),Date.valueOf(newSimpleDateFormat("yyyy-MM-dd").format(newjava.util.Date())));上傳者加積分(只加視頻積分的一半,另一半給網站管理員)UservideoUser=UserDao.selectUserByID(video.getuID());intvideoUserScore=(int)(lnteger.parselnt(vScore)/2); //視頻上傳者獲得的積分intvideoAdminScore=lnteger.parselnt(vScore)-videoUserScore;//網站管理員獲得的積分videoUser.setu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 零信任安全架構性能優化-全面剖析
- Java線程資源分配優化-全面剖析
- 鋼拱橋抗疲勞性能研究-全面剖析
- 城市雨水花園建設與生態修復2025年海綿城市建設報告
- 針對2025年城市道路拓寬改造的社會穩定風險評估與風險評估報告推廣應用報告
- 深度解析2025年家居行業線上線下融合模式創新與消費者購物決策研究報告
- 單位蔬菜采購合同樣本
- 北京牌照背戶合同樣本
- 農村宰羊售賣合同范例
- grc構件安裝合同標準文本
- 淺談小學體育課堂引入民間體育游戲的嘗試與創新
- 慢阻肺病人健康宣教課件
- 煤礦反三違培訓課件
- 六年級下冊《生命.生態.安全》全冊教案
- 關于粵語傳承與保護現狀的調查報告
- JGT491-2016 建筑用網格式金屬電纜橋架
- 阿那亞分析研究報告
- Windows 7安全配置基線檢查指導文件
- 油氣分離器液氣分離器
- 免疫組庫測序技術介紹
- 張莊煤礦閉坑礦井水害安全評估
評論
0/150
提交評論