




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、BBS中學到的東西:1.分頁,2.樹狀結構的存儲,3.樹狀結構的展現(xiàn)金尚網(wǎng)上商城:很多東西是同一種技術在不同業(yè)務里的展現(xiàn),很多程序員做到后來就成了某一個領域的專家通過這個項目展現(xiàn)jsp+javaBean這種編程模式一. 內(nèi)容1. WEB項目一般流程講關于設計,關于軟件工程方面的知識,實際開發(fā)中的東西2. 金尚項目步驟詳解3. 開發(fā)二. WEB項目開發(fā)的一般流程一一總綱1. 需求確定(需求分析)弄明白現(xiàn)在干什么2. 分析與設計(掌握技術之后要掌握的東西 )(1) .架構分析與設計(2) .業(yè)務邏輯分析(3) .業(yè)務邏輯設計(4) .界面設計3. 開發(fā)環(huán)境搭建4. 開發(fā)-測試-開發(fā)-測試5. 文檔
2、編纂每一個階段產(chǎn)生不同的文檔,不同的文檔由不同的人來寫三. WEB項目開發(fā)的一般流程一一需求確定1. 需求確定(1) .通過各種手段確定系統(tǒng)的功能與性能A. 功能:購物、注冊、瀏覽、搜索 B. 性能:可同時支持 n個并發(fā)訪問,而且響應時間不低于m毫秒C. 手段:a. 頭腦風暴(brain storm)b. 會議c. 詢問d. 原型一界面原型、業(yè)務原型(2) .本階段是項目開發(fā)的最重要階段(3) .在web項目中,通常界面設計會在本階段進行四. WEB項目開發(fā)的一般流程一分析與設計之架構分析與設計1. 架構分析與設計(1).邏輯架構A. 3層架構、n層架構B. MVCC. Model 1 (js
3、p直接訪問數(shù)據(jù)庫)or M odel 2 (jsp + javabean訪問數(shù)據(jù)庫)D. -(2) .物理架構A. Web服務器的分布B. 數(shù)據(jù)庫服務器的分布C. ,(3) .技術解決方案的確定A. Java/.netB. Open Source/ 商業(yè)C. ,WE顫目開發(fā)的一般流程一分析與設計之業(yè)務邏輯分析1. 根據(jù)需求分析業(yè)務邏輯a) 有哪些人會使用本系統(tǒng)b) 他們會使用本系統(tǒng)做什么c) 通常他們使用本系統(tǒng)的步驟是什么樣的d) 會有哪些明顯的類來支撐本系統(tǒng)的運行e) 會有哪些不同的提示會反饋給用戶f) ,2. 本階段與需求的確定緊密相關,通常在確定需求的時候就會進行相關的分析WE顫目開發(fā)的
4、一般流程一分析與設計之業(yè)務邏輯設計1. 業(yè)務邏輯設計a) .根據(jù)需求的分析來確定具體的類b) .確定類的屬性c) .確定類的接口(方法)d) .確定類之間的關系e) .確定用戶操作流程在設計上的反應f) .進行數(shù)據(jù)庫的設計g) .不同的項目步驟可能不盡相同h) . ,WE顫目開發(fā)的一般流程一分析與設計之界面設計1.界面設計a) 設計系統(tǒng)的界面風格i. 顏色、styleb) 設計系統(tǒng)的具體”模擬”界面i.能夠從頭到尾1. 方面進行需求的確定2. 方便JSP程序員的開發(fā)3. ,WE顫目開發(fā)的一般流程一開發(fā)環(huán)境的搭建1.開發(fā)環(huán)境的搭建a) 開發(fā)工具的確定b) 配置管理工具的確定c)測試工具的確定d)
5、文件服務器/配置服務器等的確定e),WE顫目開發(fā)的一般流程一開發(fā)1.開發(fā)-測試-開發(fā)-測試a)按照設計進行開發(fā)i. 迅速開發(fā)原型ii. 進行迭代開發(fā)iii. 提早進行測試1. 單元測試2. 黑盒子測試3. 性能測試4. 易用性測試5.,金尚網(wǎng)上商城一需求確定1. 普通用戶可以通過系統(tǒng)瀏覽商品(按類別)2. 普通用戶可以通過系統(tǒng)搜索商品(按類別、價位、日期等)3. 普通用戶可以通過系統(tǒng)下訂單(享受市場價)4. 普通用戶可以注冊成為系統(tǒng)會員(免費注冊)5. 會員可以瀏覽和檢索商品6. 會員可以下訂單(享受會員價)7. 會員可以瀏覽自己下過的訂單8. 會員可以管理自己的信息(自服務系統(tǒng))a)修改密碼
6、b)修改送貨地址c)修改聯(lián)系方式9. 會員可以分級別a)不同級別享受不同等級的優(yōu)惠b)通過購物的金額確定級別10. 管理員通過后臺進行會員管理a)會員瀏覽b)會員歷史訂單瀏覽c)會員刪除d)指定會員級別11. 管理員通過后臺進行商品分類的管理a)瀏覽、添加、刪除、修改12. 管理員通過后臺進行產(chǎn)品管理a)新增產(chǎn)品b)產(chǎn)品上柜c)產(chǎn)品下柜d)產(chǎn)品銷量瀏覽e)產(chǎn)品搜索f)產(chǎn)品刪除g)產(chǎn)品修改13. 管理員通過后臺進行訂單的管理a)訂單查詢b)修改訂單狀態(tài)c)訂單搜索d)訂單跟蹤e)訂單提醒金尚網(wǎng)上商城一架構分析與設計1. 邏輯架構a)JSP + JavaBean +Databasei. JSP負責
7、表現(xiàn)ii. JavaBean負責業(yè)務邏輯iii. Database負責持久保持數(shù)據(jù)2. 物理架構a)Web服務器一臺i.配置b)DataBase服務器一臺i.配置3. 技術解決方案a)WebServer Tomcat5.5b)Database MySQL5.0金尚網(wǎng)上商城一業(yè)務邏輯分析1. 會員類a)包裝系統(tǒng)會員b)與訂單有一對多的關系2. 管理員類a)包裝系統(tǒng)管理員3. 產(chǎn)品類a)包裝產(chǎn)品的信息b)與訂單是多對多的關系4. 類別類a)包裝產(chǎn)品的類別b)樹狀結構c)與產(chǎn)品是一對多的關系5. 訂單類a)包裝訂單的信息b)與產(chǎn)品是多對多的關系c)與會員是多對一的關系6. 購物車類a)包裝購物車的信
8、息b)與產(chǎn)品是多對多的關系金尚網(wǎng)上商城一業(yè)務邏輯設計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()金尚網(wǎng)上商城一數(shù)據(jù)庫設計1. User字段名字段類型說明idint主鍵/自動遞增usernameVarchar用戶名passwordvarchar密碼phonevarchar電話addrvarchar地址rdatedate
12、time注冊日期2. Productidint主鍵/自動遞增namevarchar產(chǎn)品名descrvarchar描述normalpricevarchar市場價memberpricevarchar會員價pdatedatetime上柜日期categoryIDint類別ID/引用Categroy表的id3. Categroy字段名字段類型說明idint主鍵/自動遞增namevarchar分類名descrvarchar描述pidvarchar父id4. SalesOrder字段名字段類型說明idint主鍵/自動遞增useridint用戶idaddrvarchar送貨地址odatedatetime下單時
13、間statusint訂單狀態(tài)/0訂單未處理1處理成功2廢單5. SalesItem字段名字段類型說明idint主鍵/自動遞增productidint產(chǎn)品idunitpricevarchar單價pcountdatetime數(shù)量orderidint訂單id/引用salesorder的id1. 首頁a)b)c)金尚網(wǎng)上商城一界面設計 前臺index.jsp顯示某類商品根據(jù)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)產(chǎn)品管理c)類別管理d)訂單管理3.用戶管理a)顯示用戶userlist.jspb)刪除用戶userdelete.jspc)搜索用戶usersearch.jsp4.產(chǎn)品管理a)產(chǎn)品顯示productlist.jspb)產(chǎn)品添加productadd.jspc)產(chǎn)品更改productchange.jspd)產(chǎn)品刪除productdelelte.jspe)產(chǎn)品搜索productSearch.jsp5.類別管理a)類別顯示categorylist.jspb)類別添加categoryadd.jspc)類別刪除categorydeltete.jsp
16、d)類別修改categorychange.jsp6.訂單管理a)訂單瀏覽salesorderlist.jspb)訂單處理salesorderdeal.jsp金尚網(wǎng)上商城一開發(fā)環(huán)境搭建1. 開發(fā)工具a) eclipse3.22. WEB SERVERa) tomcat5.53. DATABASEa) MySQL4. SCMa) Cvs金尚網(wǎng)上商城一開發(fā)1. 先寫用戶2. 再寫分類3. 然后寫產(chǎn)品4. 接下來寫購物5. 最后訂單處理6. 其他功能金尚網(wǎng)上商城一開發(fā)安排1. V0.1a)用戶JavaBean前臺/后臺2. V0.2a)分類JavaBean前臺/后臺3. V0.3a) 產(chǎn)品JavaBe
17、an前臺 /后臺4. V0.4a)購物JavaBean前臺5. V0.5a) 訂單JavaBean 前臺 / 后臺6. V0.6a)其他JavaBean前臺/后臺金尚網(wǎng)上商城文檔編纂1. 需求描述文檔2. 系統(tǒng)分析與設計3. 數(shù)據(jù)庫設計4. 開發(fā)接口 API docs &源代碼注釋5. 用戶幫助(前臺)6. 管理員手冊(后臺)7. 測試文檔重點掌握1.初步了解項目開發(fā)流程a)理解并表達b)熟練運用2. 理解后臺與前臺a)理解互動3. 進一步加深對樹狀結構運用的理解4. 熟練掌握session的概念和運用5. 掌握下列技巧a) 圖片的管理b) 上傳組件的運用開始開發(fā)首先搭建環(huán)境先引入需要
18、的類庫,建立數(shù)據(jù)庫表建立數(shù)據(jù)庫連接的封裝類(輔助類)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, 一般情況下實體類是和數(shù)據(jù)庫表里的字段是一一對應的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-數(shù)據(jù)庫命名全部小寫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創(chuàng)建register.jsp頁面設置頁面編碼問題:在此頁面點右鍵Preferences Encoding "Chinese, NationalStantard "默認是 “ ISO L
29、atin-1 ”三種中文編碼的區(qū)別:GB18030 > GBK > GB2312用原來講javascript中的表單作為原形:把原來的文件和它的.js文件copy到register.jsp中去 連接服務器瀏覽一下之后修改顯示格式1.首先action改一下action ="register.jsp” 提交到自身這個頁面,如果提交到自身的話這個頁面就有連個入口,一個入口是點鏈接鏈接過來,還有一個入口是我們點“提交”把數(shù)據(jù)提交過去,要區(qū)分是鏈接過來還是提交過來的辦法是什么?多一個hidden 字段提交的頁面寫完了,請保存到數(shù)據(jù)庫里向去,<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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國服裝里料數(shù)據(jù)監(jiān)測研究報告
- 2025-2030年中國中藥制劑行業(yè)“十三五”發(fā)展規(guī)劃及投資前景研究報告
- 2025年中國曲柄治具市場調(diào)查研究報告
- 2025年中國景泰藍工藝擺件數(shù)據(jù)監(jiān)測報告
- 2025年中國斷電型限時繼電器數(shù)據(jù)監(jiān)測報告
- 2025年中國數(shù)字式風機盤管恒溫器市場調(diào)查研究報告
- 2025至2031年中國綜合信息集成系統(tǒng)行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國網(wǎng)絡數(shù)字硬盤錄像系統(tǒng)行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國純天然菊花濃縮汁行業(yè)投資前景及策略咨詢研究報告
- 肇慶市實驗中學高中歷史三:第課理性之光教案
- 莊子課件完整版本
- 2024年重慶市中考英語試卷(AB合卷)附答案
- 敘事護理學智慧樹知到答案2024年中國人民解放軍海軍軍醫(yī)大學
- 人造草坪采購鋪設項目 投標方案(技術方案)
- 三年級數(shù)學計算題300道
- 山東省臨沂市2024年中考英語真題【附真題答案】
- JG-T 283-2010 膨脹?;⒅檩p質(zhì)砂漿
- COCA20000詞匯 增強版表格
- 遺傳因素導致近視眼病進展
- 清掃保潔綠化養(yǎng)護 投標方案(技術標 )
- 中國蘇打酒行業(yè)發(fā)展及消費需求洞察報告
評論
0/150
提交評論