尚學堂金尚網上商城ppt整理_第1頁
尚學堂金尚網上商城ppt整理_第2頁
尚學堂金尚網上商城ppt整理_第3頁
尚學堂金尚網上商城ppt整理_第4頁
尚學堂金尚網上商城ppt整理_第5頁
已閱讀5頁,還剩9頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、BBS中學到的東西:1.分頁,2.樹狀結構的存儲,3.樹狀結構的展現金尚網上商城:很多東西是同一種技術在不同業務里的展現,很多程序員做到后來就成了某一個領域的專家通過這個項目展現jsp+javaBean這種編程模式一. 內容1. WEB項目一般流程講關于設計,關于軟件工程方面的知識,實際開發中的東西2. 金尚項目步驟詳解3. 開發二. WEB項目開發的一般流程一一總綱1. 需求確定(需求分析)弄明白現在干什么2. 分析與設計(掌握技術之后要掌握的東西 )(1) .架構分析與設計(2) .業務邏輯分析(3) .業務邏輯設計(4) .界面設計3. 開發環境搭建4. 開發-測試-開發-測試5. 文檔

2、編纂每一個階段產生不同的文檔,不同的文檔由不同的人來寫三. WEB項目開發的一般流程一一需求確定1. 需求確定(1) .通過各種手段確定系統的功能與性能A. 功能:購物、注冊、瀏覽、搜索 B. 性能:可同時支持 n個并發訪問,而且響應時間不低于m毫秒C. 手段:a. 頭腦風暴(brain storm)b. 會議c. 詢問d. 原型一界面原型、業務原型(2) .本階段是項目開發的最重要階段(3) .在web項目中,通常界面設計會在本階段進行四. WEB項目開發的一般流程一分析與設計之架構分析與設計1. 架構分析與設計(1).邏輯架構A. 3層架構、n層架構B. MVCC. Model 1 (js

3、p直接訪問數據庫)or M odel 2 (jsp + javabean訪問數據庫)D. -(2) .物理架構A. Web服務器的分布B. 數據庫服務器的分布C. ,(3) .技術解決方案的確定A. Java/.netB. Open Source/ 商業C. ,WE顫目開發的一般流程一分析與設計之業務邏輯分析1. 根據需求分析業務邏輯a) 有哪些人會使用本系統b) 他們會使用本系統做什么c) 通常他們使用本系統的步驟是什么樣的d) 會有哪些明顯的類來支撐本系統的運行e) 會有哪些不同的提示會反饋給用戶f) ,2. 本階段與需求的確定緊密相關,通常在確定需求的時候就會進行相關的分析WE顫目開發的

4、一般流程一分析與設計之業務邏輯設計1. 業務邏輯設計a) .根據需求的分析來確定具體的類b) .確定類的屬性c) .確定類的接口(方法)d) .確定類之間的關系e) .確定用戶操作流程在設計上的反應f) .進行數據庫的設計g) .不同的項目步驟可能不盡相同h) . ,WE顫目開發的一般流程一分析與設計之界面設計1.界面設計a) 設計系統的界面風格i. 顏色、styleb) 設計系統的具體”模擬”界面i.能夠從頭到尾1. 方面進行需求的確定2. 方便JSP程序員的開發3. ,WE顫目開發的一般流程一開發環境的搭建1.開發環境的搭建a) 開發工具的確定b) 配置管理工具的確定c)測試工具的確定d)

5、文件服務器/配置服務器等的確定e),WE顫目開發的一般流程一開發1.開發-測試-開發-測試a)按照設計進行開發i. 迅速開發原型ii. 進行迭代開發iii. 提早進行測試1. 單元測試2. 黑盒子測試3. 性能測試4. 易用性測試5.,金尚網上商城一需求確定1. 普通用戶可以通過系統瀏覽商品(按類別)2. 普通用戶可以通過系統搜索商品(按類別、價位、日期等)3. 普通用戶可以通過系統下訂單(享受市場價)4. 普通用戶可以注冊成為系統會員(免費注冊)5. 會員可以瀏覽和檢索商品6. 會員可以下訂單(享受會員價)7. 會員可以瀏覽自己下過的訂單8. 會員可以管理自己的信息(自服務系統)a)修改密碼

