JavaWeb寵物店課程設(shè)計報告_第1頁
JavaWeb寵物店課程設(shè)計報告_第2頁
JavaWeb寵物店課程設(shè)計報告_第3頁
JavaWeb寵物店課程設(shè)計報告_第4頁
JavaWeb寵物店課程設(shè)計報告_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、校內(nèi)實訓(xùn)項目報告課 學(xué) 1.1 項目開發(fā)背景PetStore 是 SUN 公司推出的一個寵物店系統(tǒng),是 J2EE 應(yīng)用和學(xué)習(xí)的一個好例子。針對不同的側(cè)重點,具有不同的版本。該系統(tǒng)不同的版本是優(yōu)秀程序員智慧的結(jié)晶。從功能層面來說,這個系統(tǒng)具有:寵物分類展示、下訂單、添加到購物車、瀏覽產(chǎn)品細節(jié)等一系列網(wǎng)上商城所具備的基本功能。1.2 功能介紹1.2.1 整體介紹Petstore 品、下訂單等,圍繞這些功能,系統(tǒng)的設(shè)計分為以下四個部分: 購物車管理(cart 賬戶管理模塊(account 訂單管理(order 1.2.2 詳細說明和正確的密碼才能更改系統(tǒng)內(nèi)部代碼、頁面形式、系統(tǒng)數(shù)據(jù)庫以及管理客戶賬戶

2、等;寵物分類展現(xiàn)部分是系統(tǒng)與客戶的交流界面,用戶在此功能界面上可以瀏覽整個寵物店的所有產(chǎn)品情況,包括:寵物生活習(xí)性、寵物產(chǎn)地、庫存情況、售價等等。用戶在此處還可以點擊單一寵物的鏈接進入更進一步的說明;購物車模塊是系統(tǒng)與用戶賬戶交流的平臺,用戶是否購買某產(chǎn)品將直接反映在這個界面和相關(guān)的數(shù)據(jù)庫上。訂單管理是賬戶管理的配合模塊,是對客戶的賬戶的直接管理和反應(yīng)。1.3 系統(tǒng)開發(fā)平臺 Jdk 即 Java 開發(fā)數(shù)據(jù)包; Web 服務(wù)器 tomcat; Mysql 數(shù)據(jù)庫,用于網(wǎng)站系統(tǒng)文件表格的建立、更改、維護等; MyEclipse,用于編寫、調(diào)試系統(tǒng)代碼、生成發(fā)布。2.1 寵物管理系統(tǒng)功能設(shè)計目標:(

3、1) 實用性強:我們努力使系統(tǒng)符合實際操作流程的習(xí)慣,并盡量減少用戶的輸入,易學(xué)易用的友好的用戶界面,滿足各層次的用戶使用的需求;(2) 理;(3) 人員可以設(shè)置相應(yīng)的操作權(quán)限,增加系統(tǒng)注冊,分配各個欄目的管理權(quán)限,實現(xiàn)系統(tǒng)的維護,保證系統(tǒng)的安全、可靠;(4) 需要,便于后來者分析、維護;(5) 操作簡單,維護方便:每個子系統(tǒng)都具有相對獨立的系統(tǒng)維護功能對可變化的項目可自行維護;(6) 言等按各種方式查詢,可形成各種表單,同時還可對其進行匯總,使管理人員能及時準確地掌握用戶和其寵物的基本情況。2.2 寵物管理系統(tǒng)的總體設(shè)計:本寵物商店管理系統(tǒng)是基于 B/S 結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著I

4、nternet 技術(shù)的興起,對C/S 結(jié)構(gòu)的一種變化或者改進的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過 WWW 瀏覽器來實現(xiàn),極少部分事務(wù)三層 3-tier 結(jié)構(gòu)。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本。2.3 系統(tǒng)詳細功能設(shè)計以及總體結(jié)構(gòu)圖:通過詳細調(diào)查現(xiàn)實世界要處理的對象,充分了解系統(tǒng)的工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴充和改變。系統(tǒng)總體結(jié)構(gòu)圖:主人信息管理寵寵物信息管理主人登陸主人填寫物類目管理監(jiān)護人資料填寫寵物資料填寫用戶注冊用戶修改系統(tǒng)實現(xiàn)的功能: 寵物類別管理 寵物類別查詢 寵

5、物類別修改 寵物類別刪除 新增寵物類別 寵物信息管理 寵物大小類別,是否有傷人危險 寵物是否注冊疫苗,何時,何地 寵物有監(jiān)管人或流浪或被社區(qū)收容 寵物的其他信息以及備注 寵物查詢 寵物修改 寵物刪除 新增寵物 寵物監(jiān)管人管理 寵物監(jiān)管人性別年齡 寵物監(jiān)管人與寵物關(guān)系 寵物監(jiān)管人工作及工作住址 寵物監(jiān)管人聯(lián)系方式等 寵物監(jiān)管人查詢 寵物監(jiān)管人添加 寵物監(jiān)管人信息修改 寵物監(jiān)管人刪除 用戶評論管理 評論內(nèi)容管理 用戶評論查詢 用戶登錄管理 用戶注冊 用戶登錄 用戶密碼修改 相關(guān)文檔管理 文檔信息查看 文檔信息添加 文檔信息刪除 個人信息管理 管理員密碼更改 退出系統(tǒng)2.4 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計:本系統(tǒng)分

6、為 4 大模塊,用戶管理模塊,寵物管理模塊,文檔管理模塊以及留言板管理模塊,其中寵物管理模塊又分為寵物信息管理,寵物類別,寵物監(jiān)管人信息管理。注冊用戶以及管理員分別對數(shù)據(jù)管理擁有自己的權(quán)限。管理管理系統(tǒng) ER 圖2.5 系統(tǒng)的用例圖總體用例圖如圖,用戶管理、寵物,寵物類別及寵物監(jiān)管人管理、留言板管理、文檔管理四個模塊構(gòu)成了本寵物管理系統(tǒng)。User 是指系統(tǒng)用戶,包括普通注冊用戶和管理員兩種,普通注冊用戶只可以查看各種信息,以及添加與自己有關(guān)的信息,管理員才可以添加,查看,刪除,修改各種信息。2.5.2 用戶管理用例分析如圖,用戶管理模塊主要包括:用戶登陸、用戶注冊、用戶信息修改、用戶刪除、用戶

7、信息查詢五個功能組成。2.5.3 寵物,寵物類別及寵物監(jiān)管人管理如圖,寵物,寵物類別,寵物監(jiān)管人信息管理模塊主要包括:寵物信息管理,寵物類別管理,寵物監(jiān)管人信息管理三個功能模塊組成。2.6 系統(tǒng)出錯處理設(shè)計:(4)用戶在添加寵物有的時候,如果有未填寫或為選擇的狀況,需要在該頁面彈出提示3.1 寵物管理系統(tǒng)數(shù)據(jù)庫的實現(xiàn)Hibernate可以通過一個XML的mapping文件把一個POJO(Plainoldjavaobject)XML和數(shù)據(jù)庫中表的映射關(guān)系,然后把這個 mapping 加入到 hibernate.cfg.xml 中,這樣Hibernate在啟動時就可以加載這些載,并且可以對這些Ob

8、ject自動的維護。Session工廠的配置信息:applicationContext-bean.xmlclass=com.oa.services.impl.MessageServicesImpl parent=beanAbstract/class=com.oa.services.impl.OwnerServicesImpl parent=beanAbstract/如表所示,這是寵物信息的表,id 是系統(tǒng)自動生成,其余的分別為寵物姓名,寵物類型,簡介,添加該寵物的用戶id,圖片,年齡是否疫苗,疫苗時間,疫苗地點,是否領(lǐng)養(yǎng),是否傷人等寵物信息。接下來會對它如何連接到工程以及如何實現(xiàn)該功能做詳細介

9、紹。其中圖片在petaction中默認由本地,上傳到服務(wù)器上的upload文件夾中,以便游客瀏覽以及管理員管理,id為系統(tǒng)自動+1生成,userid與user列表中的userid一致,typename與t_type列表中的typename一致,需要t_type預(yù)添加。3.3 寵物管理系統(tǒng)功能說明括寵物的姓名,年齡,寵物的id,上傳圖片,是否疫苗,疫苗事件,疫苗地點,是否領(lǐng)養(yǎng)以及是否傷人等信息。用戶登錄后可以瀏覽別的用戶的寵物信息,而管理員可以對用戶前臺添加的信息進行修改與刪除。3.4主要的寵物信息管理的實現(xiàn)3.4.1 DAO層的實現(xiàn)數(shù)據(jù)訪問層,又稱DAO層,在該層主要完成對象-關(guān)系映射的建立,

10、通過這個映射,再通過訪問業(yè)務(wù)對象即可實現(xiàn)對數(shù)據(jù)庫的訪問,使得開發(fā)中不必再用SQL語句編寫復(fù)雜系映射的配置,可以建立業(yè)務(wù)對象之間的復(fù)雜關(guān)系,如一對多、多對一、一對一、多對多等關(guān)系。這樣就不再需要在數(shù)據(jù)庫中建立表之間的復(fù)雜聯(lián)系,使得業(yè)務(wù)對象之間的關(guān)系和數(shù)據(jù)庫相分離,簡化了數(shù)據(jù)庫的建立和維護。在這一層中主要使用Hibernate框架來實現(xiàn)。Tpet以及Tpet.hbm.xml為hibernate自動生成文件,用于連接數(shù)據(jù)庫。3.4.2 Service層的實現(xiàn)Service為業(yè)務(wù)邏輯層,主要業(yè)務(wù)邏輯包括這些類分別實現(xiàn)了相應(yīng)的接口,這些類在工作的過程中還需要依賴相應(yīng)的DAO對象和JavaBean對象。實

11、際操作時,在Action中通過Service對DAO接口進行調(diào)用,使整個系統(tǒng)有良好的層次。比如這邊Petservices調(diào)用TPet,而PetserviceImpl繼承Petservices,進行查詢、添加、修改和刪除操作。Petservices代碼:import com.oa.models.TPet;import com.oa.utils.PageInfo;public interface PetServices /查詢public PageInfo queryPet(int currentpage, int pageunit,HttpServletRequest request, Stri

12、ng url, String cond);/添加public Boolean addPet(TPet pet);/修改public Boolean updatePet(TPet pet);/ID查詢public TPet getPet(Integer id);/刪除public TPet delPet(Integer id);PetserviceImpl主要代碼:public class PetServicesImpl extends AbstractServices implements PetServices /查詢public PageInfo queryPet(int currentp

13、age, int pageunit,HttpServletRequest request, String url, String cond) int rowCount = this.getPetsCount(cond);List list = this.getPets(currentpage,pageunit, cond);PageInfo PageInfo = new PageInfo(currentpage, pageunit, rowCount, url,list);return PageInfo;/獲得public List getPets(int currentpage, int p

14、ageunit,String cond) try String hql = from TPet a where 1=1 + cond;return this.query(hql, currentpage, pageunit); catch (Exception e) e.printStackTrace();return null;/添加public Boolean addPet(TPet pet) save(pet);return true;3.4.3 Action層的實現(xiàn)Action用于處理視圖層與業(yè)務(wù)層之間的銜接,當頁面產(chǎn)生一個動作請求時候,通過Struts配置文件找到對應(yīng)的ActionA

15、ction處理后返回結(jié)果并從Struts的配置文件中找到對應(yīng)的跳轉(zhuǎn)頁面。查詢代碼:public String queryPet() throws Exceptionif (getSessionAttribute(querypageunit) = null) setSessionAttribute(querypageunit,this.pageunit);StringBuffer cond = new StringBuffer();if(null!=searchname&!=searchname.trim()cond.append( and a.petname like %+searchname

16、.trim()+% );int curpage =Integer.parseInt(this.getCurrentpage(ServletActionContext.getRequest();int pageunit =Integer.parseInt(this.getPageunit(ServletActionContext.getRequest(),querypageunit);String url = pet_queryPet?a=a;PageInfo pageInfo = this.petServices.queryPet(curpage,pageunit,ServletActionC

17、ontext.getRequest(), url,cond.toString();setRequestAttribute(pageinfo, pageInfo);setRequestAttribute(searchname, this.searchname);return queryPet;預(yù)添加以及添加代碼:public String preaddPet() throws ExceptionList list = typeServices.queryType();setRequestAttribute(list,list);return preaddPet;public String add

18、Pet() throws ExceptionTUser user = (TUser) getSessionAttribute(user);TPet pet = new TPet();pet.setAge(age);pet.setIsbiter(isbiter);pet.setIsuser(isuser);pet.setPetname(petname);pet.setRemark(remark);pet.setTypename(typename);pet.setUserid(user.getUsername();pet.setVacadrr(vacadrr);pet.setVaccin(vacc

19、in);pet.setVaccin(vaccin);pet.setVacdate(vacdate);/ 將圖片上傳到工程下的upload文件夾中String targetDirectory = ServletActionContext.getRequest().getRealPath(/upload);String targetFileName = generateFileName(pictureFileName);File target = new File(targetDirectory, targetFileName);FileUtils.copyFile(picture, target

20、);pet.setPicture(targetFileName);petServices.addPet(pet);return addPet;預(yù)添加將后臺管理員添加的寵物類型添加到寵物信息,添加功能中有圖片上傳。查看代碼:public String viewPet() throws ExceptionTPet pet = petServices.getPet(id);setRequestAttribute(pet,pet);return viewPet;其余修改刪除代碼等省略。struts中寵物管理功能的實現(xiàn):/files/pet/list.jsppet_queryPet3.4.4 靜態(tài)Jps頁面的實現(xiàn)表現(xiàn)層其余靜態(tài)頁面運用css模塊統(tǒng)一風(fēng)格,其中pet功能頁面代碼均在files/pet/文件夾 的表現(xiàn)層標簽,JSP可完成全部的表現(xiàn)層功能一一數(shù)據(jù)收集、數(shù)據(jù)表示和客戶端數(shù)據(jù)校驗產(chǎn)品的簡錄的鏈接展示在此處,能從此處進product界面。錄和注冊、幫助功能、返回功能等。界面運行情況如下:系統(tǒng)主界面鈕,可以進入登錄窗口。地、習(xí)性、價格、庫存,同時還有議案家購物車的連接部分。界面運行情況如下:為保證網(wǎng)站整體風(fēng)格一致,還需設(shè)

溫馨提示

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

評論

0/150

提交評論