JAVAWEB應(yīng)用開發(fā)報(bào)告42頁_第1頁
JAVAWEB應(yīng)用開發(fā)報(bào)告42頁_第2頁
JAVAWEB應(yīng)用開發(fā)報(bào)告42頁_第3頁
JAVAWEB應(yīng)用開發(fā)報(bào)告42頁_第4頁
JAVAWEB應(yīng)用開發(fā)報(bào)告42頁_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、JavaWeb應(yīng)用開發(fā)課程報(bào)告 學(xué) 院 管理學(xué)院 專 業(yè) 電子商務(wù) 年級(jí)班別 14級(jí)(2)班 姓 名 梁偉彬 學(xué) 號(hào) 3114004987 指導(dǎo)老師 胡鳳 2016年12月目錄1 主要功能模塊介紹(截圖、文字說明)2設(shè)計(jì)概述:21.1各功能模塊表結(jié)構(gòu)及表關(guān)系31.2用戶登錄模塊(ajax)31.3用戶注冊模塊(增,ajax)31.4用戶修改資料模塊(改)41.5首頁視圖及注銷51.6主要業(yè)務(wù)1用戶上傳模塊(增,上傳文件)51.7主要業(yè)務(wù)2用戶搜索模塊(查)61.8主要業(yè)務(wù)3文件下載和刪除(刪)62 開發(fā)環(huán)境及配置(截圖、文字說明)72.1開發(fā)環(huán)境搭建72.2全局配置文件創(chuàng)建103 項(xiàng)目包層次結(jié)

2、構(gòu)(截圖)144各模塊代碼實(shí)現(xiàn)及測試(截圖、文字說明)154.1各模塊代碼實(shí)現(xiàn)154.2配置文件344.3運(yùn)行測試35項(xiàng)目開發(fā)小結(jié)411 主要功能模塊介紹(截圖、文字說明)設(shè)計(jì)概述:本次小項(xiàng)目的設(shè)計(jì)我編寫的是一個(gè)網(wǎng)盤,參考了115網(wǎng)盤的樣式來構(gòu)建我的網(wǎng)盤。這個(gè)小網(wǎng)盤注冊登陸后能上傳下載2M以內(nèi)的文件。其中運(yùn)用的javaweb方面的知識(shí)點(diǎn)有:MVC開發(fā)模式(servlet+DAO+JSP),session的設(shè)置,DAO開發(fā),過濾器(登錄驗(yàn)證),ajax異步驗(yàn)證,tomcat數(shù)據(jù)庫連接池,文件的上傳下載,分頁功能。117diskfilesuserVarcharfilenamevarcharfile

3、sizeFloatFiletimeVarcharFileidintFK_117diskfiles1.1 各功能模塊表結(jié)構(gòu)及表關(guān)系117diskusersuservarcharpwdvarcharnamevarchardormvarcharbedvarchar1.2 用戶登錄模塊(ajax)用戶登錄模塊,輸入賬號(hào)、密碼和驗(yàn)證碼,用javascriptit保證了這三項(xiàng)不能為空,然后登陸的驗(yàn)證交給LoginServlet來做,驗(yàn)證碼用了ajax異步驗(yàn)證是否輸入正確。1.3 用戶注冊模塊(增,ajax)用戶注冊模塊,需要填寫5項(xiàng)資料。第1項(xiàng)資料同樣用了ajax異步驗(yàn)證來判斷學(xué)號(hào)是否已經(jīng)存在,另外的4項(xiàng)

4、都用javascript來控制驗(yàn)證了它們的格式,全部符合要求之后才能提交給RegisterServlet來處理注冊,并插入117diskusers數(shù)據(jù)庫。1.4 用戶修改資料模塊(改)用戶資料修改,基本沿用了注冊頁面的代碼,做了一點(diǎn)點(diǎn)小的修改,用戶不能修改自己的學(xué)號(hào),并且修改也要全部符合要求后才能提交,并且更新117diskusers數(shù)據(jù)庫數(shù)據(jù)。1.5 首頁視圖及注銷登陸后的首頁視圖,點(diǎn)擊右上角并確認(rèn)可以實(shí)現(xiàn)用戶注銷,清空登錄時(shí)設(shè)下的session。1.6 主要業(yè)務(wù)1用戶上傳模塊(增,上傳文件)用戶上傳模塊,這一塊用了smartupload組件來實(shí)現(xiàn)上傳。因?yàn)橛玫氖莌ttp協(xié)議來進(jìn)行上傳,所以

