【正文】
)從視圖角度(View)視圖是用戶看到并與之交互的界面。對(duì)老式的Web應(yīng)用程序來說 ,視圖就是由HTML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮,它們包括Adobe Flash和象XHTML,XML/XSL,WML等一些標(biāo)識(shí)語言和Web services.MVC好處是它能為應(yīng)用程序處理很多不同的視圖。在視圖中其實(shí)沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機(jī)存儲(chǔ)的還是一個(gè)雇員列表,作為視圖來講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。(2)從模型角度(Model)模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個(gè)部件中,模型擁有最多的處理任務(wù)。例如它可能用象EJBs和ColdFusion Components這樣的構(gòu)件對(duì)象來處理數(shù)據(jù)庫,被模型返回的數(shù)據(jù)是中立的,就是說模型與數(shù)據(jù)格式無關(guān),這樣一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù),由于應(yīng)用于模型的代碼只需寫一次就可以被多個(gè)視圖重用,所以減少了代碼的重復(fù)性。從控制器角度(Controller)控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求,所以當(dāng)單擊Web頁面中的超鏈接和發(fā)送HTML表單時(shí),控制器本身不輸出任何東西和做任何處理。它只是接收請(qǐng)求并決定調(diào)用哪個(gè)模型構(gòu)件去處理請(qǐng)求,然后再確定用哪個(gè)視圖來顯示返回的數(shù)據(jù)。圖61 MVC MVC 采用MVC框架的原因耦合性低視圖層和業(yè)務(wù)層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼,同樣,一個(gè)應(yīng)用的業(yè)務(wù)流程或者業(yè)務(wù)規(guī)則的改變只需要改動(dòng)MVC的模型層即可。因?yàn)槟P团c控制器和視圖相分離,所以很容易改變應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。模型是自包含的,并且與控制器和視圖相分離,所以很容易改變應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。如果把數(shù)據(jù)庫從MySQL移植到Oracle,或者改變基于RDBMS數(shù)據(jù)源到LDAP,只需改變模型即可。一旦正確的實(shí)現(xiàn)了模型,不管數(shù)據(jù)來自數(shù)據(jù)庫或是LDAP服務(wù)器,視圖將會(huì)正確的顯示它們。由于運(yùn)用MVC的應(yīng)用程序的三個(gè)部件是相互獨(dú)立,改變其中一個(gè)不會(huì)影響其它兩個(gè),所以依據(jù)這種設(shè)計(jì)思想能構(gòu)造良好的松耦合的構(gòu)件。重用性高隨著技術(shù)的不斷進(jìn)步,需要用越來越多的方式來訪問應(yīng)用程序。MVC模式允許使用各種不同樣式的視圖來訪問同一個(gè)服務(wù)器端的代碼,因?yàn)槎鄠€(gè)視圖能共享一個(gè)模型,它包括任何WEB(HTTP)瀏覽器或者無線瀏覽器(wap),比如,用戶可以通過電腦也可通過手機(jī)來訂購某樣產(chǎn)品,雖然訂購的方式不一樣,但處理訂購產(chǎn)品的方式是一樣的。由于模型返回的數(shù)據(jù)沒有進(jìn)行格式化,所以同樣的構(gòu)件能被不同的界面使用。例如,很多數(shù)據(jù)可能用HTML來表示,但是也有可能用WAP來表示,而這些表示所需要的命令是改變視圖層的實(shí)現(xiàn)方式,而控制層和模型層無需做任何改變。由于已經(jīng)將數(shù)據(jù)和業(yè)務(wù)規(guī)則從表示層分開,所以可以最大化的重用代碼了。模型也有狀態(tài)管理和數(shù)據(jù)持久性處理的功能,例如,基于會(huì)話的購物車和電子商務(wù)過程也能被Flash網(wǎng)站或者無線聯(lián)網(wǎng)的應(yīng)用程序所重用。生命周期成本低MVC使開發(fā)和維護(hù)用戶接口的技術(shù)含量降低。部署快使用MVC模式使開發(fā)時(shí)間得到相當(dāng)大的縮減,它使程序員(Java開發(fā)人員)集中精力于業(yè)務(wù)邏輯,界面程序員(HTML和JSP開發(fā)人員)集中精力于表現(xiàn)形式上??删S護(hù)性高分離視圖層和業(yè)務(wù)邏輯層也使得WEB應(yīng)用更易于維護(hù)和修改。有利軟件工程化管理由于不同的層各司其職,每一層不同的應(yīng)用具有某些相同的特征,有利于通過工程化、工具化管理程序代碼??刂破饕蔡峁┝艘粋€(gè)好處,就是可以使用控制器來聯(lián)接不同的模型和視圖去完成用戶的需求,這樣控制器可以為構(gòu)造應(yīng)用程序提供強(qiáng)有力的手段。給定一些可重用的模型和視圖,控制器可以根據(jù)用戶的需求選擇模型進(jìn)行處理,然后選擇視圖將處理結(jié)果顯示給用戶。 控制層系統(tǒng)的整體實(shí)現(xiàn)辦公用品管理模塊實(shí)現(xiàn)的Servlet:loginservlet:管理員和一般用戶登陸的ServletNewsServlet:一般用戶的留言和總務(wù)部門發(fā)布信息的ServletProductServlet:管理員增山查改辦公用品信息的ServletUsersServlet::管理員管理一般用戶信息的Servlet 后臺(tái)業(yè)務(wù)邏輯的實(shí)現(xiàn)(1)ActionForm的創(chuàng)建ActionForm 是一個(gè)JavaBean ,擴(kuò)展了 。這個(gè)對(duì)象捕獲通過請(qǐng)求傳送的輸入。當(dāng)瀏覽器提交一個(gè)表單,它在請(qǐng)求中為每個(gè)表單中的字段創(chuàng)建一個(gè)參數(shù)。ActionForm 針對(duì)每個(gè)HTML表單中的字段具有一個(gè)對(duì)應(yīng)的屬性。ActionServlet 匹配請(qǐng)求中的參數(shù)和ActionForm中的屬性。當(dāng)匹配好后,ActionServlet 為屬性調(diào)用setter方法,并將請(qǐng)求中的值傳入。(2)Product類的實(shí)現(xiàn)Product類實(shí)際上就是javaBean,它封裝屬性和set,get方法,同時(shí)也是對(duì)數(shù)據(jù)庫表的一種映射,數(shù)據(jù)庫中的表以類的形式表現(xiàn)出來了,體現(xiàn)的面向?qū)ο蟮脑O(shè)計(jì)思想。: 封裝的數(shù)據(jù)庫對(duì)應(yīng)的Products表中的數(shù)據(jù)。(3)業(yè)務(wù)邏輯類的實(shí)現(xiàn): 封裝了辦公用品管理模塊的所有業(yè)務(wù)方法,以供Action調(diào)用。 前臺(tái)頁面的實(shí)現(xiàn)表示層使用EL表達(dá)式獲取數(shù)據(jù),更有效的優(yōu)化JSP頁面,使用servlet獲取所有請(qǐng)求,根據(jù)不同的請(qǐng)求調(diào)用相應(yīng)的DAO方法處理數(shù)據(jù),使用JavaScript進(jìn)行信息的驗(yàn)證。7 Handy辦公用品管理模塊的系統(tǒng)測(cè)試因?yàn)樵谙到y(tǒng)的生命周期的各個(gè)階段都有可能產(chǎn)生差錯(cuò),所以對(duì)于系統(tǒng)的測(cè)試是貫穿于系統(tǒng)整個(gè)開發(fā)的全過程。 辦公用品管理模塊的系統(tǒng)測(cè)試本系統(tǒng)所有測(cè)試是由本人親自實(shí)現(xiàn)的。在此次測(cè)試中,采用了人工測(cè)試的方法。首先,本人根據(jù)程序和數(shù)據(jù)庫的設(shè)計(jì)思路,設(shè)計(jì)了一套用來測(cè)試的方法,選取了一系列數(shù)據(jù)用來測(cè)試系統(tǒng)。在這里舉例說明測(cè)試的結(jié)果。(1)在用戶登陸窗口,不輸入用戶名。圖71 測(cè)試結(jié)果1 chart of Test result 1(2)在用戶登陸窗口,輸入用戶名,不輸入密碼。 測(cè)試結(jié)果2 chart of Test result 2(3)輸入用戶名,然后輸入錯(cuò)誤的密碼。 測(cè)試結(jié)果3 chart of Test result 3 本系統(tǒng)存在的缺點(diǎn)與不足由于時(shí)間的倉促以及本人的能力有限,因此在本系統(tǒng)中還存在很多問題有待解決。例如,查詢的功能不夠強(qiáng)大、變動(dòng)記錄沒能實(shí)現(xiàn)、測(cè)試不完全等等。8 總結(jié)與展望每個(gè)大學(xué)生在走向社會(huì)之前都將經(jīng)歷過畢業(yè)設(shè)計(jì)這個(gè)重要的環(huán)節(jié)。畢業(yè)設(shè)計(jì)就相當(dāng)于是踏入到社會(huì)之前的一次大練兵,每個(gè)學(xué)生都可以將在大學(xué)里所學(xué)到的知識(shí)和理論通過畢業(yè)設(shè)計(jì)充分的展現(xiàn)出來。在這個(gè)過程中我發(fā)現(xiàn)了許多還沒有掌握的知識(shí),同時(shí)也會(huì)學(xué)到一些課本上所學(xué)不到的內(nèi)容。通過這次畢業(yè)設(shè)計(jì)我不僅鍛煉了自學(xué)能力同時(shí)還培養(yǎng)了一種協(xié)同合作的團(tuán)隊(duì)精神。辦公自動(dòng)化系統(tǒng)的辦公用品管理模塊從系統(tǒng)的規(guī)劃、分析、設(shè)計(jì)基本都是按系統(tǒng)開發(fā)的步驟來進(jìn)行的。因而該系統(tǒng)符合系統(tǒng)開發(fā)基本要求,具備系統(tǒng)簡(jiǎn)便易學(xué)、安全可靠、針對(duì)性強(qiáng)、可擴(kuò)充等特點(diǎn)。當(dāng)然此系統(tǒng)也還存在待完善之處,如查詢的功能不夠強(qiáng)大等。我將不斷的學(xué)習(xí)新知識(shí),努力完善系統(tǒng)的不足之處,不斷的積累經(jīng)驗(yàn),迎接新的挑戰(zhàn)。時(shí)光是短暫的,回過頭來想一想這三年來所度過的每一天,都好像是發(fā)生在昨天。大學(xué)的學(xué)習(xí)生活是豐富多彩的,我會(huì)永遠(yuǎn)懷念這段美好的時(shí)光。懷念這里每一位曾經(jīng)教過及沒教過我的各位老師,以及東軟學(xué)院的一草一木。畢業(yè)設(shè)計(jì)雖然結(jié)束了,但它也標(biāo)志著一種新的起點(diǎn)的開始,等待我的將會(huì)是社會(huì)這個(gè)大舞臺(tái),也許在這個(gè)舞臺(tái)上,我不是最優(yōu)秀的,但我一定是努力的、充滿熱情的、積極的、堅(jiān)強(qiáng)的。通過這次畢業(yè)設(shè)計(jì),我再次深刻的理解了一句話“成功永遠(yuǎn)是屬于有準(zhǔn)備的人?!敝轮x在朱翠苗老師的悉心指導(dǎo)下,我的畢業(yè)設(shè)計(jì)終于完成了,也畫上了一個(gè)完美的句號(hào)。首先請(qǐng)?jiān)试S我向所有教導(dǎo)過我的老師們,說聲:“老師,你們辛苦了,謝謝你們?cè)谶@三年中對(duì)我的諄諄教誨,是你們的幫助與教導(dǎo)奠定了我完成此項(xiàng)目的基礎(chǔ),我再次地感謝你們!”在此,我感謝學(xué)校對(duì)我們的嚴(yán)格要求,促使我嚴(yán)格遵守學(xué)校的安排,能按時(shí)完成畢業(yè)設(shè)計(jì)任務(wù),感謝學(xué)校在畢業(yè)設(shè)計(jì)期間給我提供了良好的學(xué)習(xí)環(huán)境和便利的學(xué)習(xí)條件。由衷地感謝朱翠苗老師對(duì)我的關(guān)懷和指導(dǎo),老師淵博的專業(yè)知識(shí)、嚴(yán)密的邏輯思維、認(rèn)真負(fù)責(zé)的工作態(tài)度、嚴(yán)謹(jǐn)?shù)闹螌W(xué)風(fēng)格,給予了我極大的鼓勵(lì)和幫助。真誠地感謝庾佳老師、俞國紅老師、金靜梅老師、史桂紅老師。在我遇到的問題和困難時(shí)候,老師們都給予了我細(xì)心的解答和真誠的幫助。我還特別感謝在整個(gè)畢業(yè)設(shè)計(jì)期間給予我?guī)椭耐瑢W(xué)徐亮、周浩、耿至劍,在我最困難的時(shí)候,他們以最大的耐心幫助我,給了我極大的技術(shù)支持和心理激勵(lì)。感謝所有人,感謝所有在這不同尋常的日子里給我支持和鼓勵(lì)的人,在這里,我再次向你們表示深深的感謝,獻(xiàn)上我衷心地祝愿,愿生活中最美好的東西永遠(yuǎn)和你們相伴! 健雄職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)參考文獻(xiàn)[1] Web開發(fā)技術(shù)[M].中國電力出版社,[2][M].中國電力出版社,[3][M].中國電力出版,[4][M].清華大學(xué)出版社,[5][M].人民郵電出版社,2005[6][M].北京:希望電子出版社,2003[7][M].高等教育出版社,[8]Brown(等).JSP編程指南[M].電子工業(yè)出版社,[9][M].機(jī)械工業(yè)出版社,[10][M].人民郵電出版社,2007[11][M].機(jī)械工業(yè)出版社,[13][M].機(jī)械工業(yè)出版社,[14] 應(yīng)用開發(fā)[M].電子工業(yè)出版社,[15][M].中國人民大學(xué)出版社