基于java的网上书店系统设计(含源文件)
歡迎添加微信互相交流學習哦!
項目源碼:https://gitee.com/oklongmm/biye
摘 要
網上書店是電子商務中發展最快、最成功的典型代表之一,與傳統書店相比較,網上書店突破了傳統圖書銷售模式的局限性,既能迅速傳遞豐富的圖書信息,又能超越時空的限制,提高人們采購新書的效率。隨著互聯網在國內的進一步普及,這種購書方式將越來越容易為大眾所接受,因為它使得“足不出戶卻能盡知天下事”成為可能。
本系統的研究意義是為了幫助經營實物書店的銷售者擴大市場和增加知名度。論文從理論和實踐兩個角度出發,對一個具有數據挖掘功能的網上書店進行了分析、設計與實現。論文主要闡述了此課題的研究意義,研究背景,系統的總體設計方案,以及電子商務平臺的詳細設計過程,以及在開發的過程中所采用的技術的研究與學習,以及在開發中遇到的問題和解決的辦法。另外還闡述了對以后的網上書店以及對電子商務的前景的展望。
本文最后對系統的設計和實現進行了總結,并闡述了將來進一步對該系統進行擴充和完善的一些工作。
關鍵詞:網上書店;電子商務;JAVA?
?
Abstract
The net bookstore is one of the representative example which the most developed and the most successful in the commercial of electron compared with traditional bookstore, the special of net bookstore is that it can breakthrough the model of traditional sales, is not only can deliver the abundant books information but also can break the admit of time and save the time for people purchase new books. With the spread of the internet in our country,?
This shopping books style will more and more easy accept by people ,because it let people’s dream that couldn’t out but can know everything in the world to be a possible.
The most important foundation of this system is to help the sale people who manage the object bookstore expand the market and improve the famous. This thesis start from theory and practice, Papers on a has the function of online bookstore of data mining analysis, design and implementation. Paper mainly expounds the significance of the subject, the research background, the design of the whole system solutions, and e-commerce platform of detailed design process, and in the process of the development of the technology research and learning, and the problems in development and the solution and also discussed on the future development of online bookstore of electronic commerce and the prospect of the future.
This article proposes the design and implementation of the system are summarized, and expounds the further in the future of the system expanded and improved some of the work.
Key words:Online bookstore; electronic commerce; JAVA
?
目 錄
第一章 緒 論?? ?1
1.1 研究意義?? ?1
1.2 研究背景?? ?1
1.3系統構建的目標分析?? ?2
1.4系統解決方案?? ?3
第二章 系統關鍵技術概述?? ?4
2.1 JSP技術?? ?4
2.1.1 JSP,ASP,PHP三種技術的比較?? ?4
2.1.2 從應用范圍看三種技術的優劣?? ?4
2.1.3 JSP運行環境?? ?5
2.1.4 JSP與javabean?? ?5
2.2 WEB服務器簡介?? ?6
2.3 數據庫的選擇?? ?6
第三章 系統的詳細設計與實現?? ?7
3.1 系統功能概述?? ?7
3.1.1 系統功能介紹?? ?8
3.1.2 系統特點?? ?8
3.2 系統總體設計?? ?8
3.2.1 利用MVC設計模式設計系統?? ?9
3.2.2 系統功能模塊劃分?? ?9
3.3 用戶管理的詳細設計?? ?10
3.3.1 用戶注冊模塊?? ?10
3.3.2 用戶驗證模塊?? ?12
3.3.3 用戶登錄模塊?? ?13
3.4 瀏覽商品信息的詳細設計?? ?14
3.4.1 顯示頁面整體設計概述?? ?14
3.4.2 各個瀏覽頁面的詳細設計?? ?14
3.5 購物車模塊詳細設計?? ?16
3.5.1 購物車的頁面?? ?16
3.5.2 購物車確定頁面?? ?17
3.6 訂單模塊詳細設計?? ?17
3.6.1 收貨地址設計?? ?17
3.6.2 訂單信息提示設計?? ?18
3.7 數據庫詳細設計?? ?19
第四章 系統測試?? ?23
4.1 鏈接測試?? ?23
4.2 表單測試?? ?23?
4.3 數據庫測試?? ?23
第五章 總結與展望?? ?25
致 謝?? ?26
參考文獻?? ?27
附錄?? ?28
?
第一章 緒 論
1.1研究意義
我們對Internet可以說是在熟悉不過的了,它最早在美國出現,如今,世界各國紛紛加入到這個行列,使Internet成為全球化的網際網絡。隨著用戶的不斷增加,其規模迅速擴大,它的領域也走向多元化。Internet的普及是一種必然的趨勢,現在的很多家庭有很多都擁有了PC機,所以人們上網看新聞、查資料、聊天、玩游戲、購物已成為許多人日常生活不可缺少的一部分,尤其是網上購物,更以它的超遠距離、方便和快捷吸引了無數的目光。因此,所以 Internet 的網上購物在如今是越來越多、很實用的。并且發展前景非常之好。
書籍交易網站就是Internet和電子商務發展的產物,近幾年在我國發展迅猛,如同一些書店紛紛在各地開設分店以拉近書店與顧客間距離一樣。隨著現今全民素質和科學技術水平的不斷提高,知識更新的越來越快,人們隨時都會有被淘汰的危機,為了不讓社會淘汰,做到與時俱進就必須多讀書不斷的學習。21世紀是網絡的時代、信息的時代,時間是非常寶貴的,人們由于種種原因沒有時間到書店去,也不知道哪家書店有自己需要的書籍,同時那些傳統書店的經營者又沒什么好的方法讓人們知道我這就有顧客需要的書籍,這種買賣雙方之間信息交流上的阻礙成為“網上書店”網站發展的原動力。
網上書店網站的建立可以更好的解決這方面的問題,我們向廣大用戶推出的是一種全新的網上信息服務,旨在書店與消費者之間架起了一座高速、便捷的網上信息橋梁,我們的目的是節省您的時間、方便您的購書,使您永遠走在時代的前沿。
1.2研究背景
計算機的出現給人類社會帶來了第三次工業革命,計算機和計算機網絡已經深入到了各行各業和各個領域,隨著Internet的不斷擴大和發展,電腦網絡把每一個國家、每一個城市甚至每一個家庭連接到一起,形成了一條“信息高速路”,就像高速公路大大提高了車輛行駛的速度一樣。
電子商務是于九十年代初,在歐美興起的一種全新的商業交易模式,它實現了交易的無紙化、效率化和自動化,表現了網絡最具魅力的地方??焖俚慕粨Q信息、地理界限的模糊,這所有的一切也必將推動傳統商業行為在網絡時代的一次新變革。
網上書店是電子商務中發展最快、最成功的典型代表之一,它的出現改變了人們以往購書的習慣,用戶通過網上查詢、電子訂購以及貨到付款或是電子支付的方式,即可輕松買到稱心如意的書籍?;陔娮由虅盏木W上書店系統是一個由硬件、軟件、圖書信息、前臺瀏覽和購物及后臺管理和維護等組成的一體化有機系統。
現代人工作繁忙、生活節奏快,常常無暇到傳統書店購書,而網上書店恰好能夠使他們足不出戶即可輕松購得自己所需書籍,既省時又省力。網上書店的創建滿足了廣大讀者的不同需求,節省了讀者逛書店所花費的時間,使用戶根據自己的安排在家罩就可以購買到想要的書籍,這對忙碌中的讀者來說提供了最大的便利。讀者也不必為找不到自己想要的書籍而煩惱,因為網上書店與傳統書店有著皆然不同,它提供了強大的搜索功能,用戶只需按自己的需求設置簡單的搜索,就能立刻找到自己所需要的書籍。同時網上提供的書籍都是最新出版的書籍、并且附有對相關書籍內容的詳細介紹,幫助你快速找到自己理想的書籍。在網上購買書籍價格比在商店要實惠得多,不受時間和空間的限制,隨時隨地可以進行購買,并且根據所購數量設置為會員價或VIP價格或折扣處理,還實行相應的積分,這對用戶的購買熱情起了很大的激發作用。
網上書店網站的建立向廣大用戶推出的是一種全新的網上信息服務,旨在書店與消費者之間架起了一座高速、便捷的網上信息橋梁。對下游讀者:圖書品種全和圖書信息全面,方便讀者選擇,全年365天、每天24d,時足不出戶就可以購買圖書,結算方便,快捷安全,價格低廉;對上游出版機構:展示的圖書品種全,容易積累具有極大商業價值的圖書市場基本數據,能夠主動針對讀者進行圖書宣傳和營銷,可以進行多種創新的圖書營銷手法,有效降低經營成本。
正是是因為網上書店的巨大優勢給消費者帶來的便利,使得現在人們上網的目的已經不像原來那樣只是簡單的瀏覽網頁,越來越多的用戶開始在網上購買自己所需要的書籍.網上書店作為一種全新的購物方式正逐步滲透到人們生活中,并被大眾所接受和歡迎。為了刺激消費,擴大自己圖書的知名度,各出版社或書店紛紛建立起自己的網上書店。本人正是在這種情況下,一方面是受書店的委托,另一方面是為了更好的完成本次的畢業設計,故需要開發一個網上書店交易系統。
1.3系統構建的目標分析
網上書店的開展,需要投入資金、人力、物力,重新整合企業的業務流程,對企業經營管理方式進行變革,以適應新的網絡經濟模式;因而在網站上的管理成功與否直接關系到企業的生存與發展,企業的投入必須得到回報,那么企業應該怎樣構建自己的網站系統才能實現企業的發展策略需要呢?因此首先需要明確網站構建要實現的目標和目的:
(1)實現網上電子化交易
書店B TO C電子商務系統構建的首要目的就是銷售商品,網站必須提供完善的購物功能并且實現交易過程全電子化,提供高效、可靠、安全的交易平臺,保證網上購物的方便性、快捷性、安全性。
(2)提高企業經營管理信息化水平
通過構建書店商務網站系統,使重整企業業務流程,整合各部門資源,提高企業信息利用率;從而加強企業的經營管理、提高經營效率,降低成本,合理配置資源。
(3)加強企業與客戶溝通,動態掌握市場需求
利用網站商務系統平臺,通過網絡收集客戶反饋信息,了解市場變化與客戶需求,制定書店經營策略;為客戶提供商品售前、售中、售后服務,建立書店與客戶的緊密良好溝通關系。
(4)宣傳和推廣企業文化
通過書店網站的構建達到宣傳企業文化、展示書店商品及服務、提高企業知名度、擴大銷售渠道與挖掘更多的商業機會等目的。
1.4系統解決方案
(1)系統功能:此系統分為客戶端模塊和服務器模塊,服務器模塊是同tomcat作為服務器支撐整個服務器的運行,而客戶端模塊使用瀏覽器與服務器交互信息,實現整體的功能。面對客戶的購物全過程,包括推薦書顯示、圖書查詢、購物車、查詢訂單、結帳、用戶資料修改、用戶注冊/登錄。
(2)系統架構:使用Struts2[8]+JSP+Hibernate+Mysql數據庫基于MVC設計模式來構建。
?
第二章 系統關鍵技術概述
2.1 JSP技術
JSP[1]是Java Server Page的縮寫,是由Sun公司倡導、許多公司參與建立一種動態網頁技術標準。采用JSP技術,Web頁面開發人員可以使用HTML或者XML標記來設計和格式化最終頁面,使用JSP代碼或者小腳本程序來生成頁面上的動態內容。在服務器中,JSP引擎解釋JSP代碼和小腳本程序,生成所請求的內容,并且將結果以HTML或者XML頁面的形式發送回瀏覽器。JSP技術很容易整合到多種應用體系結構中,以利用現存的工具和技巧,并且擴展到能夠支持企業級的分布式應用。由于JSP頁面的內置腳本語言是基于Java編程語言的,擁有Java編程語言“一次編寫,各處運行”的特點。
JSP幾乎可以執行于所有平臺。如Win NT,Linux,Unix。優點:一次編寫,隨處運行、有統一的技術標準、自由擴展JSP標簽、執行性能高、開發工具多而強大。缺點:必須熟悉JAVA語言、難以調試。
JSP的優勢在于JSP是以JAVA[2]技術為基礎的,JavaBean、Servlet等,J2EE技術是JSP強大生命力的所在。對于大型的電子商務網站的開發,JSP及J2EE技術是廣大Web開發人員的首選。
2.1.1 JSP、ASP、PHP三種技術比較
ASP全名Active Server Pages,是一個WEB服務器端的開發環境,利用它可以產生和執行動態的、互動的、高性能的WEB服務應用程序。ASP采用腳本語言VBScript(Java script)作為自己的開發語言。?
PHP是一種跨平臺的服務器端的嵌入式腳本語言。它大量地借用C,Java和Perl語言的語法, 并耦合PHP自己的特性,使WEB開發者能夠快速地寫出動態產生頁面。
JSP是Sun公司推出的新一代網站開發語言,Sun公司借助自己在Java上的不凡造詣,除了Java應用程序和Java Applet之外,又有新的碩果,就是JSP,Java Server Page。JSP[3]可以在Servlet和JavaBean的支持下,完成功能強大的站點程序。
2.1.2 從應用范圍來看三種技術的優劣
ASP是Microsoft開發的一套服務器腳本環境,它內含與IIS(Internet Information Server,Internet信息服務)中,利用ASP可以結合HTML頁面、ASP指令和ActiveX建立動態的、交互的、高效率的Web服務器應用程序。優點:易學易用、安裝、配置簡單、與瀏覽器無關、組件具有擴充性。缺點:只能在Windows平臺上運行、開發環境不開放、執行速度比較慢。
PHP與ASP類似。是一種服務器端腳本語言。PHP的語法混合了C、JAVA、PERL以及PHP式的新語法。PHP能支持多種數據庫,如Oracle、Sybase、MYSQL、SQL Server等。優點:PHP是跨平臺的、語法簡單、具有面向對象特點、良好的安全性。缺點:數據庫支持不足,每種數據庫都要對應相關的開發語言、不是工業標準、不支持ASP中的ActiveX和JSP中的Servlet組件開發技術。
JSP同PHP類似,幾乎可以執行于所有平臺。如Win NT,Linux,Unix。在NT下IIS通過一個外加服務器,例如JRUN或者ServletExec,就能支持JSP。優點:一次編寫,隨處運行、有統一的技術標準、自由擴展JSP標簽、執行性能高、開發工具多而強大。缺點:必須熟悉JAVA語言、難以調試。
這三種技術中,JSP和ASP、PHP相比較,本身并沒有特別明顯的優勢,JSP的優勢在于JSP是以JAVA技術為基礎的,JavaBean、Servlet等,J2EE技術是JSP強大生命力的所在。對于中小型站點的開發來說,JSP、ASP、PHP并有什么明顯區別,但是對于大型的電子商務網站的開發,JSP及J2EE技術是廣大Web開發人員的首選。
2.1.3 JSP運行環境
Sun推出的JSP是一種執行于服務器端的動態網頁開發技術,他基于JAVA技術。執行JSP時需要在WEB服務器上架設一個編譯JSP網頁的引擎。配置JSP環境可以有多種途徑,但主要工作就是安裝和配置WEB服務器及JSP引擎。
2.1.4 JSP與JavaBean
一些實際應用的系統可能很復雜,JSP頁面文本也會變得龐大,有的JSP文本可能有成千上萬行,大量的嵌入Java代碼和HTML語句交織在一起,其中,嵌入Java代碼、HTML語句,還有JavaScript語句,使編寫和維護JSP網頁變得很困難。
使用JavaBean就是一個好辦法。JavaBean的目的是為了將可以重復使用的軟件代碼打包標準。特別是用于幫助廠家開發在綜合開發環境(IDE)下使用的java軟件部件。這些包括如Grid控件,用戶可以將該部件拖放到開發環境中。從此,JavaBean就可以擴展為一個java web 應用的標準部件,并且JavaBean部件框架已經擴展為企業版的 Bean(EJB)。
JavaBean 和 Server Bean(通常稱為 Enterprise JavaBean (EJB))有一些基本相同之處。它們都是用一組特性創建,以執行其特定任務的對象或組件。它們還有從當前所駐留服務器上的容器獲得其它特性的能力。這使得 bean 的行為根據特定任務和所在環境的不同而有所不同。將JSP和JavaBean結合起來,在JavaBean中處理邏輯,然后在JSP網頁中調試,而用JSP文本著重是網頁見面設計,這樣會使得JSP網頁變的清晰,可以節省軟件開發時間和降低以后維護的難度。
2.2 WEB服務器簡介
Tomcat服務器是Apache組織開發的一種JSP引擎,本身具有WEB服務器的功能,可以作為獨立的WEB服務器來使用。但是,在作為WEB服務器方面,Tomcat出來靜態HTML頁面時不如Apache迅速,也沒有Apache健壯,所以一般將Tomcat與Apache配合使用,讓Apache對網站的靜態頁面請求提供服務,而Tomcat作為專用的JSP引擎,提供JSP解析,以得到更好的性能。Tomcat是Java程序,所以只要有JDK就可以使用,不需要考慮操作系統平臺。
2.3 數據庫的選擇
MySQL是一種關聯數據庫管理系統,關聯數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內。這樣就增加了速度并提高了靈活性。MySQL的SQL“結構化查詢語言”。SQL是用于訪問數據庫[4]的最常用標準化語言。MySQL軟件采用了GPL(GNU通用公共許可證)。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站數據庫。
此次研究是對網上商場的研究,所以只是測試使用,這里只要使用MySQL小型數據庫。
?
第三章 系統的詳細設計與實現
3.1系統功能概述
基于JAVA的網上電子書店,實現網上購書的整個流程,用戶進入網站的主頁,可以先瀏覽書籍,也可以選擇先注冊用戶成為書店的合法用戶,如果用戶沒有注冊并且登陸,是不能夠實現下單操作的。用戶可以通過網站上的圖書查詢或者戰士的圖書,瀏覽商品的詳細信息,如果要購買該書籍,則可以點擊購買按鈕將該書籍加入購物車,然后可以選擇繼續瀏覽書籍,或者去結賬下單操作,如果此時用戶沒有注冊登陸,則是不能夠進行下單操作的,在對購物車進行操作時候,用戶可以選擇修改商品的數量,也可以選擇刪除該商品,刪除的將放在下面的頁面顯示刪除過的商品,用戶可以選擇恢復操作,恢復剛剛刪除的商品,用戶可以直接點擊結賬進入確定購買的商品,然后用戶選擇下一步填寫收貨地址,收貨用戶以及一些其他的基本信息,如果用戶以前購買商品,用戶可以選擇以前使用過的商品地址,直接生成,減少用戶的數量兩,最后,最后生成一個訂單信息,告訴用戶。此時用戶還可以繼續購買書籍。整體流程圖如下圖3.1所示。
?
圖3.1 系統流程圖
3.1.1系統的功能介紹
(1)用戶模塊:用戶注冊部分:網上書店規定只有合法用戶才能購買圖書,所以要購買圖書的新用戶必須進行注冊,為了能及時發貨給用戶以及隨時聯系用戶,所以系統必須記錄每一位用戶的詳細信息。在用戶注冊的時候,提供用戶名的唯一性驗證,密碼安全性驗證,以及驗證碼的驗證,賬戶郵箱激活驗證。用戶登錄部分:提供用戶登錄功能,如果用戶名和密碼不正確,不允許登錄,同時如果用戶沒有進行賬戶激活,則提供用戶郵箱激活功能。用戶名密碼驗證成功就提示用戶登錄成功,用戶就可以進行購買操作。用戶驗證部分:提供用戶進行郵箱驗證。驗證通過則激活用戶信息,如果驗證不通過則每次登陸都要驗證。
(2)瀏覽商品模塊:提供用戶瀏覽各個商品的功能,用戶能夠根據自己的需要瀏覽需要的商品,同時還提供購買操作功能,將用戶需要購買的商品加入購物車。
(3)購物車模塊:記錄用戶瀏覽購買的商品,提供用戶刪除指定的商品,清空購物車里面的商品,恢復刪除指定的商品到購物車中。
(4)訂單模塊:用于生成用戶的訂單信息,并且記錄用戶的訂單信息到數據庫中,同時記錄用戶的地址信息。
(5)數據庫模塊:用于存放用戶的數據,圖書的數據,以及用戶訂單的數據等。
3.1.2系統特點
1、頁面模塊化:
本系統在界面設計上都采用了模塊化處理思想。本系統前臺設計了5個模塊,分別是用戶注冊模塊,用戶登錄模塊,瀏覽商品模塊,購物車模塊,訂單模塊,數據訪問模塊。在用戶使用時候實現這些模塊之間的跳轉是通過struts2[9]實現的。
2、三層結構MVC設計:
本系統采用MVC模式設計,即程序邏輯結構分為用戶界面層、業務邏輯處理層和數據存儲層。三層在實際的物理結構上也是獨立的,業務邏輯層采用JavaBean[5]實現,用戶界面與業務邏輯分離,系統的安全性、可維護性、重用性和可擴展性都大大提高。
3、人性化設計:
本系統導航的另一個亮點就是導航明晰。這樣,不管客戶位于本“書店” 的哪個角落,都不會迷路。
3.2系統總體設計
3.2.1利用MVC[10]設計模式設計系統
1、?? ?頁面模塊化
本系統把頁面中一些常用的部分集成為模塊,例如頁面的頭和尾巴,這樣設計新的頁面時如果有重新出現的部分,只需要拿現成的模塊來組裝就可以了。
2、三層結構架構
本系統采用三層架構設計,采用三層架構以后,用戶界面通過統一的接口向業務層發送請求,業務層按自己的邏輯規則將請求處理之后進行數據庫操作,然后將查找的數據返回給用戶界面層。這樣用戶界面層甚至可以不知道數據庫的結構,它只要維護與業務層之間的接口即可。這種方式在一定程度上增加了數據庫的安全性,同時也降低了用戶界面層開發人員的要求。工作原理下圖3.2所示
?
圖3.2 工作原理圖
3.2.2 ?系統功能模塊劃分
整個系統模塊劃分結構如圖3.3:
?
圖3.3 系統模塊劃分
3.3用戶管理的詳細設計
3.3.1用戶注冊模塊
(1)功能簡介
用戶注冊,完成用戶在網站的身份標示,須確保登錄身份的唯一性,因此需要給出重復驗證,須保證用戶的密碼的安全準確,需要確認驗證。注冊的相關信息可考察上面數據庫中用戶表項。在數據表中存在非空項,在注冊時,須給出完整性驗證。用戶可根據提示信息完成一步一步注冊工作。
(2)用戶注冊流程如圖3.4所示。
?
圖3.4 用戶注冊流程圖
(3)注冊細節功能
1,用戶注冊時候,郵箱輸入框要判斷是不是為空,如果為空,提示用戶郵箱不能為空。
當用戶的郵箱輸入后要判斷用戶的郵箱的格式是否符合要求。不符合則提示用戶。
最后前兩個條件滿足,還要判斷用戶的郵箱是不是已經被注冊過。如果已經注冊過則提示用戶郵箱不可用。
2,用戶名要符合條件,不能為空,長度限制。
3,密碼長度要有限制,兩次輸入的密碼要一致。
4,驗證碼要輸入正確。
(4)Email的驗證
在郵箱判斷是不是為空,和郵箱的格式是否符合要求,是通過javascript進行驗證。郵箱的格式通過正則表達式進行判斷。
而郵箱是否被注冊,則是通過javascript發送一個ajax請求到sturts2調用相應的組件,到數據庫中查找是否有相同的郵箱,如過有相同的郵箱,則返回此郵箱已經被注冊過信息,如果沒有注冊,則返回此郵箱可用信息。
(5)驗證碼驗證
驗證碼的驗證,在頁面加載的時候,就先調用生成驗證碼的組件生成一個驗證碼圖片返回到頁面,同時將驗證碼信息保存在session中,用于用戶注冊時候的輸入驗證碼的驗證,如果用戶輸入的驗證碼與session中保存的驗證碼相同,則驗證碼驗證通過,如果不同則返回驗證碼不對。同時,如果用戶看不清驗證碼,可以點擊一個鏈接,讓jsp重新發送一個請求到相應的組件重新生成一個驗證碼信息到jsp頁面,直到用戶輸入正確的驗證碼信息,然后才可以提交注冊按鈕,否則,用戶的提交注冊時不能通過的。
(6)注冊頁面的jsp如下圖所示。
?
圖3.5 注冊頁面
3.3.2用戶驗證模塊
(1)功能介紹
?? ?用戶驗證模塊用于驗證用戶的郵箱是否是自己的郵箱,在用戶注冊以后,需要用戶進行郵箱驗證,其主要的業務邏輯是用戶注冊以后,頁面跳轉到用戶驗證頁面,同時后臺服務器發送一個驗證碼到注冊時候填寫的郵箱,用戶需要在頁面上指定的地方輸入郵箱里面的驗證信息,如果與服務器里面保存的驗證信息一致,則提示用戶郵箱驗證成功,反之則不成功。
(2)用戶驗證流程如圖3.6所示。
?
圖3.6 用戶驗證流程圖
(3)驗證時候的細節功能
在驗證郵箱驗證碼時候,首先在javascript中判斷是否為空,如果是空,則提示用戶驗證碼不能為空,然后再通過ajax方式發送給指定的組件驗證驗證碼是否正確,如果正確,返回驗證通過的信息,否則,驗證不通過。只有驗證通過了驗證,才能夠進入用戶登錄的頁面。
(4)驗證界面的jsp如圖3.7.
?
圖3.7 驗證界面
3.3.3用戶登錄模塊
(1)功能描述
用戶登錄模塊相對來說比較簡單,只是提供用戶登錄,驗證用戶身份,提供用戶輸入用戶名,密碼,點擊登錄,然后將頁面上的信息發送給服務器,服務器根據瀏覽器的請求,執行相應的組件,完成用戶身份的驗證,如果驗證通過,則返回主頁面信息,用戶將直接進入主頁面瀏覽商品。如果用戶驗證身份不成功,則提示用戶輸入的信息不正確,并且停留在登錄界面。
(2)用戶登錄流程圖如圖3.8所示。
?
圖3.8 登錄流程圖
(3)登錄頁面jsp如圖3.9。
?
圖3.9 登錄頁面
3.4瀏覽商品信息的詳細設計
3.4.1顯示頁面整體設計概述
網上書店的頁面是一系列的JSP頁面[7]構成,當用戶訪問系統的主頁或者通過登錄驗證后跳轉到系統主頁時候,就會看到系統主頁的頁面信息,主頁面是有一系列的小的頁面組合而成,有頁面的頭部,頁面的腳部,左側欄,右側欄,中間欄的頁面組成,每個頁面都由一個jsp構成,用戶可以通過點擊各個鏈接,從而進行頁面之間的跳轉。
3.4.2各個瀏覽頁面的詳細設計
(1)主頁面
主頁面包括頭部,腳部,左側欄,右側欄,中間部分五個部分的jsp頁面組成。
頭部和腳部的jsp是兩個靜態的jsp頁面,在主頁面指定的位置通過導入命令就可以導入到主頁面。
左側欄的jsp主要是顯示圖書的分類信息,在jsp頁面里面使用標簽技術,從而獲得從數據庫里面獲得的信息,然后顯示在jsp上。
右側欄的jsp是顯示新書熱銷榜,同樣也是通過訪問數據庫獲得信息,然后顯示在頁面上。
中間欄分成三塊jsp,第一個頁面時顯示編輯推薦的圖書頁面,第二個是顯示新書上架的頁面,第三個則是顯示最火的圖書頁面,這三個也是從數據庫中讀取信息,然后顯示在指定的頁面。
?
圖3.10 主頁面
(2)分類顯示頁面
分類顯示頁面有三個部分組成,同樣也有頭部和腳部的jsp這兩個靜態頁面。左側欄的jsp是用來顯示分類信息,并且顯示當前瀏覽的圖書是屬于哪個分類,用不同的顏色標記顯示,中間欄則是顯示所查看的分類圖書的信息,這個地方的頁面時動態顯示的,從數據庫中讀取指定數據然后解析成指定的信息,顯示在當前的頁面位置。同時,頁面還提供按照不同的要求將指定的頁面信息進行排序,提供分頁瀏覽頁面的功能。
?
圖3.11 分類顯示頁面
(3)圖書詳細信息頁面
圖書詳細信息頁面,從數據庫中讀取指定圖書,然后按照指定的格式顯示一個圖書的詳細信息,以及圖書的介紹一切信息。
在圖書的詳細信息頁面,還要提供用戶可以點擊購買的按鈕,方便用戶直接點擊要購買的圖書,以及提供用戶查看當前自己的購物車信息。
?
圖3.12 圖書詳細信息頁面
3.5購物車模塊詳細設計
3.5.1購物車的頁面
(1)頁面顯示
購物車將顯示當前登錄的用戶所購買過的商品信息,以及數量。并且提供增刪改功能。
(2)細節功能
在購物車的頁面,將顯示當前所購買過的所有商品的信息,提供增刪改的商品的功能。
增加商品數量:用戶通過在指定的輸入框輸入商品的數量,點擊更改,就可以修改購買商品的數量信息。同時也將即時顯示更改所有商品的總價信息。
刪除商品:用戶可以點擊每個商品后面的刪除按鈕,從而刪除指定的商品,刪除的商品將顯示在下面刪除了的商品,同時刪除了的商品,還提供恢復商品的功能,從而將刪除過的商品恢復的購物車中。
清空購物車:用戶可以點擊清空按鈕,從而清除購物車中所有的商品信息,方便用戶操作。
結算:此頁面將提供用戶提交購物車準備結算商品。
(3)購物車jsp
?
圖3.13 購物車頁面
3.5.2購物車確定頁面
(1)頁面顯示
此功能知識提示用戶所確定要購買的商品信息,以及所需要的總的價格信息。用戶確定主需要直接點擊下一步按鈕。
(2)確定購物車jsp
?
圖3.14 購物車確定頁面
3.6訂單模塊詳細設計
3.6.1收貨地址設計
(1)頁面顯示
收貨地址信息頁面提供用戶輸入收貨用戶名,收貨地址,聯系方式等一系列信息。
(2)細節功能
在用戶輸入信息時候,jsp會通過javascript對輸入的內容進行驗證是否符合要求。
此頁面還提供用戶所有使用過的地址信息選擇,如果用戶以前使用過地址,則在地址下拉菜單可以選擇以前使用過的地址,當用戶提交地址后,jsp會調用相應的組件,將地址信息寫入數據庫中,同時還要判斷是不是已經存在此地址,如果此地址存在,則不用寫入數據庫中。
(3)收貨頁面jsp
?
圖3.14 收貨地址填寫頁面
3.6.2訂單信息提示設計
(1)頁面顯示
訂單信息顯示用戶的訂單號,以及所花費的費用信息。
(2)細節功能
此頁面提供用戶的訂單信息,為了人性化功能,提供用戶查看訂單信息,以及繼續選擇商品功能。
(3)訂單信息jsp
?
圖3.14 訂單生成頁面
3.7數據庫詳細設計
數據庫的數據表的整體關系圖如下所示:
?
圖3.15 數據庫表關系圖
數據庫各個表字段詳細描述
(1)d_user 用戶表
主要字段?? ?數據類型?? ?描述
id?? ?Int?? ?主鍵
Email?? ?Varchar?? ?郵箱
Nickname?? ?Varchar?? ?用戶名
Password?? ?Varchar?? ?用戶密碼
User_integral?? ?Int?? ?用戶積分
Is_email_verify?? ?Char?? ?郵箱是否驗證
Email_verify_code?? ?Varchar?? ?郵箱驗證碼
Last_login_time?? ?Bigint?? ?最后登錄時間
Last_login_ip?? ?varchar?? ?最后登錄的IP
(2)d_receive_address:用戶收貨地址表
主要字段?? ?數據類型?? ?描述
Id?? ?Int?? ?主鍵
User_id?? ?Int?? ?用戶id,參照d_user的id
Receive_address?? ?Varchar?? ?用戶收貨地址
Full_address?? ?Varchar?? ?用戶收貨的詳細地址
Postal_code?? ?Varchar?? ?郵政編碼
Mobile?? ?Varchar?? ?用戶的電話
Phone?? ?Varchar?? ?用戶的手機
(3)d_product:產品信息表
主要字段?? ?數據類型?? ?描述
Id?? ?Int?? ?主鍵
Product_name?? ?Varchar?? ?產品名稱
?? ?Description?? ?Varchar?? ?產品描述
Add_time?? ?Bigint?? ?產品添加時間
Fixed_price?? ?Double?? ?產品報價
Dang_Price?? ?Double?? ?當當價格
Keywords?? ?Varchar?? ?關鍵詞
Has_delete?? ?Int?? ?是否刪除
Product_pic?? ?Varchar?? ?產品圖片名稱
(4)d_category:產品類別表
主要字段?? ?數據類型?? ?描述
Id?? ?Int?? ?主鍵
Turn?? ?Int?? ?圖書分類標號
En_name?? ?Varchar?? ?圖書分類名稱
Name?? ?Varchar?? ?名稱
Description?? ?Varchar?? ?描述
Parent_id?? ?Int?? ?上一級類別的ID號
(5)d_category_product:產品類別對照表
主要字段?? ?數據類型?? ?描述
Id?? ?Int?? ?主鍵
Cat_id?? ?Int?? ?產品類別id 參照d_category表id
Product_id?? ?Int?? ?產品id 參照d_product表id
(6)d_book:書籍表
主要字段?? ?數據類型?? ?描述
Id?? ?Int?? ?主鍵
Author?? ?Varchar?? ?作者
Publishing?? ?Varchar?? ?出版社
Publish_time?? ?Bigint?? ?出版時間
Word_number?? ?Varchar?? ?字數
Witch_edition?? ?Varchar?? ?編輯
Total_page?? ?Varchar?? ?總頁數
Print_time?? ?Int?? ?印刷時間
Print_number?? ?Varchar?? ?印刷數目
Isbn?? ?Varchar?? ?Isbn號
Author_summary?? ?Text?? ?作者介紹
catalogue?? ?Text?? ?目錄
(7)d_order:訂單表
主要字段?? ?數據類型?? ?描述
Id?? ?Int?? ?主鍵
User_id?? ?Int?? ?用戶id
Status?? ?Int?? ?狀態
Order_time?? ?Bigint?? ?下單時間
Order_desc?? ?Varchar?? ?訂單描述
Total_price?? ?Double?? ?總價格
Receive_name?? ?Varchar?? ?收貨人
Full_address?? ?Varchar?? ?詳細地址
Postal_code?? ?Varchar?? ?郵政編碼
Mobile?? ?Varchar?? ?收貨人電話
Phone?? ?Varchar?? ?收貨人手機
(8)d_item:商品條目表
主要字段?? ?數據類型?? ?描述
Id?? ?Int?? ?主鍵
Order_id?? ?Int?? ?訂單id 參照d_order表主鍵
Product_id?? ?Int?? ?產品id 參照d_product表id
Product_name?? ?Varchar?? ?商品名
Dang_price?? ?Double?? ?當當網價格
Product_num?? ?Int?? ?產品數量
Amount?? ?Double?? ?節省價錢
?
第四章 系統測試
軟件測試是軟件開發過程的重要組成部分,是用來確認一個程序的品質或性能是否符合開發之前所提出的一些要求。它的任務是盡可能徹底的檢查出程序中的錯誤,提高軟件系統的可靠性,其目的是檢驗系統做得怎樣咄圳。軟件測試是在軟件投入運行前,對軟件需求分析、設計規格說明和編碼的最終復審,是軟件質量保證的關鍵步驟。
系統測試應該由若干個不同測試組成,目的是充分運行系統,驗證系統各部件是否都能正常工作并完成所賦予任務。通常意義上的系統測試包括功能測試、可用性測試、安全測試、容錯測試等。以下將著重介紹一下功能測試在本中的使用。
本系統在進行功能測試時,著重從以下三方面進行:
4.1鏈接測試
在進行鏈接測試時,著重從下面三個方面進行。首先,測試網上書店系統所有鏈接是否按指示的那樣確實鏈接到了該鏈接的頁面;其次,測試所鏈接的頁面是否存在或是否符合鏈接的要求;最后,保證Web應用系統上沒有孤立的頁面,所謂孤立頁面是指沒有鏈接指向該頁面,只有知道正確的URL地址才能訪問。鏈接測試必須在集成測試階段完成。
4.2表單測試
當用戶給應用系統管理員提交信息時,就需要使用表單操作,例如用戶注冊、登錄、信息提交等。在這種情況下,我們必須測試提交操作的完整性,以校驗提交信息的正確性。如果表單只能接受指定的某些值,則也要進行測試。例如:只能接受某些字符,測試時可以跳過這些字符,看系統是否會報錯。例如網上書店在用戶使用表單進行注冊時,要求用戶必須在表單中輸入“用戶名”、“密碼’’及“身份證號”等信息,以保證用戶所提交信息的完整性。同時表單中的“戶名”的長度不能小于2,“密碼”的長度不能小于6個字符,必須輸入J下確的電子郵箱地址等,通過指定表單中的值來保證輸入信息的正確性。所以在具有表單信息的頁面,就需要對表單的各個對象及對象的所有取什都需一一進行測試,以保證系統的功能正確性。
4.3數據庫測試
在Web應用技術中,數據庫起著重要的作用,數據庫為應用系統的管理、運行、查詢和實現用戶對數據存儲的請求等提供空問。最常用的數據庫類型是關系型數據庫,可以使用SOL對信息進行處理。一般情況下,可能發生兩種錯誤,分別是數據一致性錯誤和輸出錯誤。數據一致性錯誤主要是由于用戶提交的表單信息不正確而造成的,例如網上書店的用戶在填完注冊信息后,需向數據庫中的“用戶’’表中添加一條記錄,這時就需要保證該條記錄與數據庫中的相應字段數據類型要一致,否則就會造成數據不一致的錯誤發生。而輸出錯誤主要是由于網絡[6]速度或程序設計問題等引起的,如果是程序設計問題就需要對相應的代碼進行檢查,再可分別進行測試。
?
第五章 總結與展望
經過不斷地努力,網上書店銷售系統基本開發完畢。其實現的功能基本符合要求,能夠實現前臺用戶在線購買圖書、后臺數據庫管理員對圖書類別管理及訂單管理等的功能。
通過這次畢業設計以及撰寫本畢業論文,我學會了利用先進的JSP技術建立基于B/S模式三層結構動態網站的方法和技術,而且對網頁上的錯誤有進一步的認識。我將大學四年學到的軟件工程和網絡安全等知識充分應用于實踐,除此之外,我還掌握了MyEclipse等IDE開發工具,提高了自己的動手能力。
本次畢業設計主要完成傳統網上書城的用戶注冊、登錄、圖書分類瀏覽、圖書信息查詢、在線購買、生成訂單、后臺信息編輯管理等功能,以上提出的改進想法以后再去完善。
通過這次設計,使我學到了很多東西,收益非淺,我感覺理論到實踐是一個艱難的過程,必須勤動手,才能發現問題,使自己得到真正的提高。這次的畢業設計在我今后的工作和學習上也提供了不少寶貴的經驗。并且通過這次做畢業設計也使我也發現了自己在學習上的不足,主要是動手能力的不足,我會努力在以后的工作道路上繼續充實自我,完善自我。
?
致 謝
通過這短短的幾個月努力,我終于完成了基于JAVA網上電子書店的設計與實現。通過這次的畢業設計我,鍛煉了自己的動手實踐能力。更重要的是,通過這次的畢業設計,我培養出了刻苦鉆研的學習精神和嚴肅認真的學習態度,這對我以后的學習和工作有很大的益處。在這次畢業設計過程中,我得到了來自我身邊很多人的悉心指導和幫助。在此,我對他們表示衷心的感謝!首先我要感謝我的指導老師成立教授、劉超老師,無論在理論上還是在實踐中,都給予我很大的幫助,使我受益匪淺,學到了很多東西,這對于我以后的工作和學習都是一種巨大的幫助。更重要的是他們對學生平易近人,工作認真負責的態度使我非常感動。
同時我也非常感謝我身邊的很多同學,在我做這個系統的過程中他們給了我很多的幫助和鼓勵,幫助我解決了很多的問題,使我更有信心做好本系統。最后,在我即將畢業之際,衷心的祝愿江蘇大學,宿遷學院的明天會更輝煌,祝這四年來對我關心、指導的所有老們身體健康、工作順利、萬事如意。
?
參考文獻:
[1] 張新曼精通JSP-WEB開發技術與典型應用 人民郵電出版社 2007?
[2] 李剛 瘋狂java講義 電子工業出版社 2008.9.1
[3] 王國輝,李文立,楊亮,JSP數據庫系統開發完全手冊[M],北京:人民郵電出版社, 2000.3
[4] 汪孝宜,徐佳晶,劉中兵,JSP數據庫開發實例精粹[M],北京:電子工業出版社,2005.1?
[5] 劉潔,基于JSP和JavaBean技術的網上書店設計與實現[J],現代情報.2005第11期.
[6] 鄒竹彪 JSP網絡編程從入門到精通 清華大學出版社 2007.6
[7] 老虎工作室,JSP動態網頁制作基礎培訓教程[M],北京:人民郵電出版社,2005.5
[8] 張貴元,賈燕楓,Struts開發入門與項目實踐[M],北京:人民郵電出版社,2005.8
[9] 陸舟 Struts2技術內幕 機械工業出版社 2012.1.1
[10] 李剛Struts2.1 權威指南——基于webWork核心的MVC開發 電子工業出版社 2009.5.1
?
附 錄
部分程序源代碼:
數據庫初始化SQL語句:?
DROP TABLE IF EXISTS d_product;
CREATE TABLE d_product (
? id int(12) NOT NULL auto_increment,
? product_name varchar(100) NOT NULL,
? description varchar(100) default NULL,
? add_time bigint(20) default NULL,
? fixed_price double NOT NULL,
? dang_price double NOT NULL,
? keywords varchar(200) default NULL,
? has_deleted int(1) NOT NULL default '0',
? product_pic varchar(200) default NULL,
? PRIMARY KEY ?(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
//
DROP TABLE IF EXISTS d_book;
CREATE TABLE d_book (
? id int(12) NOT NULL,
? author varchar(200) NOT NULL,
? publishing varchar(200) NOT NULL,
? publish_time bigint(20) NOT NULL,
? word_number varchar(15) default NULL,
? which_edtion varchar(15) default NULL,
? total_page varchar(15) default NULL,
? print_time int(20) default NULL,
? print_number varchar(15) default NULL,
? isbn varchar(25) default NULL,
? author_summary text NOT NULL,
? catalogue text NOT NULL,
? PRIMARY KEY ?(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
//
DROP TABLE IF EXISTS d_category;
CREATE TABLE d_category (
? id int(12) NOT NULL auto_increment,
? turn int(10) NOT NULL,
? en_name varchar(200) NOT NULL,
? name varchar(200) NOT NULL,
? description varchar(200),
? parent_id int(10),
? PRIMARY KEY ?(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS d_category_product;
CREATE TABLE d_category_product (
? id int(12) NOT NULL auto_increment,
? product_id int(10) NOT NULL,
? cat_id int(10) NOT NULL,
? PRIMARY KEY ?(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS d_item;
CREATE TABLE d_item (
? id int(12) NOT NULL auto_increment,
? order_id int(10) NOT NULL,
? product_id int(10) NOT NULL,
? product_name varchar(100) NOT NULL,
? dang_price double NOT NULL,
? product_num int(10) NOT NULL,
? amount double NOT NULL,
? PRIMARY KEY ?(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS d_order;
CREATE TABLE d_order (
? id int(10) NOT NULL auto_increment,
? user_id int(10) NOT NULL,
? status int(10) NOT NULL,
? order_time bigint(20) NOT NULL,
? order_desc varchar(100) default NULL,
? total_price double NOT NULL,?
? receive_name varchar(100) default NULL,
? full_address varchar(200) default NULL,
? postal_code varchar(8) default NULL,
? mobile varchar(20) default NULL,
? phone varchar(20) default NULL,?
? PRIMARY KEY ?(id)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS d_receive_address;
CREATE TABLE d_receive_address (
? id int(12) NOT NULL auto_increment,
? user_id int(11) NOT NULL,
? receive_name varchar(20) NOT NULL,
? full_address varchar(200) NOT NULL,
? postal_code varchar(8) NOT NULL,
? mobile varchar(15) default NULL,
? phone varchar(20) default NULL,
? PRIMARY KEY ?(id)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS d_user;
CREATE TABLE d_user (
? id int(12) NOT NULL auto_increment,
? email varchar(50) NOT NULL,
? nickname varchar(50) default NULL,
? password varchar(50) NOT NULL,
? user_integral int(12) NOT NULL default '0',
? is_email_verify char(3),
? email_verify_code varchar(50) default NULL,
? last_login_time bigint default NULL,
? last_login_ip varchar(15) default NULL,
? PRIMARY KEY ?(id),
? UNIQUE KEY email (email)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
注冊頁面源代碼:
<%@page contentType="text/html;charset=utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
?? ?<head>
?? ??? ?<title>用戶注冊 - 當當網</title>
?? ??? ?<link href="../css/login.css" rel="stylesheet" type="text/css" />
?? ??? ?<link href="../css/page_bottom.css" rel="stylesheet" type="text/css" />
?? ??? ?<script type="text/javascript"?
?? ??? ??? ??? ?src="../js/jquery-1.4.3.js"></script>
?? ??? ?<script type="text/javascript"?
?? ??? ??? ??? ?src="../js/registerform.js"></script>
?? ?</head>
?? ?<body>
?? ??? ?<%@include file="../common/head1.jsp"%>
?? ??? ?<div class="login_step">
?? ??? ??? ?注冊步驟:
?? ??? ??? ?<span class="red_bold">1.填寫信息</span> > 2.驗證郵箱 > 3.注冊成功
?? ??? ?</div>
?? ??? ?<div class="fill_message">
?? ??? ??? ?<form name="ctl00" method="post"
?? ??? ??? ??? ??? ? action="register.action" id="f">
?? ??? ??? ??? ?<h2>
?? ??? ??? ??? ??? ?以下均為必填項
?? ??? ??? ??? ?</h2>
?? ??? ??? ??? ?<table class="tab_login" >
?? ??? ??? ??? ??? ?<tr>
?? ??? ??? ??? ??? ??? ?<td valign="top" class="w1">
?? ??? ??? ??? ??? ??? ??? ?請填寫您的Email地址:
?? ??? ??? ??? ??? ??? ?</td>
?? ??? ??? ??? ??? ??? ?<td>
?? ??? ??? ??? ??? ??? ??? ?<input name="user.email" type="text" id="txtEmail" class="text_input"/>
?? ??? ??? ??? ??? ??? ??? ?<div class="text_left" id="emailValidMsg">
?? ??? ??? ??? ??? ??? ??? ??? ?<p>
?? ??? ??? ??? ??? ??? ??? ??? ??? ?請填寫有效的Email地址,在下一步中您將用此郵箱接收驗證郵件。
?? ??? ??? ??? ??? ??? ??? ??? ?</p>
?? ??? ??? ??? ??? ??? ??? ??? ??? ?<span id="email.info" style="color:red"></span>
?? ??? ??? ??? ??? ??? ??? ?</div>
?? ??? ??? ??? ??? ??? ?</td>
?? ??? ??? ??? ??? ?</tr>
?? ??? ??? ??? ??? ?<tr>
?? ??? ??? ??? ??? ??? ?<td valign="top" class="w1">
?? ??? ??? ??? ??? ??? ??? ?設置您在當當網的昵稱:
?? ??? ??? ??? ??? ??? ?</td>
?? ??? ??? ??? ??? ??? ?<td>
?? ??? ??? ??? ??? ??? ??? ?<input name="user.nickname" type="text" id="txtNickName" class="text_input" />
?? ??? ??? ??? ??? ??? ??? ?<div class="text_left" id="nickNameValidMsg">
?? ??? ??? ??? ??? ??? ??? ??? ?<p>
?? ??? ??? ??? ??? ??? ??? ??? ??? ?您的昵稱可以由小寫英文字母、中文、數字組成,
?? ??? ??? ??? ??? ??? ??? ??? ?</p>
?? ??? ??? ??? ??? ??? ??? ??? ?<p>
?? ??? ??? ??? ??? ??? ??? ??? ??? ?長度4-20個字符,一個漢字為兩個字符。
?? ??? ??? ??? ??? ??? ??? ??? ?</p>
?? ??? ??? ??? ??? ??? ??? ??? ?<span id="name.info" style="color:red"></span>
?? ??? ??? ??? ??? ??? ??? ?</div>
?? ??? ??? ??? ??? ??? ?</td>
?? ??? ??? ??? ??? ?</tr>
?? ??? ??? ??? ??? ?<tr>
?? ??? ??? ??? ??? ??? ?<td valign="top" class="w1">
?? ??? ??? ??? ??? ??? ??? ?設置密碼:
?? ??? ??? ??? ??? ??? ?</td>
?? ??? ??? ??? ??? ??? ?<td>
?? ??? ??? ??? ??? ??? ??? ?<input name="user.password" type="password" id="txtPassword"
?? ??? ??? ??? ??? ??? ??? ??? ?class="text_input" />
?? ??? ??? ??? ??? ??? ??? ?<div class="text_left" id="passwordValidMsg">
?? ??? ??? ??? ??? ??? ??? ??? ?<p>
?? ??? ??? ??? ??? ??? ??? ??? ??? ?您的密碼可以由大小寫英文字母、數字組成,長度6-20位。
?? ??? ??? ??? ??? ??? ??? ??? ?</p>
?? ??? ??? ??? ??? ??? ??? ??? ?<span id="password.info" style="color:red"></span>
?? ??? ??? ??? ??? ??? ??? ?</div>
?? ??? ??? ??? ??? ??? ?</td>
?? ??? ??? ??? ??? ?</tr>
?? ??? ??? ??? ??? ?<tr>
?? ??? ??? ??? ??? ??? ?<td valign="top" class="w1">
?? ??? ??? ??? ??? ??? ??? ?再次輸入您設置的密碼:
?? ??? ??? ??? ??? ??? ?</td>
?? ??? ??? ??? ??? ??? ?<td>
?? ??? ??? ??? ??? ??? ??? ?<input name="password1" type="password" id="txtRepeatPass"
?? ??? ??? ??? ??? ??? ??? ??? ?class="text_input"/>
?? ??? ??? ??? ??? ??? ??? ?<div class="text_left" id="repeatPassValidMsg">
?? ??? ??? ??? ??? ??? ??? ?<span id="password1.info" style="color:red"></span>
?? ??? ??? ??? ??? ??? ??? ?</div>
?? ??? ??? ??? ??? ??? ?</td>
?? ??? ??? ??? ??? ?</tr>
?? ??? ??? ??? ??? ?<tr>
?? ??? ??? ??? ??? ??? ?<td valign="top" class="w1">
?? ??? ??? ??? ??? ??? ??? ?驗證碼:
?? ??? ??? ??? ??? ??? ?</td>
?? ??? ??? ??? ??? ??? ?<td>
?? ??? ??? ??? ??? ??? ??? ?<img class="yzm_img" id='imgVcode' src="imagecode" />
?? ??? ??? ??? ??? ??? ??? ?<input name="number" type="text" id="txtVerifyCode"
?? ??? ??? ??? ??? ??? ??? ??? ?class="yzm_input"/>
?? ??? ??? ??? ??? ??? ??? ?<div class="text_left t1">
?? ??? ??? ??? ??? ??? ??? ??? ?<p class="t1">
?? ??? ??? ??? ??? ??? ??? ??? ??? ?<span id="vcodeValidMsg">請輸入圖片中的四個字母。</span>
?? ??? ??? ??? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ??? ??? ??? ?<span id="number.info" style="color:red"></span>
?? ??? ??? ??? ??? ??? ??? ??? ??? ?<a href="javascript:;"
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?οnclick="document.getElementById('imgVcode').src='imagecode?'+new Date()">看不清楚?換個圖片</a>
?? ??? ??? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ??? ??? ?</p>
?? ??? ??? ??? ??? ??? ??? ?</div>
?? ??? ??? ??? ??? ??? ?</td>
?? ??? ??? ??? ??? ?</tr>
?? ??? ??? ??? ?</table>
?? ??? ??? ??? ?<div class="login_in">
?? ??? ??? ??? ??? ?<input id="btnClientRegister" class="button_1" name="submit" ?type="submit" value="注 冊"/>
?? ??? ??? ??? ?</div>
?? ??? ??? ?</form>
?? ??? ?</div>
?? ??? ?<%@include file="../common/foot1.jsp"%>
?? ?</body>
</html>
總結
以上是生活随笔為你收集整理的基于java的网上书店系统设计(含源文件)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IDEA+Java+SSM+Mysql+
- 下一篇: asp.net网上书店系统