JavaWeb寵物店課程設(shè)計(jì)報(bào)告.doc_第1頁(yè)
JavaWeb寵物店課程設(shè)計(jì)報(bào)告.doc_第2頁(yè)
JavaWeb寵物店課程設(shè)計(jì)報(bào)告.doc_第3頁(yè)
JavaWeb寵物店課程設(shè)計(jì)報(bào)告.doc_第4頁(yè)
JavaWeb寵物店課程設(shè)計(jì)報(bào)告.doc_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

校內(nèi)實(shí)訓(xùn)項(xiàng)目報(bào)告課 題:寵物商店管理系統(tǒng)設(shè)計(jì)學(xué) 院: _ _ _ _學(xué)生姓名: _ _ _ _指導(dǎo)教師: _ _ _ _ 一、需求分析1.1項(xiàng)目開(kāi)發(fā)背景PetStore 是SUN公司推出的一個(gè)寵物店系統(tǒng),是J2EE應(yīng)用和學(xué)習(xí)的一個(gè)好例子。針對(duì)不同的側(cè)重點(diǎn),具有不同的版本。該系統(tǒng)不同的版本是優(yōu)秀程序員智慧的結(jié)晶。從功能層面來(lái)說(shuō),這個(gè)系統(tǒng)具有:寵物分類展示、下訂單、添加到購(gòu)物車(chē)、瀏覽產(chǎn)品細(xì)節(jié)等一系列網(wǎng)上商城所具備的基本功能。1.2 功能介紹1.2.1 整體介紹Petstore提供網(wǎng)上商城系統(tǒng)所必需的功能:用戶身份認(rèn)證、商品信息列表、選購(gòu)商品、下訂單等,圍繞這些功能,系統(tǒng)的設(shè)計(jì)分為以下四個(gè)部分: l 寵物分類展現(xiàn)和寵物查找模塊(catalog部分),供用戶瀏覽、查找并選購(gòu)寵物。l 購(gòu)物車(chē)管理(cart部分),供用戶查看購(gòu)物車(chē)的情況,并作出是否購(gòu)買(mǎi)的選擇。l 賬戶管理模塊(account部分),為用戶提供注冊(cè)和賬戶登錄功能。l 訂單管理(order部分),供用戶管理自己的賬單。1.2.2 詳細(xì)說(shuō)明 寵物商店用戶通過(guò)賬戶管理模塊登錄或者注冊(cè)新用戶,只有擁有經(jīng)過(guò)注冊(cè)的用戶名和正確的密碼才能更改系統(tǒng)內(nèi)部代碼、頁(yè)面形式、系統(tǒng)數(shù)據(jù)庫(kù)以及管理客戶賬戶等;寵物分類展現(xiàn)部分是系統(tǒng)與客戶的交流界面,用戶在此功能界面上可以瀏覽整個(gè)寵物店的所有產(chǎn)品情況,包括:寵物生活習(xí)性、寵物產(chǎn)地、庫(kù)存情況、售價(jià)等等。用戶在此處還可以點(diǎn)擊單一寵物的鏈接進(jìn)入更進(jìn)一步的說(shuō)明;購(gòu)物車(chē)模塊是系統(tǒng)與用戶賬戶交流的平臺(tái),用戶是否購(gòu)買(mǎi)某產(chǎn)品將直接反映在這個(gè)界面和相關(guān)的數(shù)據(jù)庫(kù)上。訂單管理是賬戶管理的配合模塊,是對(duì)客戶的賬戶的直接管理和反應(yīng)。1.3 系統(tǒng)開(kāi)發(fā)平臺(tái)l Jdk 即Java開(kāi)發(fā)數(shù)據(jù)包;l Web服務(wù)器tomcat;l Mysql數(shù)據(jù)庫(kù),用于網(wǎng)站系統(tǒng)文件表格的建立、更改、維護(hù)等;l MyEclipse,用于編寫(xiě)、調(diào)試系統(tǒng)代碼、生成發(fā)布。二、系統(tǒng)設(shè)計(jì)2.1寵物管理系統(tǒng)功能設(shè)計(jì)目標(biāo):(1) 實(shí)用性強(qiáng):我們努力使系統(tǒng)符合實(shí)際操作流程的習(xí)慣,并盡量減少用戶的輸入,易學(xué)易用的友好的用戶界面,滿足各層次的用戶使用的需求;(2) 先進(jìn)的程序結(jié)構(gòu):使用當(dāng)代前衛(wèi)的軟件編程,能延長(zhǎng)其生命周期,易于維護(hù)與管理;(3) 安全可靠性高:后臺(tái)維護(hù)功能齊全,根據(jù)平臺(tái)在各個(gè)階段不同的使用情況,管理人員可以設(shè)置相應(yīng)的操作權(quán)限,增加系統(tǒng)注冊(cè),分配各個(gè)欄目的管理權(quán)限,實(shí)現(xiàn)系統(tǒng)的維護(hù),保證系統(tǒng)的安全、可靠;(4) 使用模塊化設(shè)計(jì)的方法:使系統(tǒng)具有良好的可擴(kuò)充性,以適應(yīng)其不同階段的發(fā)展需要,便于后來(lái)者分析、維護(hù);(5) 操作簡(jiǎn)單,維護(hù)方便:每個(gè)子系統(tǒng)都具有相對(duì)獨(dú)立的系統(tǒng)維護(hù)功能對(duì)可變化的項(xiàng)目可自行維護(hù);(6) 查詢功能強(qiáng)大:可以對(duì)寵物的基本情況、用戶基本情況,寵物主人信息,用戶留言等按各種方式查詢,可形成各種表單,同時(shí)還可對(duì)其進(jìn)行匯總,使管理人員能及時(shí)準(zhǔn)確地掌握用戶和其寵物的基本情況。2.2 寵物管理系統(tǒng)的總體設(shè)計(jì):本寵物商店管理系統(tǒng)是基于B/S架構(gòu)下的多層結(jié)構(gòu)應(yīng)用系統(tǒng)。B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過(guò)WWW瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡(jiǎn)化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本。2.3 系統(tǒng)詳細(xì)功能設(shè)計(jì)以及總體結(jié)構(gòu)圖:通過(guò)詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象,充分了解系統(tǒng)的工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴(kuò)充和改變。系統(tǒng)總體結(jié)構(gòu)圖: 寵物管理平臺(tái)主人信息管理寵物信息管理論壇寵物監(jiān)護(hù)人信息寵物類目管理主人填寫(xiě)主人登陸寵物信息管理用戶注冊(cè)用戶修改監(jiān)護(hù)人資料填寫(xiě)寵物資料填寫(xiě)文檔管理系統(tǒng)實(shí)現(xiàn)的功能:l 寵物類別管理 寵物類別查詢 寵物類別修改 寵物類別刪除 新增寵物類別l 寵物信息管理 寵物大小類別,是否有傷人危險(xiǎn) 寵物是否注冊(cè)疫苗,何時(shí),何地 寵物有監(jiān)管人或流浪或被社區(qū)收容 寵物的其他信息以及備注 寵物查詢 寵物修改 寵物刪除 新增寵物l 寵物監(jiān)管人管理 寵物監(jiān)管人性別年齡 寵物監(jiān)管人與寵物關(guān)系 寵物監(jiān)管人工作及工作住址 寵物監(jiān)管人聯(lián)系方式等 寵物監(jiān)管人查詢 寵物監(jiān)管人添加 寵物監(jiān)管人信息修改 寵物監(jiān)管人刪除l 用戶評(píng)論管理 評(píng)論內(nèi)容管理 用戶評(píng)論查詢l 用戶登錄管理 用戶注冊(cè) 用戶登錄 用戶密碼修改l 相關(guān)文檔管理 文檔信息查看 文檔信息添加 文檔信息刪除l 個(gè)人信息管理 管理員密碼更改 退出系統(tǒng)2.4 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì):本系統(tǒng)分為4大模塊,用戶管理模塊,寵物管理模塊,文檔管理模塊以及留言板管理模塊,其中寵物管理模塊又分為寵物信息管理,寵物類別,寵物監(jiān)管人信息管理。注冊(cè)用戶以及管理員分別對(duì)數(shù)據(jù)管理?yè)碛凶约旱臋?quán)限。圖4-2:整體框架E-R圖用戶名密碼管理員管理寵物管理系統(tǒng)管理登錄注冊(cè)用戶修改密碼寵物信息監(jiān)管人信息寵物類型文檔信息留言信息用戶信息增加留言添加管理員增加寵物以及監(jiān)管人信息注冊(cè)用戶查看文檔系統(tǒng)ER圖2.5系統(tǒng)的用例圖2.5.1 總體用例分析總體用例圖如圖,用戶管理、寵物,寵物類別及寵物監(jiān)管人管理、留言板管理、文檔管理四個(gè)模塊構(gòu)成了本寵物管理系統(tǒng)。User是指系統(tǒng)用戶,包括普通注冊(cè)用戶和管理員兩種,普通注冊(cè)用戶只可以查看各種信息,以及添加與自己有關(guān)的信息,管理員才可以添加,查看,刪除,修改各種信息。2.5.2 用戶管理用例分析用戶管理用例圖如圖,用戶管理模塊主要包括:用戶登陸、用戶注冊(cè)、用戶信息修改、用戶刪除、用戶信息查詢五個(gè)功能組成。2.5.3寵物,寵物類別及寵物監(jiān)管人管理信息管理用例圖如圖,寵物,寵物類別,寵物監(jiān)管人信息管理模塊主要包括:寵物信息管理,寵物類別管理,寵物監(jiān)管人信息管理三個(gè)功能模塊組成。2.5.4留言板管理留言板管理用例圖如圖,留言板管理模塊主要包括:留言板列表,留言板內(nèi)容兩個(gè)個(gè)內(nèi)容組成。2.5.5文檔管理 文檔管理用例圖文檔管理模塊主要包括:文章列表、文章內(nèi)容兩個(gè)內(nèi)容組成。2.6 系統(tǒng)出錯(cuò)處理設(shè)計(jì):(1)用戶輸入賬號(hào)跟密碼錯(cuò)誤,需要在登錄框提示“信息錯(cuò)誤,請(qǐng)重新填寫(xiě)!”。(2) 用戶注冊(cè)賬戶時(shí)用了跟別人一樣的賬戶名,需要在注冊(cè)頁(yè)面提示“用戶名已存在!”。(3)用戶在提交注冊(cè)信息時(shí),有姓名賬號(hào)密碼等未填寫(xiě)時(shí),需要彈出提示框:“未填寫(xiě)的內(nèi)容不能為空!”。(4)用戶在添加寵物有的時(shí)候,如果有未填寫(xiě)或?yàn)檫x擇的狀況,需要在該頁(yè)面彈出提示框“未填寫(xiě)的內(nèi)容不能為空!”。三、寵物管理系統(tǒng)的實(shí)現(xiàn)3.1 寵物管理系統(tǒng)數(shù)據(jù)庫(kù)的實(shí)現(xiàn)Hibernate可以通過(guò)一個(gè)XML的mapping文件把一個(gè)POJO(Plain old java object)和數(shù)據(jù)庫(kù)中的表對(duì)應(yīng)起來(lái),在這個(gè)XML文件(一般命名為*.hbm.xml)中,配置好Object和數(shù)據(jù)庫(kù)中表的映射關(guān)系,然后把這個(gè)mapping加入到hibernate.cfg.xml中,這樣Hibernate在啟動(dòng)時(shí)就可以加載這些mapping,并可以根據(jù)配置文件對(duì)對(duì)象實(shí)現(xiàn)自動(dòng)的加載,并且可以對(duì)這些Object自動(dòng)的維護(hù)。Session工廠的配置信息:applicationContext-bean.xml以上代碼是applicationContext-bean.xml文件中Session工廠的配置信息寵物信息數(shù)據(jù)庫(kù)表:如表所示,這是寵物信息的表,id是系統(tǒng)自動(dòng)生成,其余的分別為寵物姓名,寵物類型,簡(jiǎn)介,添加該寵物的用戶id,圖片,年齡是否疫苗,疫苗時(shí)間,疫苗地點(diǎn),是否領(lǐng)養(yǎng),是否傷人等寵物信息。接下來(lái)會(huì)對(duì)它如何連接到工程以及如何實(shí)現(xiàn)該功能做詳細(xì)介紹。其中圖片在petaction中默認(rèn)由本地,上傳到服務(wù)器上的upload文件夾中,以便游客瀏覽以及管理員管理,id為系統(tǒng)自動(dòng)+1生成,userid與user列表中的userid一致,typename與t_type列表中的typename一致,需要t_type預(yù)添加。3.3 寵物管理系統(tǒng)功能說(shuō)明根據(jù)對(duì)寵物管理系統(tǒng)業(yè)務(wù)流程的分析,用戶登錄后要能自己添加自己的寵物信息,包括寵物的姓名,年齡,寵物的id,上傳圖片,是否疫苗,疫苗事件,疫苗地點(diǎn),是否領(lǐng)養(yǎng)以及是否傷人等信息。用戶登錄后可以瀏覽別的用戶的寵物信息,而管理員可以對(duì)用戶前臺(tái)添加的信息進(jìn)行修改與刪除。3.4主要的寵物信息管理的實(shí)現(xiàn)3.4.1 DAO層的實(shí)現(xiàn)數(shù)據(jù)訪問(wèn)層,又稱DAO層,在該層主要完成對(duì)象-關(guān)系映射的建立,通過(guò)這個(gè)映射,再通過(guò)訪問(wèn)業(yè)務(wù)對(duì)象即可實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),使得開(kāi)發(fā)中不必再用SQL語(yǔ)句編寫(xiě)復(fù)雜的數(shù)據(jù)庫(kù)訪問(wèn)程序,這樣就簡(jiǎn)化了對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),提高了開(kāi)發(fā)效率。同時(shí)通過(guò)對(duì)象-關(guān)系映射的配置,可以建立業(yè)務(wù)對(duì)象之間的復(fù)雜關(guān)系,如一對(duì)多、多對(duì)一、一對(duì)一、多對(duì)多等關(guān)系。這樣就不再需要在數(shù)據(jù)庫(kù)中建立表之間的復(fù)雜聯(lián)系,使得業(yè)務(wù)對(duì)象之間的關(guān)系和數(shù)據(jù)庫(kù)相分離,簡(jiǎn)化了數(shù)據(jù)庫(kù)的建立和維護(hù)。在這一層中主要使用Hibernate框架來(lái)實(shí)現(xiàn)。Tpet以及Tpet.hbm.xml為hibernate自動(dòng)生成文件,用于連接數(shù)據(jù)庫(kù)。3.4.2 Service層的實(shí)現(xiàn)Service為業(yè)務(wù)邏輯層,主要業(yè)務(wù)邏輯包括這些類分別實(shí)現(xiàn)了相應(yīng)的接口,這些類在工作的過(guò)程中還需要依賴相應(yīng)的DAO對(duì)象和JavaBean對(duì)象。實(shí)際操作時(shí),在Action中通過(guò)Service對(duì)DAO接口進(jìn)行調(diào)用,使整個(gè)系統(tǒng)有良好的層次。比如這邊Petservices調(diào)用TPet,而PetserviceImpl繼承Petservices,進(jìn)行查詢、添加、修改和刪除操作。Petservices代碼:import com.oa.models.TPet;import com.oa.utils.PageInfo;public interface PetServices /查詢public PageInfo queryPet(int currentpage, int pageunit,HttpServletRequest request, String 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 currentpage, 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 pageunit,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層的實(shí)現(xiàn)Action用于處理視圖層與業(yè)務(wù)層之間的銜接,當(dāng)頁(yè)面產(chǎn)生一個(gè)動(dòng)作請(qǐng)求時(shí)候,通過(guò)Struts配置文件找到對(duì)應(yīng)的Action中的接口,經(jīng)過(guò)Action處理后返回結(jié)果并從Struts的配置文件中找到對(duì)應(yīng)的跳轉(zhuǎn)頁(yè)面。查詢代碼: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.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, ServletActionContext.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 addPet() 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(vaccin);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);pet.setPicture(targetFileName);petServices.addPet(pet);return addPet;預(yù)添加將后臺(tái)管理員添加的寵物類型添加到寵物信息,添加功能中有圖片上傳。查看代碼:public String viewPet() throws ExceptionTPet pet = petServices.getPet(id);setRequestAttribute(pet,pet);return viewPet;其余修改刪除代碼等省略。struts中寵物管理功能的實(shí)現(xiàn): /files/pet/list.jsp pet_queryPet pet_queryPet pet_queryPet /files/pet/add.jsp /files/pet/update.jsp /files/pet/view.jsp 3.4.4 靜態(tài)Jps頁(yè)面的實(shí)現(xiàn)表現(xiàn)層其余靜態(tài)頁(yè)面運(yùn)用css模塊統(tǒng)一風(fēng)格,其中pet功能頁(yè)面代碼均在files/pet/文件夾中,添加寵物信息為add.jsp,查看寵物信息為view.jsp,查看寵物列表為list.jsp,修改寵物信息為update.jsp,由struts控制跳轉(zhuǎn),代碼略。結(jié)合Struts 的表現(xiàn)層標(biāo)簽, JSP 可完成全部的表現(xiàn)層功能一一數(shù)據(jù)收集、數(shù)據(jù)表示和客戶端數(shù)據(jù)校驗(yàn)四、實(shí)現(xiàn)效果主界面,要求具有分類展現(xiàn)功能,網(wǎng)站產(chǎn)品再次一覽無(wú)余。要求:據(jù)右側(cè)邊條將所有產(chǎn)品的簡(jiǎn)錄的鏈接展示在此處,能從此處進(jìn)product界面。界面中間部分是圖形界面要求生動(dòng)且說(shuō)明性強(qiáng),充分展示產(chǎn)品的風(fēng)格。此外還要有登錄和注冊(cè)、幫助功能、返回功能等。界面運(yùn)行情況如下:系統(tǒng)主界面客戶瀏覽網(wǎng)站時(shí)通過(guò)點(diǎn)擊左邊的邊跳導(dǎo)航,可以進(jìn)入品種列表界面。通過(guò)點(diǎn)擊登錄按鈕,可以進(jìn)入登錄窗口。品種列表信息界面:這是某一類寵物的詳細(xì)的展示,界面中部是產(chǎn)品列表,但只是簡(jiǎn)單展示。進(jìn)一步展示在其下屬界面中。界面運(yùn)行情況如下(貓類): 品種列表信息界面單一寵物所有信息展示界面,此界面中部是單一寵物的詳細(xì)信息列表,包括照片、產(chǎn)地、習(xí)性、價(jià)格、庫(kù)存,同時(shí)還有議案家購(gòu)物車(chē)的連接部分。界面運(yùn)行情況如下: 犬類信息展示登錄窗口界面:是客戶登陸網(wǎng)站的界面,有供客戶

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論