5、用戶只能上傳2M以內(nèi)的文件。點(diǎn)擊瀏覽并選擇相應(yīng)的文件即可上傳,上傳后會(huì)有成功或失敗的信息反饋,成功的話會(huì)即刻在下面的文件列表中分頁列出剛上傳的文件。1.7 主要業(yè)務(wù)2用戶搜索模塊(查)用戶搜索,在搜索框輸入連續(xù)的搜索關(guān)鍵字,下面的文件列表會(huì)分頁列出找到的相關(guān)文件。1.8 主要業(yè)務(wù)3文件下載和刪除(刪)文件下載和刪除,點(diǎn)擊下載或者刪除按鈕,回傳相應(yīng)的文件id,實(shí)現(xiàn)功能。2 開發(fā)環(huán)境及配置(截圖、文字說明)122.1 開發(fā)環(huán)境搭建軟件環(huán)境、硬件環(huán)境、開發(fā)工具、開發(fā)實(shí)現(xiàn)模式(最低等級(jí)要求:JSP+DAO)【軟件環(huán)境】:window10【開發(fā)工具】:Eclipse,MySQL,tomcat7.0,jd

6、k1.8,navicat1、JAVA環(huán)境變量的配置安裝好JDK之后配置path,JAVA_HOME等環(huán)境變量j Path的取值為:C:Program Files (x86)Javajdk1.8.0_11bink JAVA_HOME取值為:C:Program Files (x86)Javajdk1.8.0_112、MySQL的配置我下載的是mysql的解壓版,只要將mysql加入服務(wù)并且配置好環(huán)境變量與相應(yīng)的配置文件即可使用 Mysql的環(huán)境變量配置:path中添加mysql的bin目錄路徑 修改mysql的配置文件my-default.ini:添加mysql所在目錄及data文件夾所在目錄 安

7、裝mysql服務(wù):將mysqld.exe拖進(jìn)cmd窗口,并且install之后即可成功啟動(dòng)登錄mysql3、tomcat7.0的配置tomcat7.0的環(huán)境變量的配置:CATALINA_BASE、CATALINA_HOME、TOMCAT_HOME:E:tomcat7.0apache-tomcat-7.0.73等配置安裝和配置tomcat成功后訪問http:/localhost:8080出現(xiàn)以下頁面:4、navicat的安裝使用Navicat下載的是破解版,破解的步驟就不在這里述說,截圖展示一下運(yùn)行的畫面?!鹃_發(fā)模式】:MVC (DAO+JSP+Servlet)Controller層是多個(gè)ser

8、vlet,View層是多個(gè)jsp,Model層是DAO,但本項(xiàng)目并沒有使用請求分發(fā)器。2.2 全局配置文件創(chuàng)建Tomcat服務(wù)器配置(端口號(hào)、虛擬目錄、首頁等)、組件包導(dǎo)入、配置及映射(數(shù)據(jù)庫連接/連接池、標(biāo)簽庫、文件上傳、SSH包等) 【將tomcat配置到eclipse中】:window-preference-Server-Runtime Environment-Add找到tomcat的安裝路徑: 【tomcat的端口號(hào)(server.xml)】:特別說明,本人因?yàn)橥瑫r(shí)在自學(xué)php的原因,php的apache用的是80端口,所以我并沒有修改Tomcat的端口號(hào),依然采用默認(rèn)的8080端口。