6、b)修改送貨地址c)修改聯系方式9. 會員可以分級別a)不同級別享受不同等級的優惠b)通過購物的金額確定級別10. 管理員通過后臺進行會員管理a)會員瀏覽b)會員歷史訂單瀏覽c)會員刪除d)指定會員級別11. 管理員通過后臺進行商品分類的管理a)瀏覽、添加、刪除、修改12. 管理員通過后臺進行產品管理a)新增產品b)產品上柜c)產品下柜d)產品銷量瀏覽e)產品搜索f)產品刪除g)產品修改13. 管理員通過后臺進行訂單的管理a)訂單查詢b)修改訂單狀態c)訂單搜索d)訂單跟蹤e)訂單提醒金尚網上商城一架構分析與設計1. 邏輯架構a)JSP + JavaBean +Databasei. JSP負責

7、表現ii. JavaBean負責業務邏輯iii. Database負責持久保持數據2. 物理架構a)Web服務器一臺i.配置b)DataBase服務器一臺i.配置3. 技術解決方案a)WebServer Tomcat5.5b)Database MySQL5.0金尚網上商城一業務邏輯分析1. 會員類a)包裝系統會員b)與訂單有一對多的關系2. 管理員類a)包裝系統管理員3. 產品類a)包裝產品的信息b)與訂單是多對多的關系4. 類別類a)包裝產品的類別b)樹狀結構c)與產品是一對多的關系5. 訂單類a)包裝訂單的信息b)與產品是多對多的關系c)與會員是多對一的關系6. 購物車類a)包裝購物車的信

8、息b)與產品是多對多的關系金尚網上商城一業務邏輯設計1. Usera) propertiesi. idii. usernameiii. passwordiv. phonev. addrvi. rdateb) methodsi. getOraders()ii. save()iii. change()iv. delete()v. static search()2. Administratora) Propertiesi. U sernameii. P asswordb) methodsi. login()3. Producta) Propertiesi. idii. nameiii. descri

9、v. normalPricev. memgerPricevi. pdatevii. categoryb) methodsi. getCategory()ii. getSalerCount()iii. save() , change(), search()4. Categroya) Propertiesi. idii. nameiii. descriv. pid (parent: Category)b) methodsi. getProductCounts()ii. save(), change() 等5. SalesOrder & SaleItem/訂單&訂單中的一項a) Pr

10、opertiesi. idii. useridiii. addriv. SalesItemv. Odateb) methodsi. getTotalPrice()ii. save(), chage()iii. getSalesltems()6. SalesOrder & SaleItema) Propertiesi. idii. productIDiii. unitPriceiv. pCountb) methodsi. getTotalPrice()ii. save(), change()7. ShoppingCart & CartItema) Propertiesi. use

11、ridii. CartItemb) methodei. getTotalPrice()ii. save(), change()iii. getCartItems()8. ShoppingCart & CartItema) Propertiesi. productIDii. unitPriceiii. pCountb) methodsi. getTotalPrice()金尚網上商城一數據庫設計1. User字段名字段類型說明idint主鍵/自動遞增usernameVarchar用戶名passwordvarchar密碼phonevarchar電話addrvarchar地址rdatedate

12、time注冊日期2. Productidint主鍵/自動遞增namevarchar產品名descrvarchar描述normalpricevarchar市場價memberpricevarchar會員價pdatedatetime上柜日期categoryIDint類別ID/引用Categroy表的id3. Categroy字段名字段類型說明idint主鍵/自動遞增namevarchar分類名descrvarchar描述pidvarchar父id4. SalesOrder字段名字段類型說明idint主鍵/自動遞增useridint用戶idaddrvarchar送貨地址odatedatetime下單時

