




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 PAGE31 / NUMPAGES36 分類(lèi)號(hào):TP311.52 U D C:D10621-408-(2013)2054-0密 級(jí):公 開(kāi) 編 號(hào):2009102061信息工程學(xué)院學(xué)位論文基于JSF的失物招領(lǐng)登記系統(tǒng)論文 XXX申請(qǐng)學(xué)位專(zhuān)業(yè):通信工程申請(qǐng)學(xué)位類(lèi)別:工學(xué)學(xué)士指導(dǎo)教師(職稱(chēng)):XXX(教授)論文提交日期:2013年06月05日基于JSF的失物招領(lǐng)登記系統(tǒng)摘 要校公告欄上時(shí)常會(huì)有各種尋物啟示,但很少有人真正去問(wèn)津,去了解和關(guān)心別人的心情,貼啟示者更是在花費(fèi)了印務(wù)費(fèi)用之后,卻達(dá)不到應(yīng)有的效果。為解決此問(wèn)題,我們計(jì)劃開(kāi)發(fā)失物招領(lǐng)登記系統(tǒng),為信息時(shí)代的學(xué)生提供了更多的便利。通過(guò)該應(yīng)用系統(tǒng)
2、,注冊(cè)者可以登記自己的失物信息,并按時(shí)間順序在主頁(yè)上顯示,任何人都可以看到一個(gè)集中的校失物尋物信息與其聯(lián)系人和聯(lián)系方式,為在校學(xué)生提供了更廉價(jià)便捷的失/拾物方式。以J2EE作為開(kāi)發(fā)基礎(chǔ),使用了JSF等多種協(xié)議或技術(shù),用MyEclipse作為開(kāi)發(fā)工具,以O(shè)racle公司的MySql作為數(shù)據(jù)庫(kù),開(kāi)發(fā)實(shí)現(xiàn)了基于web技術(shù)的在線(xiàn)失物招領(lǐng)登記系統(tǒng)。系統(tǒng)實(shí)現(xiàn)了的以下主要功能模塊,包括:管理員權(quán)限,管理和維護(hù);用戶(hù)注冊(cè)、登錄、注銷(xiāo),個(gè)人信息的查詢(xún)、修改;物品管理,查看;廣告添加,修改。經(jīng)測(cè)試驗(yàn)證,該在線(xiàn)失物招領(lǐng)登記系統(tǒng)界面簡(jiǎn)單、操作方便,容易維護(hù)。關(guān)鍵詞:失物招領(lǐng); j2EE; JSF; MySqlThe
3、Lost and Found Registration System Based on JSFAbstractThere are often few of lost objects on campus bulletin boards, but just a little of people actually interested in them, understand and care about others mood, paste the enlightenment is after spending printing costs, but fail to achieve the desi
4、red effect.In order to solve this problem, we plan to develop the lost property registration system, provide more convenience for the information age students. By the application, registration can register their lost information, and according to the time sequence on the home page display, anyone ca
5、n see a centralized campus lost information and contacts, provide more cheap and convenient way in lost and found for students.Using J2EE as development basis, using JSF and other agreements and technology, using MyEclipse as a development tool, MySql as the database, developed to achieve online los
6、t property registration system based on Web technology. The following main function modules, system include: administrator rights, management and maintenance; user registration, login, logout, query, modify personal information; lost and found information management, view; advertisement add, modify.
7、 The system has a simple interface, easy operation, and easy maintenance.Key words:Lost and Found;j2EE; JSF; MySql目錄論文總頁(yè)數(shù): 31 頁(yè) TOC o 1-3 h z u HYPERLINK l _Toc356764295 1 引言 PAGEREF _Toc356764295 h 1 HYPERLINK l _Toc356764296 1.1 課題背景 PAGEREF _Toc356764296 h 1 HYPERLINK l _Toc356764297 1.2 課題目的和意義
8、PAGEREF _Toc356764297 h 1 HYPERLINK l _Toc356764298 1.3 課題研究方法 PAGEREF _Toc356764298 h 1 HYPERLINK l _Toc356764299 1.4 論文結(jié)構(gòu) PAGEREF _Toc356764299 h 1 HYPERLINK l _Toc356764300 2 系統(tǒng)應(yīng)用的關(guān)鍵技術(shù)和工具 PAGEREF _Toc356764300 h 2 HYPERLINK l _Toc356764301 2.1 J2EE介紹 PAGEREF _Toc356764301 h 2 HYPERLINK l _Toc3567
9、64302 2.1.1 J2EE概述 PAGEREF _Toc356764302 h 2 HYPERLINK l _Toc356764303 2.1.2 J2EE優(yōu)勢(shì) PAGEREF _Toc356764303 h 2 HYPERLINK l _Toc356764304 2.2 JSF技術(shù)介紹 PAGEREF _Toc356764304 h 3 HYPERLINK l _Toc356764305 2.2.1 JSF的概述 PAGEREF _Toc356764305 h 3 HYPERLINK l _Toc356764306 2.2.2 JSF配置 PAGEREF _Toc356764306 h
10、 4 HYPERLINK l _Toc356764307 2.2.3 JSF的優(yōu)點(diǎn) PAGEREF _Toc356764307 h 4 HYPERLINK l _Toc356764308 2.3 Mysql 數(shù)據(jù)庫(kù) PAGEREF _Toc356764308 h 4 HYPERLINK l _Toc356764309 2.3.1 數(shù)據(jù)庫(kù)概述 PAGEREF _Toc356764309 h 5 HYPERLINK l _Toc356764310 2.3.2 Mysql概述 PAGEREF _Toc356764310 h 5 HYPERLINK l _Toc356764311 2.3.3 mysq
11、l的特點(diǎn) PAGEREF _Toc356764311 h 5 HYPERLINK l _Toc356764312 2.3.4 MySQL5.5安裝過(guò)程 PAGEREF _Toc356764312 h 6 HYPERLINK l _Toc356764313 2.4 Tomcat 服務(wù)器 PAGEREF _Toc356764313 h 6 HYPERLINK l _Toc356764314 2.4.1 Tomcat 服務(wù)器簡(jiǎn)介 PAGEREF _Toc356764314 h 6 HYPERLINK l _Toc356764315 2.4.2 Tomcat的特點(diǎn) PAGEREF _Toc356764
12、315 h 6 HYPERLINK l _Toc356764316 2.4.3 Tomcat的優(yōu)勢(shì) PAGEREF _Toc356764316 h 7 HYPERLINK l _Toc356764317 2.4.4 Tomcat服務(wù)器的安裝和配置 PAGEREF _Toc356764317 h 7 HYPERLINK l _Toc356764318 2.5 MyEclipse 開(kāi)發(fā)工具 PAGEREF _Toc356764318 h 8 HYPERLINK l _Toc356764319 2.5.1 MyEclipse概述 PAGEREF _Toc356764319 h 8 HYPERLINK
13、 l _Toc356764320 2.6 小結(jié) PAGEREF _Toc356764320 h 9 HYPERLINK l _Toc356764321 3系統(tǒng)需求分析和總體設(shè)計(jì) PAGEREF _Toc356764321 h 9 HYPERLINK l _Toc356764322 3.1系統(tǒng)功能需求 PAGEREF _Toc356764322 h 9 HYPERLINK l _Toc356764323 3.2系統(tǒng)角色與其功能分析 PAGEREF _Toc356764323 h 9 HYPERLINK l _Toc356764324 3.2.1系統(tǒng)支持的角色 PAGEREF _Toc356764
14、324 h 9 HYPERLINK l _Toc356764325 3.2.2系統(tǒng)角色的功能 PAGEREF _Toc356764325 h 9 HYPERLINK l _Toc356764326 3.3 總體設(shè)計(jì)思想概述 PAGEREF _Toc356764326 h 10 HYPERLINK l _Toc356764327 3.4數(shù)據(jù)庫(kù)設(shè)計(jì) PAGEREF _Toc356764327 h 11 HYPERLINK l _Toc356764328 3.4.1數(shù)據(jù)庫(kù)表設(shè)計(jì) PAGEREF _Toc356764328 h 11 HYPERLINK l _Toc356764329 3.5系統(tǒng)類(lèi)的設(shè)
15、計(jì) PAGEREF _Toc356764329 h 12 HYPERLINK l _Toc356764330 3.5.1 Entity層 PAGEREF _Toc356764330 h 12 HYPERLINK l _Toc356764331 3.5.2 DAO層 PAGEREF _Toc356764331 h 12 HYPERLINK l _Toc356764332 3.5.3 DTO層 PAGEREF _Toc356764332 h 13 HYPERLINK l _Toc356764333 3.5.4 WEB應(yīng)用層 PAGEREF _Toc356764333 h 13 HYPERLINK
16、l _Toc356764334 3.6小結(jié) PAGEREF _Toc356764334 h 14 HYPERLINK l _Toc356764335 4系統(tǒng)的詳細(xì)設(shè)計(jì) PAGEREF _Toc356764335 h 14 HYPERLINK l _Toc356764336 4.1數(shù)據(jù)庫(kù)與Entity層映射 PAGEREF _Toc356764336 h 14 HYPERLINK l _Toc356764337 4.2主要模塊的使用與界面 PAGEREF _Toc356764337 h 15 HYPERLINK l _Toc356764338 4.2.1應(yīng)用主界面 PAGEREF _Toc356
17、764338 h 15 HYPERLINK l _Toc356764339 4.2.2信息發(fā)布與管理界面 PAGEREF _Toc356764339 h 16 HYPERLINK l _Toc356764340 4.2.3用戶(hù)注冊(cè)與登錄界面 PAGEREF _Toc356764340 h 17 HYPERLINK l _Toc356764341 4.2.4超級(jí)管理員廣告管理界面 PAGEREF _Toc356764341 h 19 HYPERLINK l _Toc356764342 4.2.5超級(jí)管理員物品信息管理界面 PAGEREF _Toc356764342 h 21 HYPERLINK
18、l _Toc356764343 4.2.6超級(jí)管理員用戶(hù)管理界面 PAGEREF _Toc356764343 h 22 HYPERLINK l _Toc356764344 4.3主要模塊的設(shè)計(jì)思路與核心代碼 PAGEREF _Toc356764344 h 22 HYPERLINK l _Toc356764345 4.3.1 后臺(tái)邏輯核心 PAGEREF _Toc356764345 h 22 HYPERLINK l _Toc356764346 4.3.2 前臺(tái)顯示頁(yè)面核心代碼 PAGEREF _Toc356764346 h 25 HYPERLINK l _Toc356764347 4.4系統(tǒng)的測(cè)
19、試 PAGEREF _Toc356764347 h 27 HYPERLINK l _Toc356764348 4.5小結(jié) PAGEREF _Toc356764348 h 27 HYPERLINK l _Toc356764349 5總結(jié)與展望 PAGEREF _Toc356764349 h 28 HYPERLINK l _Toc356764350 5.1工作總結(jié) PAGEREF _Toc356764350 h 28 HYPERLINK l _Toc356764351 5.2展望 PAGEREF _Toc356764351 h 28 HYPERLINK l _Toc356764352 參考文獻(xiàn) P
20、AGEREF _Toc356764352 h 28 HYPERLINK l _Toc356764353 致 PAGEREF _Toc356764353 h 30 HYPERLINK l _Toc356764354 聲 明 PAGEREF _Toc356764354 h 311 引言1.1 課題背景隨著當(dāng)今世界進(jìn)入信息時(shí)代,Internet的飛速發(fā)展和在全球的普與給人類(lèi)生活帶來(lái)革命性的改變,Internet將傳統(tǒng)意義上的物理空間轉(zhuǎn)變成電子空間,把人們帶入了一個(gè)網(wǎng)絡(luò)社會(huì)中,網(wǎng)絡(luò)時(shí)代的到來(lái),帶給人們的不只是快捷、方便,它帶來(lái)的是劃時(shí)代的進(jìn)步1。校應(yīng)用的興起,為信息時(shí)代的學(xué)生提供了更多的便利,失物招領(lǐng)
21、登記系統(tǒng)也正是基于這個(gè)想法。公告欄上時(shí)常會(huì)有各種尋物啟示,但很少有人真正去問(wèn)津,去了解和關(guān)心別人的心情,貼啟示者更是在花費(fèi)了印務(wù)費(fèi)用之后,卻達(dá)不到應(yīng)有的效果。在此應(yīng)用系統(tǒng)上,注冊(cè)者可以登記自己的失/拾物品信息,并按登記時(shí)間順序在主頁(yè)上顯示,任何人都可以看到一個(gè)集中的校失/拾物品信息與其聯(lián)系人和聯(lián)系方式,為在校學(xué)生提供了更廉價(jià)便捷的失/拾物方式。1.2 課題目的和意義校應(yīng)用是開(kāi)發(fā)以針對(duì)學(xué)校局域網(wǎng)絡(luò)的常見(jiàn)應(yīng)用程序,通常包含:教務(wù)管理系統(tǒng),OA辦公系統(tǒng),圖書(shū)館應(yīng)用系統(tǒng),學(xué)生管理系統(tǒng)等大型應(yīng)用,也有如留言板,F(xiàn)TP校下載,校二手網(wǎng),學(xué)院獨(dú)立管理系統(tǒng)等中小型應(yīng)用。作為校應(yīng)用的擴(kuò)展,本系統(tǒng)目的和意義就是在
22、校失物招領(lǐng)這個(gè)常見(jiàn)的現(xiàn)實(shí)模塊擴(kuò)展為網(wǎng)絡(luò)應(yīng)用,為在校學(xué)生提供更廉價(jià)便捷的失/拾物方式,并實(shí)現(xiàn)統(tǒng)一管理。利用本系統(tǒng),用戶(hù)可以自由地瀏覽已經(jīng)登記在數(shù)據(jù)庫(kù)中的全部失/拾物信息,并可通過(guò)現(xiàn)在有學(xué)號(hào)登錄,或重新注冊(cè)成為用戶(hù),登記自己的失/拾物信息,實(shí)現(xiàn)低廉便捷操作。1.3 課題研究方法底層數(shù)據(jù)庫(kù)層采用MySql,由eclipselink作為持久化管理,建立實(shí)體bean;整體運(yùn)用MVC設(shè)計(jì)思路,各層之間獨(dú)立,分為實(shí)體Entity層,實(shí)體操作DAO層,實(shí)體擴(kuò)展與操作DTO層,javaBean后臺(tái)APP層和最終WEB應(yīng)用層;頁(yè)面采用JSF Bean管理;前臺(tái)后臺(tái)通過(guò)登錄用戶(hù)權(quán)限控制進(jìn)入。1.4 論文結(jié)構(gòu)第一章,
23、主要介紹了相關(guān)開(kāi)發(fā)的背景、目的以與意義。第二章,主要介紹了開(kāi)發(fā)本系統(tǒng)所用到的關(guān)鍵技術(shù)和開(kāi)發(fā)工具,為接下來(lái)的設(shè)計(jì)奠定基礎(chǔ)。第三章,主要介紹了對(duì)系統(tǒng)進(jìn)行了需求分析和進(jìn)行總體設(shè)計(jì)。需求分析階段通過(guò)分析系統(tǒng)的角色的劃分以與功能模塊的劃分,為系統(tǒng)的整體體設(shè)計(jì)提供了依據(jù)。整體設(shè)計(jì)階段通過(guò)對(duì)數(shù)據(jù)庫(kù)、DAO與DTO層和實(shí)體類(lèi)的設(shè)計(jì),并形成了完整的開(kāi)發(fā)思路。第四章,主要介紹了主要模塊的設(shè)計(jì)與實(shí)現(xiàn)以與使用,并給出相關(guān)關(guān)鍵源代碼和最終的效果展示圖。第五章,主要是對(duì)本次畢業(yè)設(shè)計(jì)的總結(jié)以與對(duì)后續(xù)工作的展望。2 系統(tǒng)應(yīng)用的關(guān)鍵技術(shù)和工具2.1 J2EE介紹2.1.1 J2EE概述J2EE(Java 2 Platform
24、Enterprise Edition)是java技術(shù)行業(yè)標(biāo)準(zhǔn)的應(yīng)用技術(shù)開(kāi)發(fā)企業(yè)級(jí)平臺(tái)(Sun公司為了自身的利益,并沒(méi)有將Java與其相關(guān)技術(shù)納入標(biāo)準(zhǔn)化組織體系),它是Java技術(shù)不斷更新和適應(yīng)市場(chǎng)的產(chǎn)品,促進(jìn)企業(yè)應(yīng)用程序在Java平臺(tái)上的發(fā)展。目前,java平臺(tái)有三個(gè)版本:適合小型設(shè)備和智能卡的J2ME(Java 2 Platform Micro Edition),適用于桌面系統(tǒng)的J2SE(Java 2 Platform Standard Edition)、企業(yè)應(yīng)用J2EE(Java 2 Platform Enterprise Edition)。Sun推出了J2EE為了克服傳統(tǒng)的客戶(hù)機(jī)/服務(wù)器
25、(C/S)模式缺點(diǎn),以瀏覽器/服務(wù)器(B/S)體系結(jié)構(gòu)的發(fā)展趨勢(shì),提供了Java技術(shù)在服務(wù)器端應(yīng)用程序在一個(gè)獨(dú)立于平臺(tái)的,便攜式,多用戶(hù)的開(kāi)發(fā)應(yīng)用,安全和基于標(biāo)準(zhǔn)的企業(yè)平臺(tái),從而簡(jiǎn)化了企業(yè)應(yīng)用程序的開(kāi)發(fā),管理和部署。J2EE是一個(gè)標(biāo)準(zhǔn),而不是一個(gè)產(chǎn)品,每個(gè)平臺(tái)開(kāi)發(fā)商按照J(rèn)2EE標(biāo)準(zhǔn)開(kāi)發(fā)J2EE應(yīng)用服務(wù)器,J2EE應(yīng)用服務(wù)器部署的J2EE企業(yè)應(yīng)用平臺(tái),因?yàn)樗麄冏裱璊2EE規(guī)。因此,企業(yè)應(yīng)用開(kāi)發(fā)采用J2EE技術(shù)可以部署在各種J2EE應(yīng)用服務(wù)器的體系結(jié)構(gòu),以促進(jìn)和規(guī)企業(yè)應(yīng)用的J2EE框架的使用,同時(shí)Sun給定了一個(gè)建議性的J2EE應(yīng)用設(shè)計(jì)模式:J2EE藍(lán)圖,J2EE藍(lán)圖提供了系統(tǒng)的體系結(jié)構(gòu)。J2EE
26、企業(yè)應(yīng)用設(shè)計(jì)模式的實(shí)現(xiàn)和相關(guān)代碼,采用J2EE藍(lán)圖描述系統(tǒng)模型,可以簡(jiǎn)化這個(gè)復(fù)雜的工作,企業(yè)應(yīng)用集成架構(gòu),J2EE藍(lán)圖是開(kāi)發(fā)和優(yōu)化的J2EE組件設(shè)計(jì)的基本原則。在發(fā)展的同時(shí),給出的引導(dǎo)性策略也有助于職能分工,幫助應(yīng)用開(kāi)發(fā)和設(shè)計(jì)人員合理配置科技資源2。2.1.2 J2EE優(yōu)勢(shì)J2EE的優(yōu)勢(shì)主要有以下幾點(diǎn):高效的開(kāi)發(fā):J2EE允許其它公司把通用的,繁瑣的服務(wù)端事務(wù),交由服務(wù)器中間件廠(chǎng)商去代替完成,使真正的開(kāi)發(fā)人員可以專(zhuān)注于如何創(chuàng)建高效業(yè)務(wù)邏輯,縮短開(kāi)發(fā)周期。先進(jìn)的中間件廠(chǎng)商提供這些復(fù)雜的中間件服務(wù):狀態(tài)管理服務(wù)允許開(kāi)發(fā)者寫(xiě)更少的代碼,不在乎如何管理狀態(tài),因此可以更快的完成程序開(kāi)發(fā)。持續(xù)性服務(wù) :讓
27、開(kāi)發(fā)人員不用編碼代碼就可以編寫(xiě)數(shù)據(jù)訪(fǎng)問(wèn)邏輯應(yīng)用,可以產(chǎn)生更輕巧,應(yīng)用程序完全與數(shù)據(jù)庫(kù)無(wú)關(guān),便應(yīng)用程序更易于開(kāi)發(fā)和維護(hù),分布式共享數(shù)據(jù)對(duì)象緩存系統(tǒng)服務(wù),讓開(kāi)發(fā)人員來(lái)制備高性能可擴(kuò)展性大大提高的系統(tǒng),總體部署伸縮性強(qiáng)。支持異構(gòu)環(huán)境:J2EE可以開(kāi)發(fā)和部署在異構(gòu)環(huán)境中的可移植的程序,對(duì)J2EE應(yīng)用程序不依賴(lài)于任何特定的操作系統(tǒng),中間件,硬件的基礎(chǔ)上,基于J2EE合理的應(yīng)用程序,開(kāi)發(fā)一次,可以部署到多個(gè)平臺(tái)。在典型的企業(yè)異構(gòu)環(huán)境的計(jì)算環(huán)境很重要,J2EE標(biāo)準(zhǔn)也允許排序與J2EE第三客戶(hù)端的現(xiàn)成的組件兼容,在異構(gòu)環(huán)境中部署他們,降低整個(gè)開(kāi)發(fā)維護(hù)成本??缮炜s性:企業(yè)應(yīng)用必須選擇一個(gè)服務(wù)器平臺(tái),該平臺(tái)可以滿(mǎn)
28、足商業(yè)運(yùn)行在他們的系統(tǒng)上的大量新客戶(hù),并提供良好的可擴(kuò)展性,由于J2EE平臺(tái)的應(yīng)用程序可以部署到各種實(shí)例的基礎(chǔ)上,不區(qū)分操作系統(tǒng)。例如部署到高端UNIX主機(jī)系統(tǒng),這個(gè)系統(tǒng)的一個(gè)單一的機(jī)器可支持64到256個(gè)處理器,(這是NT服務(wù)器所不能達(dá)到的)J2EE供應(yīng)商提供廣泛的負(fù)載平衡策略,可以消除系統(tǒng)中的瓶頸,允許多個(gè)服務(wù)器集成部署,多達(dá)數(shù)千個(gè)處理器的配置,實(shí)現(xiàn)系統(tǒng)具有高度的可擴(kuò)展性,滿(mǎn)足未來(lái)業(yè)務(wù)應(yīng)用的需要。穩(wěn)定的可用性:服務(wù)器平臺(tái)必須能夠在二十四小時(shí)運(yùn)作來(lái)滿(mǎn)足客戶(hù)、合作伙伴的需求。由于互聯(lián)網(wǎng)是全球的,無(wú)處不在的,即使在晚上的計(jì)劃停機(jī)時(shí)間也可能造成嚴(yán)重的損失。如果意外關(guān)閉,它將有災(zāi)難性的后果。J2EE
29、部署可靠的運(yùn)行環(huán)境,他們支持的長(zhǎng)期可用性。在Windows環(huán)境下的一些J2EE部署,客戶(hù)可以選擇的操作系統(tǒng),如Sun Solaris更好的魯棒性,IBM的OS390。最好的操作系統(tǒng)的魯棒性,可以實(shí)現(xiàn)99.999%的可用性或每年只有5分鐘的停機(jī)時(shí)間。這是一個(gè)強(qiáng)大的實(shí)時(shí)性能理想的業(yè)務(wù)系統(tǒng)2。2.2 JSF技術(shù)介紹2.2.1 JSF的概述JavaServer Faces (JSF) 是一種用于構(gòu)建 Web 應(yīng)用程序的新標(biāo)準(zhǔn) Java 框架,它提供了一種以組件為中心來(lái)開(kāi)發(fā) Java Web 用戶(hù)界面的方法,從而簡(jiǎn)化了開(kāi)發(fā),JavaServer Faces 還引起了廣大 Java/Web 開(kāi)發(fā)人員的興趣
30、?!捌髽I(yè)開(kāi)發(fā)人員”和 Web 設(shè)計(jì)人員將發(fā)現(xiàn) JSF 開(kāi)發(fā)可以簡(jiǎn)單到只需將用戶(hù)界面 (UI) 組件拖放到頁(yè)面上,而“系統(tǒng)開(kāi)發(fā)人員”將發(fā)現(xiàn)豐富而強(qiáng)健的 JSF API 為他們提供了無(wú)與倫比的功能和編程靈活性,JSF 還通過(guò)將良好構(gòu)建的模型-視圖-控制器 (MVC) 設(shè)計(jì)模式集成到它的體系結(jié)構(gòu)中,確保了應(yīng)用程序具有更高的可維護(hù)性。最后,由于 JSF 是通過(guò) Java Community Process (JCP) 開(kāi)發(fā)的一種 Java 標(biāo)準(zhǔn),因此開(kāi)發(fā)工具供應(yīng)商完全能夠?yàn)?JavaServer Faces 提供易于使用的、高效的可視化開(kāi)發(fā)環(huán)境3。Jsf請(qǐng)求步驟如圖1所示。圖1 JSF請(qǐng)求步驟2.2.
31、2 JSF配置JSF是一個(gè)標(biāo)準(zhǔn)的網(wǎng)絡(luò)應(yīng)用框架,是以Servlet為調(diào)度核,因此,如果想正常運(yùn)行JSF程序,必須把JSF作為servlet來(lái)運(yùn)行。JSF是作為Servlet來(lái)運(yùn)行,也有自己的配置文件,就是上面param所指定的faces-config.xml,這個(gè)文件中配置了JSF正確運(yùn)行需要的一些信息,包括managed-bean(將JSF web頁(yè)面中需要的bean以managed的方式配置起來(lái),這樣,就可以在web 頁(yè)面中直接調(diào)用該bean 的屬性和方法) ,navigation-rule(JSF頁(yè)面之間的流轉(zhuǎn)/調(diào)度配置)等。JSF程序在web頁(yè)面中也表現(xiàn)為用戶(hù)標(biāo)簽,也就是說(shuō),JSF也跟s
32、trtus一樣,有自己的一套標(biāo)簽庫(kù),它通過(guò)解析這些標(biāo)簽來(lái)實(shí)現(xiàn)對(duì)JSF程序的控制。目前,JSF有2套標(biāo)簽:jsf_core.tld和html_basic.tld,從名字上可以看出來(lái),第一個(gè)主要是核心JSF程序使用的標(biāo)簽,包括視圖層(所有的JSF程序都必須有的標(biāo)簽包圍) ,loadBundle(資源相關(guān)),validator(校驗(yàn)相關(guān))等第二個(gè)是web頁(yè)面設(shè)計(jì)相關(guān)的的一些html組件標(biāo)簽,這些組件,可以組成普通或者復(fù)雜的web應(yīng)用程序。這里提一下,JSF最主要的特性之一,事件驅(qū)動(dòng),就是通過(guò)html組件來(lái)體現(xiàn)的,在定義了一個(gè)按鈕(commandButton)以后,只要定義一下它的事件,就可以直接的將
33、這個(gè)動(dòng)作映射到后臺(tái)的某個(gè)管理Bean的某個(gè)方法上,這樣,大大減少了原來(lái)中間層的javascript調(diào)用,也就縮短了開(kāi)發(fā)時(shí)間,并且,也減少了中間出錯(cuò)的幾率。2.2.3 JSF的優(yōu)點(diǎn)JSF具有以下優(yōu)點(diǎn): 基于MVC,可以有效的將數(shù)據(jù)顯示與業(yè)務(wù)邏輯分開(kāi)處理。有功能強(qiáng)大豐富的web開(kāi)發(fā)組件,可以可視化的設(shè)計(jì)開(kāi)發(fā)web應(yīng)用程序。事件驅(qū)動(dòng),這是JSF比較重要的特點(diǎn),這種機(jī)制大大減少了開(kāi)發(fā)時(shí)間,提高了開(kāi)發(fā)效率。2.3 Mysql 數(shù)據(jù)庫(kù)2.3.1 數(shù)據(jù)庫(kù)概述根據(jù)一些數(shù)據(jù)模型的數(shù)據(jù)庫(kù)的組織并存放二級(jí)存儲(chǔ)器的數(shù)據(jù)集,該數(shù)據(jù)集具有以下特點(diǎn):盡可能不重復(fù),提供各種各樣的最佳的應(yīng)用程序給某個(gè)特定的組織,其數(shù)據(jù)結(jié)構(gòu)獨(dú)立
34、于使用它的應(yīng)用程序,對(duì)數(shù)據(jù)的添加,刪除,修改的統(tǒng)一管理和控制軟件。數(shù)據(jù)搜索從歷史的發(fā)展中看,數(shù)據(jù)庫(kù)是數(shù)據(jù)管理的高級(jí)階段,它是由文件管理系統(tǒng)的開(kāi)發(fā)。在數(shù)據(jù)庫(kù)中,一個(gè)項(xiàng)目的所有信息可以被稱(chēng)為一條記錄(Record),每條記錄由一系列字段(Field)組成,一系列的記錄的集合形成數(shù)據(jù)表(Table),一個(gè)簡(jiǎn)單的“平面文件數(shù)據(jù)庫(kù)”,它只包含一個(gè)數(shù)據(jù)表,而一個(gè)“關(guān)系數(shù)據(jù)庫(kù)”,它包含兩個(gè)或兩個(gè)以上的數(shù)據(jù)表,其中一個(gè)或多個(gè)字段形式之間存在關(guān)系(有時(shí)被稱(chēng)為“”) 4。常用數(shù)據(jù)庫(kù):IBM 的DB2、Oracle、Informix、Sybase、SQL Server、PostgreSQL、mySQL。2.3.2
35、Mysql概述MySQL是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典公司MySQL AB公司開(kāi)發(fā),現(xiàn)在屬于Oracle公司。MySQL是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)系數(shù)據(jù)庫(kù)是在不同的表中保存數(shù)據(jù),而不是所有的數(shù)據(jù)都在一個(gè)大倉(cāng)庫(kù),增加存取速度,并提高靈活性。MySQL的SQL語(yǔ)言是最常見(jiàn)的用于訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言。MySQL軟件采用雙授權(quán)政策,它分為社區(qū)版和商業(yè)版,因?yàn)樗w積小,速度快,成本低,尤其是開(kāi)放源代碼的特點(diǎn),一般中小型發(fā)展會(huì)選擇MySQL作為數(shù)據(jù)庫(kù)。由于其卓越的社區(qū)版本的性能,使用PHP和Apache可以形成一個(gè)良好的發(fā)展環(huán)境4。2.3.3 mysql的特點(diǎn)MySQL是一種開(kāi)放源代碼的關(guān)系型數(shù)據(jù)庫(kù)管
36、理系統(tǒng)(RDBMS),MySQL數(shù)據(jù)庫(kù)系統(tǒng)使用最常用的數(shù)據(jù)庫(kù)管理語(yǔ)言-結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)進(jìn)行數(shù)據(jù)庫(kù)管理3。因?yàn)镸ySQL是開(kāi)源的,所以任何人都可以通用公共許可證允許下載并根據(jù)個(gè)人需要修改。MySQL由于其速度,可靠性和適應(yīng)性的問(wèn)題,大多數(shù)人認(rèn)為不需要事務(wù)處理?xiàng)l件下,MySQL是容管理的最佳選擇,提供完全的多線(xiàn)程運(yùn)行模式下的多線(xiàn)程系統(tǒng)利用為核心。提供了一種編程接口,C+,Java,Perl,Eiffel,PHP,Python和TCL程序語(yǔ)言(API),多個(gè)字段類(lèi)型的支持,提供了一個(gè)完整的支持查詢(xún)中SELECT和WHERE操作4。目前MySQL被廣泛地應(yīng)用在Internet上的中小型中,因?yàn)?/p>
37、它體積小,速度快,成本低,尤其是開(kāi)放源代碼的特點(diǎn)。許多中小型為了降低總體運(yùn)營(yíng)維護(hù)成本而選擇MySQL作為數(shù)據(jù)庫(kù)3。2.3.4 MySQL5.5安裝過(guò)程(本系統(tǒng)使用的MySql版本)運(yùn)行mysql安裝文件。按Next,然后選擇安裝方式,有“Typical(默認(rèn))”、“Complete(完全)”、“Custom(用戶(hù)自定義)”,選擇第二個(gè)選 項(xiàng)“Custom”,下一步,MySQL Server(mysql服務(wù)器),Developer Components(開(kāi)發(fā)者部分),Debug Symbols(調(diào)試符號(hào)),Server data files(服務(wù)器數(shù)據(jù)文件)默認(rèn)改變安裝路徑,原路徑是“C:Pro
38、gram FilesMySQLMySQL Server 5.5”,也可以修改為:“E:Program FilesMySQL Server 5.5”。下一步,安裝,會(huì)彈出窗口,點(diǎn)下一步,再點(diǎn)下一步,選擇“Launch the MySql instance Configuration Wizard”,意思是啟動(dòng)MySQL實(shí)例配置向?qū)?再點(diǎn)擊Finish,再點(diǎn)下一步,Detailed Configuration(詳細(xì)配置)和Standard Configuration(標(biāo)準(zhǔn)配置),選擇詳細(xì)配置,下一步。選擇服務(wù)器類(lèi)型,“Developer Machine(開(kāi)發(fā)測(cè)試類(lèi),mysql占用很少資源)”、“S
39、erver Machine(服務(wù)器類(lèi)型,mysql占用較多資源)”、“Dedicated MySQL Server Machine(專(zhuān)門(mén)的數(shù)據(jù)庫(kù)服務(wù)器,mysql占用所有可用資源)”,根據(jù)自己的類(lèi)型選擇,測(cè)試軟件選“Developer Machine”,服務(wù)器選“Server Machine” ,下一步。選擇創(chuàng)建MySQL表時(shí)使用的表處理器,“Multifunctional Database”(通用多功能型,同時(shí)使用InnoDB和MyISAM儲(chǔ)存引擎)、“Transactional Database Only”(服務(wù)器類(lèi)型,專(zhuān)注于事務(wù)處理,主要使用InnoDB只偶爾使用MyISAM,一般)、“
40、Non-Transactional DatabaseOnly”(非事務(wù)處理型,較簡(jiǎn)單,完全禁用InnoDB儲(chǔ)存引擎,將所有服務(wù)器資源指派給MyISAM儲(chǔ)存引擎),隨自己的用途而選擇。2.4 Tomcat 服務(wù)器2.4.1 Tomcat 服務(wù)器簡(jiǎn)介T(mén)omcat是一個(gè)免費(fèi)的開(kāi)源serlvet容器,這是Apache基金會(huì)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目。項(xiàng)目在A(yíng)pache基金會(huì),Sun公司和其他一些公司和個(gè)人共同開(kāi)發(fā),由于Sun的參與和支持,最新的Servlet和JSP標(biāo)準(zhǔn)都可以反映在Tomcat中5。Tomcat中采用了Servlet容器:Catalina,完整的實(shí)現(xiàn)了Servlet2.3和J
41、sp1.2規(guī),Tomcat提供了不同平臺(tái)的各種版本供下載,可以從其官方上下載其源代碼版或者二進(jìn)制版,由于Java的跨平臺(tái)特性,基于Java的Tomcat也具有跨平臺(tái)性5。2.4.2 Tomcat的特點(diǎn)在Tomcat中,應(yīng)用程序的部署非常簡(jiǎn)單,你只需要把你的WAR包到Tomcat Webapp目錄。Tomcat會(huì)自動(dòng)檢測(cè)該文件,解壓,您訪(fǎng)問(wèn)此應(yīng)用程序時(shí),在有JSP的瀏覽器路徑中,通常是非常緩慢的,因?yàn)門(mén)omcat將JSP轉(zhuǎn)為Servlet文件,然后編譯,編譯,之后將很快,Tomcat還提供一個(gè)應(yīng)用程序:manager,訪(fǎng)問(wèn)此應(yīng)用程序需要一個(gè)用戶(hù)名和密碼,用戶(hù)名和密碼存儲(chǔ)在一個(gè)tomcat-use
42、rs.xml文件,通過(guò)這個(gè)應(yīng)用,基于FTP,您可以遠(yuǎn)程通過(guò)Web部署和撤回申請(qǐng),當(dāng)然,本地也可以5。2.4.3 Tomcat的優(yōu)勢(shì)Tomcat不僅是一個(gè)servlet容器,它具有傳統(tǒng)的Web服務(wù)器的一般功能:處理HTML頁(yè)面,但與Apache相比,其處理靜態(tài)HTML頁(yè)面不與Apache的能力。把Tomcat和Apache可以集成到一塊的話(huà),讓Apache處理靜態(tài)的HTML,而Tomcat 處理JSP和Servlet,這種整合只需要修改Apache和Tomcat配置文件就可達(dá)到效果5。2.4.4 Tomcat服務(wù)器的安裝和配置安裝JDK 1.7添加環(huán)境變量:在 我的電腦-屬性-高級(jí)-環(huán)境變量新建
43、系統(tǒng)變量,變量名:JAVA_HOME 變量值:C:Program FilesJavajdk1.7.0 (JDK的安裝目錄)在原有的系統(tǒng)變量 Path后面加上英文分號(hào),再添加%JAVA_HOME%bin;%JAVA_HOME%libdt.jar;%JAVA_HOME%jrebin; 不要?jiǎng)h除原來(lái)的。它們之間的分號(hào),是英文的分號(hào)。重啟電腦生效(因?yàn)樘砑拥氖窍到y(tǒng)變量,如果你的系統(tǒng)是win7,則不需要重啟)。測(cè)試JDK是否安裝成功,運(yùn)行-cmd -D: 進(jìn)入D盤(pán),輸入javac 看能否出來(lái)很多命令,出來(lái)則說(shuō)明JDK配置成功。 Tomcat 7.0的安裝配置Tomcat 7.0 的免安裝版的配置(假如將
44、Tomcat 解壓到C:Program Files目錄,目錄結(jié)構(gòu)為:C:Program Filesapache-tomcat-7.0.11添加環(huán)境變量:在 我的電腦-屬性-高級(jí)-環(huán)境變量新建系統(tǒng)變量,變量名:CATALINA_HOME 變量值:C:Program Filesapache-tomcat-7.0.11 (Tomcat 解壓到的目錄)。在系統(tǒng)變量Path的最后面添加%CATALINA_HOME%lib;% CATALINA_HOME%libservletapi.jar;%CATALINA_HOME%libjsp-api. jar注意它們之間的分號(hào),一定是英文的分號(hào)。 安裝完成打開(kāi)to
45、mcat服務(wù)器,默認(rèn)端口:8080,啟動(dòng)瀏覽器,在地址欄上輸入:localhost:8080/若出現(xiàn)圖2所示界面說(shuō)明安裝成功。圖2 tomcat啟動(dòng)頁(yè)面2.5 MyEclipse 開(kāi)發(fā)工具2.5.1 MyEclipse概述MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench ,簡(jiǎn)稱(chēng)MyEclipse)是對(duì)EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開(kāi)發(fā)、發(fā)布以與應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,
46、Javascript,Spring,SQL, Hibernate6。MyEclipse 是一個(gè)十分優(yōu)秀的用于開(kāi)發(fā)Java, J2EE的 Eclipse 插件集合。MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開(kāi)源產(chǎn)品的支持十分不錯(cuò),MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,E3,JDBC數(shù)據(jù)庫(kù)工具等多項(xiàng)功能??梢哉f(shuō)MyEclipse幾乎囊括了目前所有主流開(kāi)源產(chǎn)品的專(zhuān)屬eclipse開(kāi)發(fā)工具6。開(kāi)發(fā)界面如圖3。圖3 MyEclipse工程頁(yè)面2.6 小結(jié)本章全面介紹了失物招領(lǐng)登記系統(tǒng)所用到
47、的關(guān)鍵技術(shù)和開(kāi)發(fā)工具,其中JSF作為整個(gè)WEB應(yīng)用開(kāi)發(fā)的基礎(chǔ),理解它的運(yùn)行機(jī)制很重要,同時(shí)還得明白它的優(yōu)劣勢(shì);j2ee作為開(kāi)發(fā)的標(biāo)準(zhǔn)也作了簡(jiǎn)單介紹。最后介紹了本系統(tǒng)使用的數(shù)據(jù)庫(kù)mysql以與tomcat服務(wù)器的安裝與配置和工發(fā)工具M(jìn)yEclipse。只有掌握了這些基礎(chǔ)技術(shù),本系統(tǒng)的開(kāi)發(fā)才能正常進(jìn)行。3系統(tǒng)需求分析和總體設(shè)計(jì)3.1系統(tǒng)功能需求圖4 系統(tǒng)功能需求模塊如圖4所示,在本系統(tǒng)中主要闡述用戶(hù)管理、物品信息管理、廣告展示三個(gè)模塊。用戶(hù)管理:實(shí)現(xiàn)游客注冊(cè)成為用戶(hù),并可自身修改用戶(hù)顯示名和密碼,同時(shí)管理員可以對(duì)用戶(hù)進(jìn)行密碼進(jìn)行重置和顯示名修改。物品管理:實(shí)現(xiàn)登錄用戶(hù)添加刪除失/尋物品信息,并對(duì)自
48、己添加物品進(jìn)行狀態(tài)更改,同時(shí)管理員也可以對(duì)所有物品信息進(jìn)行查看或者刪除。廣告展示:實(shí)現(xiàn)管理員對(duì)頁(yè)面頭部廣告顯示的添加,修改,刪除和選擇相應(yīng)廣告激活。3.2系統(tǒng)角色與其功能分析3.2.1系統(tǒng)支持的角色站點(diǎn)注冊(cè)用戶(hù)超級(jí)管理員普通的瀏覽者(即游客)3.2.2系統(tǒng)角色的功能普通用戶(hù)的普通瀏覽者只能瀏覽登錄用戶(hù)已登記的失/拾物品信息。注冊(cè)用戶(hù)的普通瀏覽者只要注冊(cè)為失物招領(lǐng)登記系統(tǒng)用戶(hù)后,獲得自己的登錄用戶(hù)名,設(shè)置自己的登錄密碼就具有以下功能:登錄,登出。并可登記和管理自己的失/拾物品信息。管理員擁有注冊(cè)用戶(hù)的所有功能,還可以對(duì)用戶(hù)進(jìn)行管理,包括重置用戶(hù)密碼、刪除用戶(hù)。頁(yè)面頭部廣告顯示的添加,修改,刪除和
49、選擇相應(yīng)廣告激活。刪除用戶(hù)登記的失/拾物品信息。3.3 總體設(shè)計(jì)思想概述本系統(tǒng)是基于B/S架構(gòu)下的MVC多層結(jié)構(gòu)應(yīng)用系統(tǒng)。B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著網(wǎng)絡(luò)信息時(shí)代的發(fā)展,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶(hù)工作界面是通過(guò)瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就可以大大簡(jiǎn)化客戶(hù)端電腦載荷,減輕系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶(hù)的總體開(kāi)發(fā),運(yùn)營(yíng)和維護(hù)成本(TCO)7。 在軟件的體系架構(gòu)設(shè)計(jì)中,MVC分層式結(jié)構(gòu)是最常見(jiàn),也是最重
50、要的一種結(jié)構(gòu)。推薦的分層式結(jié)構(gòu)一般分為三層,從下至上分別為:持久化層、業(yè)務(wù)邏輯層、表現(xiàn)層,如下圖5:圖5 系統(tǒng)架構(gòu)總體而言,采用MVC結(jié)構(gòu)的設(shè)計(jì)思路,有一層中完成一組特定的功能實(shí)現(xiàn),可以由多個(gè)相關(guān)的類(lèi)或組件構(gòu)成。層與層之間所存在的依賴(lài)關(guān)系是自上而下的,上層組件會(huì)對(duì)下層組件的API產(chǎn)生依賴(lài)關(guān)系,而下層組件卻不會(huì)依賴(lài)于上層組件。例如:表現(xiàn)層會(huì)依賴(lài)于業(yè)務(wù)邏輯層的API,再向下業(yè)務(wù)邏輯層又會(huì)依賴(lài)于數(shù)據(jù)庫(kù)層。并且每個(gè)依賴(lài)層都會(huì)對(duì)其上層公開(kāi)API,但每一層具體的實(shí)現(xiàn)細(xì)節(jié)卻會(huì)對(duì)外透明。當(dāng)對(duì)其中某一層修改后,只要API不變,依然不會(huì)影響其他層。在本系統(tǒng)的開(kāi)發(fā)過(guò)程中,使用了開(kāi)源的mysql數(shù)據(jù)庫(kù),由eclips
51、elink作為持久化管理,表現(xiàn)層運(yùn)用基于JSF 托管Bean實(shí)現(xiàn)。3.4數(shù)據(jù)庫(kù)設(shè)計(jì)3.4.1數(shù)據(jù)庫(kù)表設(shè)計(jì)下面列出了設(shè)計(jì)過(guò)程中所用到的數(shù)據(jù)庫(kù)表與其字段結(jié)構(gòu):Lost_Thing表用來(lái)保存用戶(hù)登記的失/拾物信息,如表1:表1 Lost_Thingl_thing列名類(lèi)型長(zhǎng)度描述lost_idint失/拾物品IDlost_namevarchar50失/拾物品名稱(chēng)lost_descvarchar1000失/拾物品描述lost_pickervarchar30拾物用戶(hù)名(棄用)lost_picker_authvarchar20拾物用戶(hù)權(quán)限(棄用)lost_ownervarchar30失物用戶(hù)名(棄用)los
52、t_owner_authvarchar20失物用戶(hù)權(quán)限(棄用)lost_publish_uservarchar30信息發(fā)布者用戶(hù)名lost_publish_timedatetime信息發(fā)布時(shí)間lost_imgurlvarchar200物品圖片地址lost_statusvarchar10失/拾物品狀態(tài)lost_typevarchar50物品類(lèi)型(棄用)lost_orvarchar10Pick Or Lostlost_starttimedatetime開(kāi)始時(shí)間(棄用)lost_endtimedatetime結(jié)束時(shí)間(棄用)lost_connvarchar50聯(lián)系方式lost_connNamevar
53、char50聯(lián)系人Lost_User表用來(lái)保存用戶(hù)信息,如表2:表2 Lost_Userl_user列名類(lèi)型長(zhǎng)度描述user_idint用戶(hù)IDuser_namevarchar30用戶(hù)登錄名user_realnamevarchar50用戶(hù)顯示名user_passwordvarchar50用戶(hù)密碼user_authvarchar20用戶(hù)權(quán)限user_regtimedatetime用戶(hù)注冊(cè)時(shí)間user_logintimedatetime用戶(hù)最后登錄時(shí)間Lost_Show表用來(lái)保存廣告信息,如表3:表3 Lost_Showl_show列名類(lèi)型長(zhǎng)度描述show_idint廣告IDshow_nameva
54、rchar50廣告名show_descvarchar1000廣告描述show_changetimedatetime廣告修改時(shí)間show_pulishtimedatetime廣告發(fā)布時(shí)間show_change_uservarchar30發(fā)布廣告用戶(hù)show_urlvarchar200廣告圖片地址show_statusvarchar50廣告當(dāng)前狀態(tài)3.5系統(tǒng)類(lèi)的設(shè)計(jì)3.5.1 Entity層Entity層,也叫實(shí)體層,作為和數(shù)據(jù)庫(kù)關(guān)聯(lián)最緊密的一層,其直接作用就是映射數(shù)據(jù)庫(kù)字段,將數(shù)據(jù)庫(kù)字段反映到普通java類(lèi)屬性上,并添加注解。結(jié)構(gòu)如圖6所示。圖6 Entity設(shè)計(jì)3.5.2 DAO層DAO層,也
55、叫數(shù)據(jù)庫(kù)操作層,通過(guò)已經(jīng)寫(xiě)好的JpaFacade通用接口連接到數(shù)據(jù)庫(kù)映射java類(lèi)。DAO層一般有接口和該接口的實(shí)現(xiàn)類(lèi),接口用于規(guī)實(shí)現(xiàn)類(lèi),實(shí)現(xiàn)類(lèi)一般用于操作數(shù)據(jù)庫(kù),包括修改,添加,刪除,查詢(xún)數(shù)據(jù)庫(kù)等基礎(chǔ)操作,就寫(xiě)了一個(gè)公共類(lèi)DAO類(lèi) ,當(dāng)需要修改,添加,刪除,查詢(xún)數(shù)據(jù)庫(kù)操作時(shí),直接調(diào)用公共類(lèi)DAO類(lèi),向上對(duì)DTO層提供訪(fǎng)問(wèn)接口。結(jié)構(gòu)如圖7所示。圖7 LostFacadeDAO設(shè)計(jì)3.5.3 DTO層DTO層,也叫數(shù)據(jù)傳輸對(duì)象層,主要用來(lái)再次封裝對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn),就是對(duì)Entity的擴(kuò)展和對(duì)操作DAO暴露出來(lái)的接口,以便讓最終的WEB層可以在DTO層的幫助下更加輕松的操作數(shù)據(jù)庫(kù)中的數(shù)據(jù)。結(jié)構(gòu)如圖8
56、所示。圖8 LostDTOFacadeBean設(shè)計(jì)3.5.4 WEB應(yīng)用層WEB應(yīng)用層是整個(gè)業(yè)務(wù)邏輯的體現(xiàn),所有業(yè)務(wù)相關(guān)的邏輯都寫(xiě)在WEB層的JavaBean,通過(guò)調(diào)用底層包裝過(guò)的方法,將結(jié)果處理之后返回到頁(yè)面上作顯示,并與用戶(hù)交互。結(jié)構(gòu)如圖9所示。圖9 Web應(yīng)用層設(shè)計(jì)3.6小結(jié)本章容在開(kāi)頭分析了系統(tǒng)的功能需求,通過(guò)對(duì)系統(tǒng)角色的劃分以與功能模塊的劃分,明確了系統(tǒng)將要實(shí)現(xiàn)的需求,總體設(shè)計(jì)也有了依據(jù)。在接下來(lái)的小節(jié)里闡述了系統(tǒng)的總體設(shè)計(jì)思路,本系統(tǒng)是基于B(瀏覽器)/S(服務(wù)器)架構(gòu)下的MVC應(yīng)用系統(tǒng)。最后通過(guò)對(duì)數(shù)據(jù)庫(kù)、Dao,Dto和實(shí)體類(lèi)的設(shè)計(jì)分析,形成了完整的開(kāi)發(fā)思路,為接下來(lái)編程實(shí)現(xiàn)各個(gè)
57、具體功能模塊鋪平了道路。4系統(tǒng)的詳細(xì)設(shè)計(jì)4.1數(shù)據(jù)庫(kù)與Entity層映射EclipseLink除了支持傳統(tǒng)的ORM和OXM之外,另外提供了對(duì)SOA的支持,比如能夠?qū)omain Model部署成Web Service,比如利用ORM和SDO將實(shí)體部署為SDO,甚至利用DAS來(lái)查詢(xún)和修改這些實(shí)體。EclipseLink持久化配置文件為persistence.xml。本系統(tǒng)連接到數(shù)據(jù)庫(kù)MySql,創(chuàng)建數(shù)據(jù)庫(kù)名稱(chēng)為“l(fā)ost”,使用默認(rèn)端口3306,下圖說(shuō)明了如何配置以連接到MySql數(shù)據(jù)庫(kù),如圖10。圖10 持久化框架配置文件每一次數(shù)據(jù)訪(fǎng)問(wèn)請(qǐng)求都必須經(jīng)歷建立數(shù)據(jù)庫(kù)連接、打開(kāi)數(shù)據(jù)庫(kù)、存取數(shù)據(jù)和關(guān)閉數(shù)
58、據(jù)庫(kù)連接等步驟,而連接并打開(kāi)數(shù)據(jù)庫(kù)是一件既消耗資源又費(fèi)時(shí)的工作,如果頻繁發(fā)生這種數(shù)據(jù)庫(kù)操作,系統(tǒng)的性能必然會(huì)急劇下降,甚至?xí)?dǎo)致系統(tǒng)崩潰。數(shù)據(jù)庫(kù)連接池技術(shù)是解決這個(gè)問(wèn)題最常用的方法。在Tomcat服務(wù)器下confcontext.xml中配置數(shù)據(jù)庫(kù)連接池:4.2主要模塊的使用與界面4.2.1應(yīng)用主界面本系統(tǒng)采用全英文界面,主界面包含以下幾個(gè)部分:頭部注冊(cè)和用戶(hù)登錄入口;主界面廣告信息輪顯;主界面主體失/拾物品最新信息顯示;腳部外站;當(dāng)用戶(hù)不登錄進(jìn)入到主頁(yè)面時(shí),用戶(hù)可以以游客的身份查看到最新發(fā)布的失/拾物信息,如圖11,圖12;圖11 主界面廣告和失/拾物品列表圖12 失/拾物品詳細(xì)信息4.2.2
59、信息發(fā)布與管理界面登錄用戶(hù)可以進(jìn)行失/拾物品的信息發(fā)布和管理,如圖圖13,圖14。圖13 失/拾物品發(fā)布頁(yè)面圖14 失/拾物品用戶(hù)管理界面用戶(hù)登記失/拾物品信息時(shí)每一項(xiàng)都是必填項(xiàng),失/拾物品名稱(chēng)不得低于五位,日期為選擇性組件,聯(lián)系方式可以按自己的方式填寫(xiě),可以是,可以手機(jī),可以是 ,也可以;聯(lián)系人可以是本人,也可以由當(dāng)前用戶(hù)替別人發(fā)布信息;相關(guān)描述不能為空,最多八百字,上傳圖片為可選項(xiàng),圖片最多上傳五,每大小不超過(guò)5MB,上傳之后,會(huì)被服務(wù)器處理成為640*480的最佳尺寸,所以,上傳之后,大小會(huì)有變動(dòng)!提交成功之后,會(huì)跳轉(zhuǎn)到當(dāng)前發(fā)布信息的詳細(xì)頁(yè)面。用戶(hù)不能對(duì)發(fā)布了的信息進(jìn)行修改,但可以查看和
60、修改狀態(tài)。如果不滿(mǎn)意可以刪除發(fā)布了的信息。4.2.3用戶(hù)注冊(cè)與登錄界面未注冊(cè)用戶(hù)可以通過(guò)注冊(cè)按鈕進(jìn)行注冊(cè)。按鈕如圖15,注冊(cè)界面如圖16。圖15 注冊(cè)按鈕圖16 注冊(cè)界面已注冊(cè)用戶(hù)可以通過(guò)用戶(hù)登錄按鈕進(jìn)行登錄。如圖17,登錄界面如圖18。圖17 用戶(hù)登錄按鈕用戶(hù)登錄模塊設(shè)置了可選項(xiàng)記住密碼cookie為七天,用戶(hù)名和密碼不得低于六位,系統(tǒng)將始終記住最后一次成功登錄的時(shí)間,可被超級(jí)管理員在超級(jí)管理員界面上查看到。圖18 用戶(hù)登錄界面普通用戶(hù)和超級(jí)用戶(hù)的區(qū)別如圖19和圖20所示。圖19 超級(jí)用戶(hù) 圖20 普通用戶(hù)通過(guò)information,可以查看和修改自己的用戶(hù)信息,如圖21。圖21 用戶(hù)信息修
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 喜茶空間設(shè)計(jì)說(shuō)明
- 柴油機(jī)設(shè)計(jì)答辯
- ICD-10消化系統(tǒng)疾病編碼解析
- 新生兒病區(qū)護(hù)理
- T/SSR 704-2021房間空調(diào)器長(zhǎng)期運(yùn)行能效衰減率計(jì)算方法
- 新生兒特殊喂養(yǎng)實(shí)施指南
- 雜志風(fēng)室內(nèi)設(shè)計(jì)風(fēng)格解析與應(yīng)用
- 2025年不銹鋼、鎳?yán)w維及纖維氈項(xiàng)目提案報(bào)告模板
- 2025年骨關(guān)節(jié)康復(fù)用品項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模板
- 企業(yè)升級(jí)的關(guān)鍵智能機(jī)器人的應(yīng)用與推廣
- 成人中心靜脈導(dǎo)管(CVC)堵塞風(fēng)險(xiǎn)評(píng)估及預(yù)防-2024團(tuán)體標(biāo)準(zhǔn)
- 《護(hù)理學(xué)基礎(chǔ)》-15-標(biāo)本采集
- 感情計(jì)算在辦公環(huán)境中的應(yīng)用
- 2024年四川教師招聘教育公共基礎(chǔ)知識(shí)真題與答案
- 解讀國(guó)有企業(yè)管理人員處分條例課件
- 2024消防維保投標(biāo)文件模板
- HG∕T 3792-2014 交聯(lián)型氟樹(shù)脂涂料
- 門(mén)診部職責(zé)及管理制度(3篇)
- 安裝門(mén)窗免責(zé)協(xié)議書(shū)
- QB/T 8011-2024 咸鴨蛋黃(正式版)
- 2024醫(yī)療機(jī)構(gòu)重大事故隱患判定清單(試行)學(xué)習(xí)課件
評(píng)論
0/150
提交評(píng)論