1 研究現狀
網絡的出現與迅速發展和電子商務的逐漸成熟,不僅改變了我們記錄和傳播知識的符號,也改變了我們的交易方式,而且將會對我們的思維方式、工作方式和生活方式產生根本性的影響。網上購物在資源量、經濟、銷售手段等方面的優勢,都將成為電子商務必將替代傳統交易模式的前提。而所有這些都需要通過網絡語言實現,JSP就是實現電子商務走向應用的關鍵技術之一[1].
2 需求分析
2.1 數據庫的需求分析
經過市場調查,網上購物系統的主要需求在于各種信息的提供和保存,數據的更新與查詢,要求數據庫結構能及時而充分地滿足各種信息的輸入輸出。文章設計的是一個專門銷售圖書的網上購物系統。該系統的總體需求如下:(1)用戶分一般用戶和管理員用戶。(2)訂單分單張詳細訂單和總訂單。(3)每一本圖書都從屬于一種類型。(4)一個用戶可以購買多本圖書。(5)一個用戶對應一張訂單列表。(6)一個列表對應多張訂單。(7)管理員信息:用戶名、密碼。(8)普通用戶:用戶ID、用戶名、密碼。(9)圖書:圖書編號、圖書名稱分類等。(10)圖書分類:分類編號、分類名稱。(11)訂單列表:訂單編號、圖書編號、購物數量。(12)訂單:訂單編號、用戶編號。
2.2 關系實體圖本設計實體有:管理員信息實體、用戶信息實體、圖書實體、圖書分類實體、訂單實體、訂單列表實體[2],如圖1所示。
3 系統設計
文章所設計購物系統由客戶界面功能模塊和管理員界面功能模塊兩個模塊組成??蛻艚缑婀δ苣K的主要功能:注冊用戶進行圖書的購買,查看自己的購物車和查看訂單等。管理員界面的主要功能:管理員進行用戶管理,圖書的添加與修改,圖書類的添加與修改,訂單管理等操作。如圖2所示。
在線購書功能模塊中的分頁處理功能,要從數據庫中讀出數據,就要在圖書操作類中定義一個boolean型的book_search()的方法。取出數據后就要做分頁處理,分頁功能同樣是在book_search()方法體下實現,absolute()是用來定位的,然后又用了一個do while循環語句,讀出所有數據的屬性列的值。
try {
rs = stmt.execute Query(sql Str),
rs.absolute((page-1)*page Size+1),
booklist = new Vector(),
do{
book book = new book(),
book.set Id(rs.get Long(“id”)),
b o o k . s e t B o o k N a m e(r s .g e t S t r i n g
(“bookname”)),
book.set Book Class(rs.get Int(“bookclass”)),
book.set Classname(rs.get String(“classname”)),
book.set Author(rs.get String(“author”)),
book.set Publish(rs.get String(“publish”)),
book.set Book No(rs.get String(“Bookno”)),
book.set Content(rs.get String(“content”)),
book.set Prince(rs.get Float(“price”)),
book.set Amount(rs.get Int(“amount”)),
book.set Leav_number(rs.get Int(“leav_number”)),
book.set Picture(rs.get String(“picture”)),
booklist.add Element(book),
}while(rs.next()&&((++ii)<=page Size)),
rs.close(),
return true,
}catch(Exception e){
System.out.println(e.get Message()),
return false,
}
這里的關鍵問題就是,在取完一頁數據后,該如何去取下面的數據, absolute()在這里就讓程序在取完一頁數據后知道該從哪里取下一頁要顯示的數據,dowhile的作用就是從數據表中,讀出每一個屬性列,每次讀完一條指向下一條,直到頁尾處使用absolute()定位。這部分程序實現了分頁與讀取數據到頁面的功能。
4 問題與展望
4.1 設計過程中的關鍵問題
設計初期建立好工程框架是不可少的。特別是JSP的項目,每一個包和文件夾對于程序的順利運行都是至關重要的。對于每一個JSP項目而言,都應該有自己相對應的Web-INF文件夾,在它下面放的是每一個Java Bean的字節碼文件,最好不要把原文件和字節碼文件放在同一級目錄下。每次編譯Java Bean都要將生成的字節碼文件放在Web-INF\\class\\目錄下。在src文件夾下面放置自己創建的Java包。
在調試時并不是所有錯誤都能從頁面信息中反饋,特別是SQL查詢語句的錯誤。這時就需要通過查看服務器運行日志文件來發現錯誤。
4.2 今后可擴展方向
網站有義務承擔用戶在使用電子商務平臺交易時所帶來的風險。要加強網站的安全性,則必須使用MVC2模式來構架網站。將Struts框架技術和Servlet技術引入下一步的開發中。將現有的模塊進一步細分。編寫Servlet控制模塊來協調M層,也就是信息處理層和V層,也就是數據信息顯示和請求層。引入Struts框架技術的最大好處不僅是簡化大型項目的設計流程,還一定程度提高了安全性。
5 結語
本設計采用了較為簡單的模塊化處理思想。JSP+Java Bean的設計模式,就是將網頁顯示和后臺處理程序分離開,這樣既提高了安全性,又減輕了今后維護的工作強度。在設計當中也是處處體現了模塊化的思想,比如用戶模塊、管理員模塊的劃分,再如用戶模塊中的購物車模塊和訂單模塊的劃分。它們雖然相互獨立,但卻又聯系緊密。這樣就提高了程序的可讀性和穩定性。
[參考文獻]
[1]葉核亞,陳立。Java程序設計實用教程[M].北京:電子工業出版社,2003.
[2]孫衛勤,李洪成。Tomcat與Java Web開發技術詳解[M].北京:電子工業出版社,2004.