13、間statusint訂單狀態/0訂單未處理1處理成功2廢單5. SalesItem字段名字段類型說明idint主鍵/自動遞增productidint產品idunitpricevarchar單價pcountdatetime數量orderidint訂單id/引用salesorder的id1. 首頁a)b)c)金尚網上商城一界面設計 前臺index.jsp顯示某類商品根據id顯示圖片搜索d) 注冊e) 登錄search.jsp searchresult.jspf) 自服務2. 搜索界面3. 搜索結果4. 注冊a) 注冊頁面register.jspb) 注冊成功registerok.jspc) 注冊失

14、敗registererr.jsp5. 登陸a) 登陸頁面login.jspb) 登陸成功loginok.jspc) 登陸失敗 loginerr.jsp6. 自服務 selfservice.jspa)修改密碼changepassword.jspb)修改成功changepasswordeok.jspc)修改失敗changepassworderr.jspd)修改其他信息changeinfo.jspe)修改其他信息成功changeinfook.jspf)修改其他信息失敗changeinfoerr.jsp7.購物a)購物車瀏覽cart.jspb)結賬 buy.jsp后臺(admin目錄下)1.登陸頁面l

15、ogin.jsp2.首頁index.jspa)用戶管理b)產品管理c)類別管理d)訂單管理3.用戶管理a)顯示用戶userlist.jspb)刪除用戶userdelete.jspc)搜索用戶usersearch.jsp4.產品管理a)產品顯示productlist.jspb)產品添加productadd.jspc)產品更改productchange.jspd)產品刪除productdelelte.jspe)產品搜索productSearch.jsp5.類別管理a)類別顯示categorylist.jspb)類別添加categoryadd.jspc)類別刪除categorydeltete.jsp

16、d)類別修改categorychange.jsp6.訂單管理a)訂單瀏覽salesorderlist.jspb)訂單處理salesorderdeal.jsp金尚網上商城一開發環境搭建1. 開發工具a) eclipse3.22. WEB SERVERa) tomcat5.53. DATABASEa) MySQL4. SCMa) Cvs金尚網上商城一開發1. 先寫用戶2. 再寫分類3. 然后寫產品4. 接下來寫購物5. 最后訂單處理6. 其他功能金尚網上商城一開發安排1. V0.1a)用戶JavaBean前臺/后臺2. V0.2a)分類JavaBean前臺/后臺3. V0.3a) 產品JavaBe

17、an前臺 /后臺4. V0.4a)購物JavaBean前臺5. V0.5a) 訂單JavaBean 前臺 / 后臺6. V0.6a)其他JavaBean前臺/后臺金尚網上商城文檔編纂1. 需求描述文檔2. 系統分析與設計3. 數據庫設計4. 開發接口 API docs &源代碼注釋5. 用戶幫助(前臺)6. 管理員手冊(后臺)7. 測試文檔重點掌握1.初步了解項目開發流程a)理解并表達b)熟練運用2. 理解后臺與前臺a)理解互動3. 進一步加深對樹狀結構運用的理解4. 熟練掌握session的概念和運用5. 掌握下列技巧a) 圖片的管理b) 上傳組件的運用開始開發首先搭建環境先引入需要

18、的類庫,建立數據庫表建立數據庫連接的封裝類(輔助類)com.bjsxt.shopping.util DB.java不用連接池DB寫成單例模式,或者不用都不大,這里不用單例模式寫這個類package com.bjsxt.shopping.util;import java.sql.*;public classDB static try Class. forName ("com.mysql.jdbc.Driver"); catch (ClassNotFoundException e) e.printStackTrace();private static Connection ge

19、tConn() Connection conn = null ;try conn =DriverManager. getConnection ( "jdbc:mysql:/localhost:3306/mydata?user= root&password=root" ); catch (SQLException e) e.printStackTrace();return conn;private static Statement getStmt(Connection conn) Statement stmt = null ;try stmt = conn.creat