9、 【tomcat的首頁文件配置(web.xml)】:采用的也是默認(rèn)配置 【虛擬目錄配置(web.xml)】: 【smartupload包,數(shù)據(jù)庫驅(qū)動(dòng)包的導(dǎo)入】:我將這兩個(gè)包直接放進(jìn)了tomcat的lib文件夾里面,在eclipse的導(dǎo)視圖中便可以看到這兩個(gè)包已經(jīng)被包含進(jìn)來了。 【數(shù)據(jù)庫連接池文件配置(context.xml)】:本次使用的是tomcat的數(shù)據(jù)庫連接池,先在META-INF文件夾下建立context.xml,然后往里面添加內(nèi)容: 【各種servlet,過濾器的配置映射(web.xml)】:登錄過濾器配置web.xml:各種servlet的配置映射(這里只列舉其中一個(gè)servlet

10、的配置,其他類推)3 項(xiàng)目包層次結(jié)構(gòu)(截圖)整個(gè)項(xiàng)目的結(jié)構(gòu)及文件層次示意圖: 4各模塊代碼實(shí)現(xiàn)及測試(截圖、文字說明)123344.1 各模塊代碼實(shí)現(xiàn) 【VO.Account類】:負(fù)責(zé)存儲(chǔ)和提供用戶對象的屬性信息。這里截取代碼的一部分,展示user屬性的getter與setter方法,其他屬性的getter與setter方法類似。該類里面全是屬性的get與set方法?!綱O. UploadFile類】:負(fù)責(zé)存儲(chǔ)和提供上傳文件對象的屬性信息。這里截取代碼的一部分,展示filename屬性的getter與setter方法,其他屬性的getter與setter方法類似。該類里面全是屬性的get與se

11、t方法。 【dao.IUserNFileDAO類】:定義了用戶登錄注冊,文件上傳下載等操作的接口。【dao.UserNFileDAOImpl類】:DAO接口的真實(shí)實(shí)現(xiàn)類,完成具體的用戶注冊、登錄、信息修改操作, 文件上傳、下載、刪除操作。創(chuàng)建新用戶方法:用戶資料修改方法:獲得特定用戶對象方法:判斷用戶是否存在方法:獲取用戶名字的方法:按賬號(hào)查找密碼的方法:新上傳文件插入數(shù)據(jù)庫的方法:獲取用戶所有上傳文件的方法:按用戶名查找用戶文件的方法:按照文件ID查找對應(yīng)文件方法:通過文件ID刪除文件方法:【dao. UserNFileDAOProxy類】:DAO接口的代理實(shí)現(xiàn)類,完成具體的數(shù)據(jù)庫打開與關(guān)閉

12、操作。以及用戶注冊、登錄、信息修改操作, 文件上傳、下載、刪除操作的異常拋出?;旧显擃惖姆椒ǘ紝?yīng)UserNFileDAOImpl類的方法,只是做了數(shù)據(jù)庫連接的打開與關(guān)閉和異常的拋出,這里只展示其中一個(gè)對應(yīng)方法的截圖,其他對應(yīng)方法可查看源文件。 【dbc.DatabaseConnection類】:該類通過配置數(shù)據(jù)庫連接池,獲取數(shù)據(jù)庫連接對象。 【factory.DAOFactory類】:該類提供獲取一個(gè)DAO對象的方法。 【filters.LoginFilter類】:用過濾器對用戶是否登錄做一個(gè)驗(yàn)證。其中登錄,注冊頁面,css,js,圖片加載地址等放行。 【servlets. CheckUs

13、erServlet類】:用于檢查注冊的用戶賬號(hào)是否已經(jīng)存在,ajax異步返回檢查的結(jié)果?!緎ervlets. DeleteServlet類】:獲取文件id,并通過id刪除數(shù)據(jù)庫數(shù)據(jù)以及文件,并返回相應(yīng)信息?!緎ervlets.DownloadServlet類】:使用smartupload的下載方法下載文件?!緎ervlets. LoginServlet類】:對用戶賬號(hào)密碼的登錄驗(yàn)證,成功就跳轉(zhuǎn)index.jsp,失敗則返回相應(yīng)信息,并返回登錄頁面。【servlets.ModifyServlet類】:通過session中的user賬號(hào)獲得用戶對象并進(jìn)行修改,成功跳轉(zhuǎn)到首頁,失敗則返回修改頁面。【

14、servlets. RegisterServlet類】:向數(shù)據(jù)庫中添加用戶數(shù)據(jù),成功跳轉(zhuǎn)到登錄頁,失敗則返回注冊頁?!緎ervlets.UploadServlet類】:該類實(shí)現(xiàn)了文件上傳功能,并且根據(jù)上傳結(jié)果返回相應(yīng)信息,顯示在index.jsp中【servlets. ValidateServlet類】:該類負(fù)責(zé)比較輸入的驗(yàn)證碼是否匹配,通過ajax異步返回比較結(jié)果。 【index.jsp文件】:項(xiàng)目的首頁,用于展示上傳界面,上傳的文件列表界面?!綥ogin.jsp頁面】:項(xiàng)目的登錄界面?!綥ogOut.jsp頁面】:用戶注銷的處理?!綧odify.jsp頁面】:用戶資料修改頁面?!綬egis

