




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、綏化學(xué)院畢業(yè)論文個人在線售書網(wǎng)站學(xué) 生 姓 名 學(xué) 號 專 業(yè) 計算機科學(xué)與技術(shù) 指 導(dǎo) 教 師 綏化學(xué)院Suihua University Graduation Design SpecificationPersonal Online Sell Book Website Student name Liu Yanzhi Student number Major Computer Science & Technology Supervising teacher Liu JingLian Suihua University摘 要隨著計算機技術(shù)、網(wǎng)絡(luò)技術(shù)、通信技術(shù)的迅速發(fā)展和人們生活水平及需要的不斷提
2、高,越來越多的網(wǎng)絡(luò)商店走入了大眾的生活,對網(wǎng)站的設(shè)計和實現(xiàn)技術(shù)要求也越來越高。JAVA語言是目前Internet上大型的WEB應(yīng)用程序開發(fā)時使用得最熱門的編程語言,本文描述了JAVA和JSP技術(shù)的特點以及在互聯(lián)網(wǎng)上的使用情況,介紹這兩種技術(shù)的重要編程方法和兩者之關(guān)的聯(lián)系,同時也會應(yīng)用相關(guān)的Struts框架,并完成一個基于這種技術(shù)的網(wǎng)上書店系統(tǒng)。關(guān)鍵詞:JAVA;Struts;Servlet, JSP;網(wǎng)絡(luò)編程;網(wǎng)上書店AbstractWith computer technology, network technology, communications technology and the r
3、apid development of the living standards of the people and the need continues to improve, More and more shops will enter into a network of public life.Website on the design and implementation techniques are increasingly high requirements. At present JAVA is the hottest programming language for WEB d
4、evelopment, This text described the characteristics of JAVA and JSP technology and the state of operating on Internet, It introduced the relationship between them and the important programming method of the double technology, And also show the Struts technology, And work out an online bookstore syst
5、em base on this kind of technology. Keywords: JAVA, Struts, Servlet, JSP, web program, bookshop目 錄摘 要IAbstractII目 錄III第1章 課題簡介11.1 課題背景11.2 課題任務(wù)1第2章 系統(tǒng)分析32.1 可行性分析32.2 功能需求分析42.3開發(fā)工具選擇4第3章 系統(tǒng)設(shè)計53.1 模塊設(shè)計53.2 數(shù)據(jù)庫設(shè)計7第4章 網(wǎng)站實現(xiàn)104.1 登錄模塊104.2用戶注冊模塊124.3管理員功能模塊134.4定單處理模塊144.5圖書查詢模塊165部分頁面運行結(jié)果以及系統(tǒng)配置說明:17第5
6、章 測試195.1 測試計劃195.3 評價20結(jié) 論21參考文獻(xiàn)22附錄23用戶操作手冊421安裝方法422操作方法42第1章 課題簡介1.1 課題背景隨著Internet信息技術(shù)的高速發(fā)展和個人、企業(yè)上網(wǎng)的迅速普及,企業(yè)的WWW網(wǎng)站在商業(yè)活動中發(fā)揮著越來越大的作用,在信息時代,建立一個功能強大、界面美觀的購物網(wǎng)站,建立電子購物系統(tǒng)平臺,對生活的發(fā)展是至關(guān)重要的。Java是一種簡單易用、完全面向?qū)ο?、具有平臺無關(guān)性且安全可靠的主要面向Internet的開發(fā)工具。自從1995年正式問世以來,Java的快速發(fā)展已經(jīng)讓整個Web世界發(fā)生了翻天覆地的變化。在早期,Java比較多的用在瀏覽器上,插入到
7、網(wǎng)頁中(即是Java Applet程序),成為最靈活、最強大的網(wǎng)頁多媒體的載體,但由于Java虛擬機相對于個人電腦而言,有占用資源大,安全性相對較差等缺點,Applet逐漸的被后起之秀Flash所替代,但隨著Java Servlet的推出,Java在電子購物方面開始嶄露頭角,最新的JSP(Java Server Page)技術(shù)的推出,更是讓Java成為基于Web的應(yīng)用程序的首選開發(fā)工具,目前的Java技術(shù)已成為所有大型電子購物項目的必然選擇。1.2 課題任務(wù)本課題采用Java,JSP和MySQL數(shù)據(jù)庫管理系統(tǒng)開發(fā),課題主要任務(wù)圍繞個人在線售書網(wǎng)站功能的設(shè)計與實現(xiàn)展開,具體任務(wù)如下:(1) 當(dāng)客
8、戶進(jìn)入網(wǎng)上書店時,應(yīng)該在主頁面中分類顯示最新的書目信息,以供客戶選擇所需圖書,同時也應(yīng)該提供按照圖書名稱,或者作者住處快速查詢所需書目信息的功能。(2) 當(dāng)客戶選擇購買某圖書產(chǎn)品時,應(yīng)該能夠?qū)?yīng)圖書信息,例如:價格、數(shù)量記錄到購物車中,并允許客戶返回書目查詢頁面,選擇其他商品,并添加到購物車中,當(dāng)對購物訂單生成后,應(yīng)該能夠自動清除以生成訂單的購物車中的信息。根據(jù)調(diào)研結(jié)果,進(jìn)行需求分析,形成需求分析文檔。(3) 對應(yīng)客戶購買圖書商品信息的需求,在確定了所購圖書商品的價格、數(shù)量等信息后,最終生成對應(yīng)的訂單記錄,以便于網(wǎng)站配貨人員依據(jù)訂單信息進(jìn)行后續(xù)的出貨、送貨和處理。(4) 數(shù)據(jù)庫設(shè)計,給出個人
9、在線售書網(wǎng)站的數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計,分析各個實體的關(guān)系模型,設(shè)計數(shù)據(jù)庫中各個表的結(jié)構(gòu)。(5) 系統(tǒng)實現(xiàn),給出系統(tǒng)模塊中界面和功能的具體設(shè)計與實現(xiàn)過程。(6) 系統(tǒng)測試,測試各個功能模塊是否滿足個人在線售書網(wǎng)站的需求。第2章 系統(tǒng)分析2.1 可行性分析1經(jīng)濟(jì)可行性從經(jīng)濟(jì)角度看,書店對系統(tǒng)的投資要小于系統(tǒng)對書店的回報,書店決策者才會實施系統(tǒng)計劃。從本系統(tǒng)開發(fā)的角度出發(fā),系統(tǒng)開發(fā)成功會減低人員費用的支出,辦公用品的支出,同時,大量的用戶增加會給書店無法量化的估計,會使書店獲得更大的收益。因此綜上所述,該系統(tǒng)在經(jīng)濟(jì)上是完全可行的。2操作可行性本系統(tǒng)大概需要二個月的時間完成。前三個星期主要是以看書以及收集
10、有關(guān)系統(tǒng)方面的資料為主,接下來就是對系統(tǒng)的分析,到做數(shù)據(jù)庫,界面,以及中間的連接。系統(tǒng)對于熟悉JSP編程的學(xué)生來說是可行的。3技術(shù)可行性(1)硬件:計算機的存儲量大,運算速度快,外部設(shè)備的功能好、效率高、可靠性高,通信設(shè)備的能力、質(zhì)量都可以滿足要求。(2)系統(tǒng)軟件:1操作系統(tǒng)Windows XP/2000接口能力強,數(shù)據(jù)庫管理系統(tǒng)的功能足夠。2Java語言是一種優(yōu)秀的編程語言。它最大的優(yōu)點就是與平臺無關(guān),在Windows 、Linux以及其它平臺上,都可以使用相同的代碼?!耙淮尉帉?,到處運行”的特點,使其在互聯(lián)網(wǎng)上廣泛采用。JSP+JavaBeans幾乎可以在所有平臺上通行無阻,從一個平臺移植
11、到另外一個平臺,JSP和JavaBeans甚至不用重新編譯。除此之外Java語言還提供了一些有用的新特性,使得使用Java語言比C+語言更容易寫出“無錯代碼”。(3)有專用的開發(fā)應(yīng)用軟件:1MySQL-Front,主要針對數(shù)據(jù)庫的建立。2.2 功能需求分析通過對網(wǎng)站設(shè)計的目的及意義的理解,根據(jù)用戶的需求,該系統(tǒng)應(yīng)實現(xiàn)以下功能:1提供用戶信息登陸功能。 查看各種最新的書籍,便于客戶購物2對客戶一些常見的疑難問題進(jìn)行回答。3 購物車功能,記錄客戶的購物情況。4.對書籍的出版社進(jìn)行修改和刪除管理。5記錄書籍的基本資料,并可以進(jìn)行添加書籍信息。6. 記錄會員的基本資料,并可以進(jìn)行刪除會員信息。7. 記
12、錄客戶的定單資料,并可以進(jìn)行處理。8. 記錄管理員的資料,并可以對其進(jìn)行添加資料。2.3開發(fā)工具選擇1JDK1.62MYSQL 7+MySQL-Front3. MyEclipse-9.0M1-win324. Apache-tomcat-6.0.14第3章 系統(tǒng)設(shè)計3.1 模塊設(shè)計該網(wǎng)上書店系統(tǒng)的功能在系統(tǒng)的需求分析已確定,共分為5大功能模塊。各模塊之間并非各個獨立,而是相互聯(lián)系,相互關(guān)聯(lián)在一起的,從而使本系統(tǒng)能夠很好的完成所設(shè)計的功能。該網(wǎng)上書店的功能模塊及其子模塊如圖所示: 1) 系統(tǒng)關(guān)系結(jié)構(gòu)圖瀏覽器WEB服務(wù)器java文件數(shù)據(jù)庫WEB服務(wù)WEB請求請求結(jié)果2) 數(shù)據(jù)流圖a)
13、頂層數(shù)據(jù)流圖顧客管理員網(wǎng)上購書系統(tǒng)處理購書,修改資料b) 第二層數(shù)據(jù)流圖顧客管理員接受事務(wù)事務(wù)處理輸出事務(wù)c) 第三層數(shù)據(jù)流圖顧客管理員接受事務(wù)購書處理生成訂單處理修改資料處理會員信息訂單信息3) 數(shù)據(jù)字典名字:顧客名字:修改資料處理名字:管理員名字:生成訂單處理名字:購書處理名字:接受事務(wù)描述:網(wǎng)上購書的人定義:顧客=網(wǎng)上購書的人描述:顧客修改自己的資料處理定義:修改資料處理=客戶信息修改處理描述:維護(hù)網(wǎng)站的人定義:管理員=維護(hù)網(wǎng)站的人描述:對顧客的所以訂單的處理定義:生成訂單處理 +書名+購書數(shù)量描述:對顧客購書的處理定義:購書處理=當(dāng)前訂單+最終訂單描述:接受外部輸入定義:接受事實=接受
14、顧客、管理員的輸入 3.2 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的好壞直接對應(yīng)用系統(tǒng)的效率及實現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整和一致。本項目使用MySQL作為數(shù)據(jù)庫,其中數(shù)據(jù)庫名為科研,數(shù)據(jù)庫db_eshop中主要包括admin(管理員登錄表),cart(購物車表),cartselectedmer(購物表),category(圖書分類表),leaveword(留言表),member(用戶表),memberlevel(權(quán)限表),merchandise(圖書信息表),orders(訂單表)9個表,具體設(shè)計如下:1admin(管理員登錄表)管理員登錄表主要用來對管理員
15、分類,包括主鍵,管理員類型,管理員名稱,登陸賬號,登陸密碼五個字段,具體設(shè)計如表31所示。表31 admin(管理員登陸表)字段數(shù)據(jù)類型長度描述ID AdminType AdminNameLoginNameLoginPwdintint charcharchar44121212主鍵管理員類型管理員名稱 登陸賬號 登陸密碼2cartselectedmer(購物表)購物表購物車號、所需價格的大小、數(shù)量和總價。其中id是主鍵,該數(shù)據(jù)表的結(jié)構(gòu)如表32所示。表32 cartselectedmer(購物表)字段名數(shù)據(jù)類型長度描述IDCartMerchandiseNumberPriceMoneyintinti
16、ntintdecimaldecimal44448,29,2Id購物車號圖書號數(shù)量單價總價3category(圖書分類表)為了便于查看,將不同種類的書放在不同的分類下,該數(shù)據(jù)表的結(jié)構(gòu)如表33所示。表33 category(圖書分類表)字段名數(shù)據(jù)類型長度描述IDCateNameCateDescintchartext440分類號分類名描述4leaveword(留言表)為了了解用戶的需求,設(shè)立的留言區(qū)讓用戶發(fā)表自己的觀點,或是與他人分享一些心得體會。該數(shù)據(jù)表的結(jié)構(gòu)如表34所示。表34 leaveword(留言表)字段數(shù)據(jù)類型長度描述IDMemberAdminTitle ContentLeaveDate
17、AnswerContentAnswerDateintintintchartextdatetimetextdatetime44460主鍵成員號登陸號標(biāo)題內(nèi)容時間回復(fù)內(nèi)容日期第4章 網(wǎng)站實現(xiàn)4.1 登錄模塊為了提高系統(tǒng)的安全性防止非法用戶登錄該網(wǎng)站,用戶必須要正確輸入賬號才能在此網(wǎng)站購物。因此設(shè)計了登陸框為網(wǎng)站的登錄界面是網(wǎng)站的入口。1實現(xiàn)目標(biāo)首先進(jìn)入網(wǎng)站,輸入賬號和密碼,如圖41所示。圖41 登錄塊當(dāng)輸入帳號和密碼信息,點擊登錄按鈕,如果輸入用戶信息與數(shù)據(jù)中用戶表匹配,則登錄成功,出現(xiàn)主界面,如圖42所示。圖42 主界面當(dāng)輸入用戶信息與數(shù)據(jù)庫中信息不匹配,登錄失敗,給出提示信息,具體如圖43所示
18、。 圖43 登錄失敗界面2實現(xiàn)過程這里介紹用戶登錄的程序設(shè)計思路,數(shù)據(jù)庫中存放有用戶的基本信息,用戶在網(wǎng)站中輸入相關(guān)信息,通過匹配檢測,便可以知道數(shù)據(jù)的有效性,下面是登錄程序流程圖如下圖4.1所示:圖 4.1 登陸程序流程圖登陸模塊中的主要程序:public Member memLogin(String loginName, String loginPwd) throws Exception Session session = MySessionFactory.getSession();Transaction tx = null;Member mem = null;tryString hql
19、= select a from Member as a where a.loginName=:loginName and a.loginPwd=:loginPwd;Query query = session.createQuery(hql);query.setString(loginName, loginName);query.setString(loginPwd, loginPwd);query.setMaxResults(1);tx = session.beginTransaction();mem = (Member)query.uniqueResult();mem.setLoginTim
20、es(Integer.valueOf(mem.getLoginTimes().intValue()+1);mem.setLastDate(new Date();session.update(mem);mit();catch(Exception ex)if(tx!=null)tx.rollback();(在執(zhí)行MemServiceImpl類中的memLogin方法時出錯:n);ex.printStackTrace();finallyMySessionFactory.closeSession();return mem;4.2用戶注冊模塊注冊模塊,會出現(xiàn)在很多程序中,這里借鑒了
21、其他注冊程序的流程。注冊模塊的核心思想是向數(shù)據(jù)庫中輸入數(shù)據(jù),并且數(shù)據(jù)要不能重復(fù),下面是注冊模塊的程序流程圖如下圖4.2所示:圖 4.2 注冊程序流程圖注冊模塊中的主要程序介紹:public boolean addMember(Member member) throws Exception Session session = MySessionFactory.getSession();Transaction tx = null;boolean result = false;trytx = session.beginTransaction();session.save(member);mit();
22、result=true;catch(Exception ex)if(tx!=null)tx.rollback();(在執(zhí)行MemServiceImpl類中的addMember方法時出錯:n);ex.printStackTrace();finallyMySessionFactory.closeSession();return result;數(shù)據(jù)通過驗證后,向數(shù)據(jù)庫輸入數(shù)據(jù),數(shù)據(jù)庫會保存相關(guān)的注冊信息。注冊頁面如下:4.3管理員功能模塊網(wǎng)站管理員登陸到管理員界面后,可以對圖書數(shù)據(jù)進(jìn)行添加,修改,刪除操作,管理圖書信息,方便管理員和用戶瀏覽圖書信息,管理員可以添加需要上架的新書
23、以不斷的補充書店的圖書,讓書店的圖書更加豐富,對于已經(jīng)明顯顯示出下滑趨勢的圖書,管理員可以進(jìn)行刪除處理,之后用戶便不能再看到該書的信息。管理員可以添加公告信息等。進(jìn)入管理員登陸模塊:管理員的具體職能如圖:管理員的查看與修改功能部分代碼如下:public Admin adminLogin(String loginName, String loginPwd) throws Exception Session session = MySessionFactory.getSession();Transaction tx = null;Admin admin = null;tryString hql =
24、 select a from Admin as a where a.loginName=:loginName and a.loginPwd=:loginPwd;Query query = session.createQuery(hql);query.setString(loginName, loginName);query.setString(loginPwd, loginPwd);query.setMaxResults(1);tx = session.beginTransaction();admin = (Admin)query.uniqueResult();mit();catch(Exce
25、ption ex)if(tx!=null)tx.rollback();(在執(zhí)行AdminServiceImpl類中的adminLogin方法時出錯:n);ex.printStackTrace();finallyMySessionFactory.closeSession();return admin;4.4定單處理模塊網(wǎng)上書店建立的目的之一就是為了經(jīng)濟(jì)利益,定單處理是和經(jīng)濟(jì)利益有直接關(guān)系的模塊,有效定單都是預(yù)付書款的定單,會增加書店的營業(yè)收入,可以說本模塊是系統(tǒng)的核心模塊,是系統(tǒng)的心臟,數(shù)據(jù)轉(zhuǎn)存的中心。下面會詳細(xì)介紹本模塊。定單處理模塊的設(shè)計思路:用戶提交定單后,管理員通過
26、后臺數(shù)據(jù)處理,可以查看全部的定單信息,由于定單編號是按照時間來命名的,管理員很容易查看到最新的定單信息。主要代碼實現(xiàn):public boolean addOrder(Orders order) throws Exception Session session = MySessionFactory.getSession();Transaction tx = null;boolean status = false;trytx = session.beginTransaction();session.save(order);mit();status=true;catch(Exception ex)i
27、f(tx!=null)tx.rollback();(在執(zhí)行OrderServiceImpl類中的addOrder方法時出錯:n);ex.printStackTrace();finallyMySessionFactory.closeSession();return status;/對定單數(shù)據(jù)進(jìn)行具體到更新操作,更新兩張表中的信息。 本模塊是系統(tǒng)的核心,主要負(fù)責(zé)定單的審查,是定單的流程最后一個環(huán)節(jié),也是最重要的一個環(huán)節(jié)。書店的任何數(shù)據(jù)都和定單數(shù)據(jù)有直接或者間接的關(guān)系,有效的定單和書店的經(jīng)濟(jì)利益有直接的關(guān)系,收入和支出都是由定單引起的。程序當(dāng)中也嚴(yán)格限制數(shù)據(jù)的有效性,無效數(shù)據(jù)不
28、會錄入到數(shù)據(jù)庫中。4.5圖書查詢模塊大量的數(shù)據(jù)中找到用戶需要的數(shù)據(jù),這樣的數(shù)據(jù)挖掘很有必要。同樣,系統(tǒng)中也提供這樣的查詢,在數(shù)據(jù)庫中,查詢實現(xiàn)很簡單,本系統(tǒng)的查詢也是根據(jù)查詢語句實現(xiàn)的,通過模糊匹配,實現(xiàn)對圖書信息的查詢。其具體實現(xiàn)是輸入關(guān)鍵字,如果數(shù)據(jù)庫中有記錄,便會顯示出查詢的結(jié)果,沒有記錄則顯示找不到與之對應(yīng)的書。這其中主要是在系統(tǒng)的數(shù)據(jù)庫中進(jìn)行查找。查詢界面如下圖4.5所示:圖4.5查詢頁面圖主要的查詢代碼:public List browseMer(int pageSize, int pageNo, String hql) throws Exception Session sessi
29、on = MySessionFactory.getSession();Transaction tx = null;List list = null;tryQuery query = session.createQuery(hql);query.setMaxResults(pageSize);query.setFirstResult(pageNo-1)*pageSize);tx = session.beginTransaction();list = query.list();mit();if (!Hibernate.isInitialized(list)Hibernate.initialize(
30、list);catch(Exception ex)if(tx!=null)tx.rollback();(在執(zhí)行MerServiceImpl類中的browseMer方法時出錯:n);ex.printStackTrace();finallyMySessionFactory.closeSession();return list;主要的程序設(shè)計思路是通過控件傳遞關(guān)鍵字給數(shù)據(jù)庫,然后在數(shù)據(jù)庫中進(jìn)行查詢操作。5部分頁面運行結(jié)果以及系統(tǒng)配置說明:(首頁)(用戶liu的購書車)系統(tǒng)的配置主要包括JDK,Tomcat和數(shù)據(jù)源的配置:JDK和Tomcat安裝步驟很簡單,按照提示就可以安裝,主
31、要是JDK的環(huán)境變量的設(shè)置: JDK的默認(rèn)安裝目錄為D:jdk;本系統(tǒng)安裝在D:jdk;更新環(huán)境變量在系統(tǒng)桌面中;右擊我的電腦圖標(biāo);選擇屬性命令;彈出系統(tǒng)特性對話框。在高級選項卡中;單擊環(huán)境變量按鈕;彈出環(huán)境變量對話框;該對話框分為Administrator 的用戶變量和系統(tǒng)變量兩個選項組。在系統(tǒng)變量選項組中;找到path變量后單擊編輯按鈕;彈出編輯系統(tǒng)變量對話框。在變量值文本框最前面輸入“D:jdkbin;”,然后單擊確定按鈕。至此JDK的安裝及配置完成。系統(tǒng)操作說明:在地址欄中鍵入:http:/localhost:8080EShopindex.jsp,便可以進(jìn)入個人網(wǎng)上書店的首頁面了。圖書
32、管理員用戶名:Admin1,密碼:Admin1訂單管理員用戶名:Admin2,密碼:Admin2會員管理員用戶名:Admin3,密碼:Admin3系統(tǒng)管理員用戶名:Admin4,密碼:Admin4會員用戶名:liu,密碼:liu.第5章 測試軟件測試是軟件開發(fā)過程的重要組成部分,是用來確認(rèn)一個程序的品質(zhì)或性能是否符合開發(fā)之前所提出的一些要求。5.1 測試計劃3.1 單元測試測試一:在管理員登陸時,用戶名或密碼有一項為空或者填寫錯誤,系統(tǒng)是否出現(xiàn)預(yù)先設(shè)定的操作提示。具體操作:用戶名、密碼、任意一項為空或者填寫有誤。結(jié)果:都出現(xiàn)相應(yīng)的錯誤原因的信息提示。結(jié)論:要求管理員必須填寫正確的用戶名和密碼,
33、才能進(jìn)入管理頁面。測試二:管理員刪除一注冊用戶后,并讓其登陸,看是否登陸成功。具體操作:管理員刪除一會員表中的用戶后,該用戶在前臺登陸。結(jié)果:該用戶無法登陸。結(jié)論:用戶數(shù)據(jù)刪除功能正常。測試三:管理員刪除一圖書的信息,在前臺按關(guān)鍵字查詢,看是否能找到對應(yīng)的信息。具體操作:在圖書管理頁面中的圖書查看與修改頁面中刪除一圖書的信息。結(jié)果:在前臺搜索中,按關(guān)鍵字查詢不到此書信息。結(jié)論:刪除圖書信息功能正常。3.2 集成測試網(wǎng)站的建設(shè)基本上就算完成了,但我們發(fā)現(xiàn)這樣一個事實,一個用戶在訪問一個網(wǎng)站時一般來講只對該網(wǎng)站的部分內(nèi)容感性趣,而且這種興趣會持續(xù)一段時間。這點啟發(fā)了我們,如果能根據(jù)用戶的喜好為不同
34、的用戶顯示其個性化的頁面,即著重顯示該用戶感興趣的內(nèi)容,將為用戶節(jié)約大量的檢索時間,而且這樣的網(wǎng)頁顯然是更具有吸引力的。一些站點已經(jīng)在這方面作出了一定的嘗試,通常采用的方法是,在用戶登陸時為其提供一系列的選項,使用戶能夠?qū)φ军c進(jìn)行一些自主的設(shè)置。這樣做能夠使站點呈現(xiàn)一定程度的個性化,但是對用戶來講,還是比較煩瑣,而且在用戶了解一個站點前讓其對站點進(jìn)行設(shè)置,其結(jié)果未免有些粗糙。于是我們構(gòu)想了這樣一種方案,對用戶登陸后的動作進(jìn)行跟蹤,分析,發(fā)掘用戶點擊的規(guī)律,即用戶先后點擊的關(guān)聯(lián)規(guī)則,這樣,在用戶點擊一個主題(鏈接)之后,系統(tǒng)能夠自動生成一頁面,其中包含了該主題下用戶經(jīng)常關(guān)注的內(nèi)容(若干鏈接),這
35、樣便在無須用戶作出任何額外工作的情況下實現(xiàn)了為用戶量身訂做的個性化頁面。本次課程設(shè)計主要完成傳統(tǒng)網(wǎng)上書店的用戶注冊、登陸、圖書分類瀏覽、圖書信息查詢、在線購買、生成訂單、后臺信息編輯管理等功能,以上提出的改進(jìn)想法以后再去完善。5.3 評價沒有完美的程序,代碼中或界面中依然存在著不足,但是在各項測試中已經(jīng)把異常和者錯誤減小到最少,運行流程沒有錯誤,各項功能運轉(zhuǎn)正常。排除所有錯誤是不太可能的,應(yīng)該還有些不易檢測到的錯誤還沒有被發(fā)現(xiàn),需要在使用的過程中進(jìn)一步的完善。結(jié) 論計算機技術(shù)的飛速發(fā)展帶動了很多行業(yè)的發(fā)展,計算機帶給我們最直觀的價值就是減少了人力物力的投資,提高了工作質(zhì)量和效率,從而提高了整個
36、社會的生產(chǎn)力。本文講述了Java/JSP/Struts在WEB應(yīng)用的一些基本知識,并通過網(wǎng)上書店的程序?qū)SP的運用進(jìn)行了深化,從本文中可看出JSP與Struts框架結(jié)合的模式,在電子商務(wù)上應(yīng)用十分靈活,不過要真正掌握好它們卻并不是一件容易的事情,在實際應(yīng)用的WEB開發(fā)中,還有很多關(guān)于安全方面的問題需要考慮。本網(wǎng)上書店通過參考例子和教材基本實現(xiàn)以上兩大??斓墓δ埽浩胀ㄓ脩裟K包括查看書籍、購物幫助和購物車功能;管理員模塊包括書籍維護(hù)、會員維護(hù)、定單維護(hù)、維護(hù)管理員功能,但在設(shè)計過程中出現(xiàn)了一些問題,因此還存在不足。在本次畢業(yè)設(shè)計,對Ajax有了進(jìn)一步的認(rèn)識,產(chǎn)生了濃厚的興趣,決定以后對Ajax
37、作進(jìn)一步的學(xué)習(xí)。希望通過今后的深入學(xué)習(xí)使網(wǎng)上書店的功能更加完整。通過使用Ajax制作網(wǎng)上書店的過程中,發(fā)現(xiàn)自己對操作和一些細(xì)節(jié)并不熟練,因些對設(shè)計構(gòu)思產(chǎn)生了很大的局限性。另外通過畢業(yè)設(shè)計對大學(xué)三年的學(xué)習(xí)進(jìn)行了一次實踐性的總復(fù)習(xí),對各項知識作了一次重新的運用,因此對知識的撐握更加深了一步,但同時在實訓(xùn)的實際操作過程中暴露出了知識撐握的不軋實,對部分知識不理解,因此在畢業(yè)設(shè)計過程中遇到了種種的困難。參考文獻(xiàn)(1)JSP編程技巧/清宏計算機工作室編著. 北京:機械工業(yè)出版社,2001.1(2)精通JBuilder 3環(huán)境下的JAVA編程/銳思創(chuàng)作室編著. 北京:人民郵電出版社., 2001.1(3)
38、深入JAVA Servlet 網(wǎng)絡(luò)編程. 清華大學(xué)出版社(4)Struts開發(fā)入門與項目實踐. 北京:人民郵電出版社, 2005.8附錄package com.base;import com.service.*;import com.ORM.*;import java.util.*;/* 供JSON-RPC組件遠(yuǎn)程調(diào)用的AjaxBean */public class AjaxBean extends BaseLog /*取得圖書分類列表*/public String getCategory()String options = null;MerService service = new MerS
39、erviceImpl();tryList list = service.browseCategory();Category cate = null;int i = 0;if (list!=null)options = new Stringlist.size()2;Iterator it = list.iterator();while(it.hasNext()cate = (Category)it.next();optionsi0 =cate.getId().toString();optionsi1 =cate.getCateName().trim();i+;elseoptions = new
40、String12;options00 =0;options01 =無圖書分類;catch(Exception ex)(在執(zhí)行AjaxBean類中的getCategory方法時出錯:n);ex.printStackTrace();return options;/*取得會員級別*/public String getMemberLevel()String options = null;MemService service = new MemServiceImpl();tryList list = service.browseMemberLevel();Memberlevel m
41、l = null;int i = 0;if (list!=null)options = new Stringlist.size()2;Iterator it = list.iterator();while(it.hasNext()ml = (Memberlevel)it.next();optionsi0 =ml.getId().toString();optionsi1 =ml.getLevelName().trim();i+;elseoptions = new String12;options00 =0;options01 =無會員級別;catch(Exception ex)logger.in
42、fo(在執(zhí)行AjaxBean類中的getMemberLevel方法時出錯:n);ex.printStackTrace();return options;/*注冊登錄帳號有效性驗證*/public boolean chkLoginName(String loginName)MemService service = new MemServiceImpl();boolean result = false;tryresult = service.chkLoginName(loginName);catch(Exception ex)(在執(zhí)行AjaxBean類中的chkLoginNa
43、me方法時出錯:n);ex.printStackTrace();return result;/*修改選購圖書數(shù)量*/public boolean modiCart(int id,int number)CartService service = new CartServiceImpl();boolean result = false;tryresult = service.modiCart(Integer.valueOf(id), number);catch(Exception ex)(在執(zhí)行AjaxBean類中的modiCart方法時出錯:n);ex.printStack
44、Trace();return result;/*調(diào)整會員級別*/public boolean updateLevel(Integer id,Integer levelId)MemService service = new MemServiceImpl();boolean result = false;tryMember member = service.loadMember(id);Memberlevel level = service.loadMemberLevel(levelId);member.setMemberlevel(level);service.updateMember(memb
45、er);result = true;catch(Exception ex)(在執(zhí)行AjaxBean類中的updateLevel方法時出錯:n);ex.printStackTrace();return result;package com.base;import org.apache.struts.actions.DispatchAction;import org.apache.log4j.*;/* 具有日志功能的DispatchAction子類 */public class BaseAction extends DispatchAction /* 取得日志記錄器Logge
46、r */public static Logger logger = Logger.getLogger(BaseAction.class);package com.base;import org.apache.log4j.*;/* 日志基類 */public class BaseLog /* 取得日志記錄器Logger */public static Logger logger = Logger.getLogger(BaseLog.class);package com.base;/* 常量類 */public class Constants public static String ADMIN_
47、LOSTNAME_KEY = admin.lostName;public static String ADMIN_LOSTPWD_KEY = admin.lostPwd;public static String ADMIN_LOGINERROR_KEY = admin.loginerror;public static String ADDADMIN_SUC_KEY = admin.add.success;public static String ADDADMIN_FAIL_KEY = admin.add.fail;public static String MODIADMIN_SUC_KEY =
48、 admin.modify.success;public static String MODIADMIN_FAIL_KEY = admin.modify.fail;public static String DELADMIN_SUC_KEY = admin.delete.success;public static String DELADMIN_FAIL_KEY = admin.delete.fail;public static String ADDCATE_SUC_KEY = category.add.success;public static String ADDCATE_FAIL_KEY
49、= category.add.fail;public static String MODICATE_SUC_KEY = category.modify.success;public static String MODICATE_FAIL_KEY = category.modify.fail;public static String DELCATE_SUC_KEY = category.delete.success;public static String DELCATE_FAIL_KEY = category.delete.fail;public static String ADDMER_SU
50、C_KEY = mer.add.success;public static String ADDMER_FAIL_KEY = mer.add.fail;public static String MODIMER_SUC_KEY = mer.modify.success;public static String MODIMER_FAIL_KEY = mer.modify.fail;public static String DELMER_SUC_KEY = mer.delete.success;public static String DELMER_FAIL_KEY = mer.delete.fai
51、l;public static String ADDSMER_SUC_KEY = smer.add.success;public static String ADDSMER_FAIL_KEY = smer.add.fail;public static String MODISMER_SUC_KEY = smer.modify.success;public static String MODISMER_FAIL_KEY = smer.modify.fail;public static String DELSMER_SUC_KEY = smer.delete.success;public static String DELSMER_FAIL_KEY = smer.delete.fail; public static String MEMBER_REG_SUC_KEY = member.reg.success;public static String MEMBER_REG_FAIL_KEY = member.reg.fail;public static Stri
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 社區(qū)治理與公共政策的關(guān)系試題及答案
- 項目需求變更的管理策略與試題與答案
- 教育政策的多維度影響試題及答案
- 軟件設(shè)計師備考指南試題及答案
- 機電工程行業(yè)的核心競爭力探討試題及答案
- 項目管理中的有效學(xué)習(xí)與分享機制試題及答案
- 公共政策評估中的數(shù)據(jù)挖掘方法試題及答案
- 軟件設(shè)計師考試模擬試題及答案分析
- 反腐敗政策的國際經(jīng)驗借鑒試題及答案
- 深入研究西方國家的公共衛(wèi)生治理試題及答案
- 靜脈治療并發(fā)癥的預(yù)防及處理護(hù)理課件
- tws藍(lán)牙耳機點膠工藝
- 《鼠小弟的生日》
- 全麻術(shù)后舌后墜護(hù)理
- 韓國《寄生蟲》電影鑒賞解讀
- GB 4806.13-2023食品安全國家標(biāo)準(zhǔn)食品接觸用復(fù)合材料及制品
- 新能源汽車研究結(jié)論論文題目
- 政府采購基礎(chǔ)知識培訓(xùn)(最終稿)
- 重慶大學(xué)大學(xué)化學(xué)Ⅰ期末考試卷A
- 1例新冠病毒感染患者護(hù)理查房
- 經(jīng)閉孔無張力尿道中斷懸吊術(shù)
評論
0/150
提交評論