20、eStatement(); catch (SQLException e) e.printStackTrace();return stmt;private static PreparedStatement getPStmt(Connection conn, String sql) PreparedStatement pStmt =null ;try pStmt = conn.prepareStatement(sql); catch (SQLException e) e.printStackTrace();return pStmt;stmt, String sql) private staticR

21、esultSet executeQuery(StatementResultSet rs = null ; try rs = stmt.executeQuery(sql);) catch (SQLException e) e.printStackTrace();)return rs;)private void closeConn(Connection conn) if (conn!= null ) try conn.close();) catch (SQLException e) e.printStackTrace();) conn = null ;)private void closeStmt

22、(Statement stmt) if (stmt!= null ) try stmt.close();) catch (SQLException e) e.printStackTrace();) stmt = null ;)private void closePStmt(Statement pStmt) if (pStmt != null ) try pStmt.close();) catch (SQLException e) e.printStackTrace();) pStmt = null ;)private void closeRs(ResultSet rs) if (rs != n

23、ull ) try rs.close();) catch (SQLException e) e.printStackTrace();) rs = null ;)關于分層的一個特別重要的原則:不能越層訪問!首先寫一個User的一個JavaBean, 一般情況下實體類是和數據庫表里的字段是一一對應的User.javapackage com.bjsxt.shopping;import java.util.*;public class User privateintid ;privateStringusernameprivateStringpasswordprivateStringphone ;pri

24、vateStringaddr ;privateDaterdate ;publicString getAddr() return addrpublic void setAddr(String addr) this . addr = addr;public int getId() return id ;public void setId( int id) this . id = id;public String getPassword() return password ;public void setPassword(String password) this . password = pass

25、word;public String getPhone() return phone ;public void setPhone(String phone) this . phone = phone;public Date getRdate() return rdate ;public void setRdate(Date rdate) this . rdate = rdate;) public String getUsername() (returnusername ;)public void setUsername(String username) ( this . username =

26、username;)Shopping.sql-數據庫命名全部小寫create database shopping;use shopping;create tableuser(id int primary key auto_increment,usernamevarchar(40),passwordvarchar(16),phone varchar addr varchar rdate datetime );(40),(255),create tablecategory(id int primary key auto_increment,name varchardescr varchar(255

27、),(255),pid int, isleaf int, #0 grade int );表示leaf 1 表示非leafcreate tableproduct(id int primary key auto_increment,name varchar descr varchar normalprice memberprice(255),(255), double , double ,pdate datetime,categoryid int );referencescatetory(id)create tablesalesorder(id int primary key auto_incre

28、ment, userid int,addr varchar(255),odate datetime, status intcreate tablesalesitem(id int primary key auto_increment, productid int, unipirce double ,pcount int, orderid int );用戶注冊頁面的名字:register.jsp創建register.jsp頁面設置頁面編碼問題:在此頁面點右鍵Preferences Encoding "Chinese, NationalStantard "默認是 “ ISO L

29、atin-1 ”三種中文編碼的區別:GB18030 > GBK > GB2312用原來講javascript中的表單作為原形:把原來的文件和它的.js文件copy到register.jsp中去 連接服務器瀏覽一下之后修改顯示格式1.首先action改一下action ="register.jsp” 提交到自身這個頁面,如果提交到自身的話這個頁面就有連個入口,一個入口是點鏈接鏈接過來,還有一個入口是我們點“提交”把數據提交過去,要區分是鏈接過來還是提交過來的辦法是什么?多一個hidden 字段提交的頁面寫完了,請保存到數據庫里向去,<input type ="

30、;hidden"name ="action"value ="register"/><%request.setCharacterEncoding("GB18030");String action = request.getParameter("action" );if (action !=null && action.equals("register") String username = request.getParameter("username");String password = request.getParameter("password");/密碼確認應該在后臺檢查一下String phone = request.getParameter("phone" );String addr = request.get

溫馨提示

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

評論

0/150

提交評論