15、ter.jsp頁面】:用戶注冊頁面,js驗(yàn)證輸入格式。【validate.jsp頁面】:生成驗(yàn)證碼并打印。【Success.jsp頁面】:用于接受所有成功操作后返回的信息進(jìn)行顯示,并跳轉(zhuǎn)到指定頁面?!綞rror.jsp頁面】:用于接受所有失敗操作后返回的信息進(jìn)行顯示,并跳轉(zhuǎn)到上一步頁面。4.2 配置文件【數(shù)據(jù)庫連接池文件配置(context.xml)】:本次使用的是tomcat的數(shù)據(jù)庫連接池,先在META-INF文件夾下建立context.xml,然后往里面添加內(nèi)容:【各種servlet,過濾器的配置映射(web.xml)】:登錄過濾器配置web.xml:各種servlet的配置映射(這里只列

16、舉其中一個(gè)servlet的配置,其他類推,詳細(xì)請查看項(xiàng)目的web.xml)4.3 運(yùn)行測試 【注冊功能】【登錄功能】: 【用戶資料修改功能】: 【上傳文件功能】: 【文件下載功能】: 【文件刪除功能】:項(xiàng)目開發(fā)小結(jié)關(guān)于這次的javaweb課程設(shè)計(jì),我有很多很深的感觸與體會(huì)。首先,我自己平時(shí)有在學(xué)另一種web語言php,所以我在做這個(gè)javaweb的過程中發(fā)現(xiàn)其實(shí)有很多東西的原理是一樣的。比如設(shè)計(jì)模式,開發(fā)模式等等。只是各自實(shí)現(xiàn)的語法不通,難怪總有些前輩說語言都是相通的,語法知識(shí)細(xì)枝末節(jié)的東西,通過這一次小項(xiàng)目的編寫,我算是深有體會(huì)了。其次,在這次小項(xiàng)目中我加入了不少css和js的前端的東西,j

17、avaweb是一門后臺(tái)語言,這里加入這些東西只是為了我的界面稍微好看一點(diǎn)。本來以為調(diào)一下樣式是一件很快得事情,但是沒想到其實(shí)我發(fā)在這上面的時(shí)間甚至比我寫javaweb的時(shí)間要多上一點(diǎn),瞬間就明白前端的工作者為什么也能稱作為前端工程師了,任何一個(gè)領(lǐng)域你想做好都是需要耐心和學(xué)習(xí)的,沒有一蹴而就的事情。后端如此,前端如此,任何一門語言如此。再次,就是這次的項(xiàng)目加深了我對java這門語言的理解和體會(huì)。我學(xué)php的一個(gè)原因是我以前覺得java的語法太死,因?yàn)槭且婚T強(qiáng)語言的關(guān)系,大一的時(shí)候?qū)W習(xí)java總有很多不理解的地方。但是現(xiàn)在漸漸使用多了就明白到強(qiáng)語言有強(qiáng)語言的優(yōu)勢,它的出現(xiàn)必然有它的道理。對比過其它

18、語言才知道,其實(shí)原理大家都是差不多的,并且java可以做到php可以做的事情,php就做不到很多java可以做的事情了。這樣的角度想想之后就發(fā)現(xiàn)其實(shí)java的語法雖然不算簡潔,但是讀起來也是很有邏輯的。所以我這段時(shí)間來對java有了質(zhì)的改觀,寫起代碼來也不會(huì)想以前一樣那么不情愿和一知半解了。另外,不得不說自己親手做一個(gè)小項(xiàng)目出來才是最鍛煉人和檢驗(yàn)知識(shí)學(xué)習(xí)水平的。我們知道書上的代碼是這樣寫的,知道這樣tomcat就能配置好,知道程序這樣就能運(yùn)行,但是我們不知道自己親手做的時(shí)候會(huì)不會(huì)也向書本那樣順利的就配好所有東西。只有親自做過了,才知道原來書本善有些代碼已經(jīng)過時(shí)了,有些代碼是書本上自己寫錯(cuò)了,有更好的方法可以代替書本上的方法

溫馨提示

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

評論

0/150

提交評論