版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
.主鍵添加時間刪除狀態(tài)圖片商品主鍵添加時間刪除狀態(tài)圖片商品簡介庫存數(shù)量商品名原價促銷價銷量關(guān)聯(lián)分類的ID圖4-3.6商品表圖商品分類表〔主鍵、商品分類名、是否刪除標(biāo)志如圖4-3.7所示主鍵主鍵商品分類名是否刪除商品分類圖4-3.7商品分類表圖商品統(tǒng)計表〔主鍵、銷量、銷售額、關(guān)聯(lián)商品的ID如圖4-3.8所示主鍵銷量關(guān)聯(lián)商品的ID商品統(tǒng)計銷售額主鍵銷量關(guān)聯(lián)商品的ID商品統(tǒng)計銷售額圖4-3.8商品統(tǒng)計表圖收貨信息表〔主鍵、收貨地址、聯(lián)系電話、收貨人姓名、關(guān)聯(lián)用戶的ID如圖4-3.9所示主鍵主鍵收貨地址收貨人姓名關(guān)聯(lián)用戶的ID收貨信息聯(lián)系電話圖4-3.9收貨信息表圖用戶表〔主鍵、注冊時間、0表示正常1表示鎖定、密碼、電話、1表示管理員2表示購物、姓名、用戶名如圖4-3.10所示主鍵主鍵注冊時間姓名用戶名用戶密碼電話圖4.3-10用戶表圖4.4數(shù)據(jù)庫表結(jié)構(gòu)表4-1訂單表名稱類型空默認(rèn)值備注idint<11>noauto_increment主鍵addressvarchar<255>yes空收件人地址beizhuvarchar<255>yes空備注createtimedatetimeyes空添加時間deleteststusint<11>no0訂單是否刪除orderedvarchar<255>yes空訂單號phonevarchar<255>yes空收件人手機(jī)sjnamevarchar<255>yes空收件人姓名statusvarchar<255>yes空訂單狀態(tài)xiangqingvarchar<255>yes空訂單詳情zongjiadoubleyes空總價useridint<11>yes空關(guān)聯(lián)用戶的ID表4-2訂單條目表名稱類型空默認(rèn)值備注idint<11>noauto_increment主鍵jiagedoubleyes空價格shuliangint<11>no0數(shù)量dingdanidint<11>yes空關(guān)聯(lián)訂單的IDproductidint<11>yes空關(guān)聯(lián)商品的ID表4-3訂單統(tǒng)計表名稱類型空默認(rèn)值備注idint<11>noauto_increment主鍵chenggongint<11>no0成功的訂單數(shù)daydatetimeyes空日期quxiaoint<11>no0取消的訂單數(shù)shengchengint<11>no0生成的訂單數(shù)表4-4購物車名稱類型空默認(rèn)值備注idint<11>noauto_increment主鍵createtimedatetimeyes空添加時間slint<11>no0數(shù)量productidint<11>yes空關(guān)聯(lián)商品的IDuseridint<11>yes空關(guān)聯(lián)用戶的ID表4-5評價表名稱類型空默認(rèn)值備注idint<11>noauto_increment主鍵createtimedatetimeyes空添加時間orderedvarchar<255>yes空訂單IDpingjiavarchar<255>yes空評價pingyuvarchar<255>yes空評語productidint<11>yes空關(guān)聯(lián)商品的IDuseridint<11>yes空關(guān)聯(lián)用戶的ID表4-6商品表名稱類型空默認(rèn)值備注idint<11>noauto_increment主鍵chapingint<11>no0差評createtimedatetimeyes空添加時間deleteststusint<11>no0刪除狀態(tài)haopingint<11>no0好評impathvarchar<255>yes空圖片infotextyes空簡介kucunint<11>no0庫存數(shù)量pnamevarchar<255>yes空商品名price1doubleyes空原價price2doubleyes空促銷價tuijianvarchar<255>yes空推薦xiaoliangint<11>no0銷量zhongpingint<11>no0中評cateidint<11>yes空關(guān)聯(lián)分類的ID表4-7商品分類表名稱類型空默認(rèn)值備注idint<11>noauto_increment主鍵catenamevarchar<255>yes空商品分類名deletestatusint<11>no0是否刪除狀態(tài)表4-8商品統(tǒng)計表名稱類型空默認(rèn)值備注idint<11>noauto_increment主鍵xiaoliangint<11>no0銷量xiaoshoudoubleyes空銷售額productidint<11>yes空關(guān)聯(lián)商品的ID表4-9收貨信息表名稱類型空默認(rèn)值備注idint<11>noauto_increment主鍵addressvarchar<255>yes空收貨地址phonevarchar<255>yes空聯(lián)系電話truenamevarchar<255>yes空收貨人姓名useridint<11>yes空關(guān)聯(lián)用戶的ID表4-10用戶表名稱類型空默認(rèn)值備注idint<11>noauto_increment主鍵addressvarchar<255>yes空地址createtimedatetimeyes空注冊時間deletestatusint<11>no00表示正常1表示鎖定passwordvarchar<255>yes空密碼phonevarchar<255>yes空電話roleint<11>no01表示管理員2表示購物…truenamevarchar<255>yes空姓名usernamevarchar<255>yes空用戶名4.5平臺數(shù)據(jù)表的設(shè)計根據(jù)平臺的需求分析和功能模塊的劃分,所涉及的實體有商品分類、訂單、訂單條目、購物車、評價、商品、收貨信息、用戶、商品統(tǒng)計、訂單統(tǒng)計。所以系統(tǒng)定義的數(shù)據(jù)庫主要有10張表:訂單表t_dingdan,訂單條目表t_dingdanitem,訂單統(tǒng)計表t_tongjidj,購物表t_gouwuche,評價表t_pingjia,商品分類表t_cate,收貨信息表t_shouhuo,商品表t_product,商品統(tǒng)計表t_tongjiproduct,用戶表t_user。訂單表t_dingdan如圖4-5.1圖4-5.1訂單表圖建表的sql語句為:CREATETABLE`t_dingdan`<`id`int<11>NOTNULLauto_incrementCOMMENT'主鍵',`address`varchar<255>defaultNULLCOMMENT'收件人地址',`beizhu`varchar<255>defaultNULLCOMMENT'備注',`createtime`datetimedefaultNULLCOMMENT'添加時間',`deletestatus`int<11>NOTNULLdefault'0'COMMENT'訂單是否刪除,0表示未刪除,1表示已刪除',`orderid`varchar<255>defaultNULLCOMMENT'訂單號',`phone`varchar<255>defaultNULLCOMMENT'收件人手機(jī)',`sjname`varchar<255>defaultNULLCOMMENT'收件人姓名',`status`varchar<255>defaultNULLCOMMENT'訂單狀態(tài),已處理、未處理',`xiangqing`varchar<255>defaultNULLCOMMENT'訂單詳情',`zongjia`doubledefaultNULLCOMMENT'總價',`userid`int<11>defaultNULLCOMMENT'關(guān)聯(lián)用戶的Id,外鍵',PRIMARYKEY<`id`>,KEY`FK8224F8E8F22E4FAE`<`userid`>,CONSTRAINT`FK8224F8E8F22E4FAE`FOREIGNKEY<`userid`>REFERENCES`t_user`<`id`>>ENGINE=InnoDBDEFAULTCHARSET=utf8;訂單條目表t_dingdanitem如圖4-5.2圖4-5.2訂單條目表圖建表的語句為:CREATETABLE`t_dingdanitem`<`id`int<11>NOTNULLauto_increment,`jiage`doubleNOTNULL,`shuliang`int<11>NOTNULL,`dingdanid`int<11>defaultNULL,`productid`int<11>defaultNULL,PRIMARYKEY<`id`>,KEY`FK83DFBFFB7E2C405C`<`productid`>,KEY`FK83DFBFFB2920D924`<`dingdanid`>,CONSTRAINT`FK83DFBFFB2920D924`FOREIGNKEY<`dingdanid`>REFERENCES`t_dingdan`<`id`>,CONSTRAINT`FK83DFBFFB7E2C405C`FOREIGNKEY<`productid`>REFERENCES`t_product`<`id`>>ENGINE=InnoDBDEFAULTCHARSET=utf8;訂單統(tǒng)計表t_tongjidj如圖4-5.3圖4-5.3訂單統(tǒng)計表圖建表的語句為:CREATETABLE`t_tongjidj`<`id`int<11>NOTNULLauto_incrementCOMMENT'主鍵',`chenggong`int<11>NOTNULLdefault'0'COMMENT'成功的訂單數(shù)',`day`varchar<255>defaultNULLCOMMENT'日期',`quxiao`int<11>NOTNULLdefault'0'COMMENT'取消的訂單數(shù)',`shengcheng`int<11>NOTNULLdefault'0'COMMENT'生成的訂單數(shù)',PRIMARYKEY<`id`>>ENGINE=InnoDBDEFAULTCHARSET=utf8;購物車表t_gouwuche圖4-5.4購物車表圖建表的語句為:CREATETABLE`t_gouwuche`<`id`int<11>NOTNULLauto_increment,`createtime`varchar<255>defaultNULL,`sl`int<11>NOTNULL,`productid`int<11>defaultNULL,`userid`int<11>defaultNULL,PRIMARYKEY<`id`>,KEY`FK445E3420F22E4FAE`<`userid`>,KEY`FK445E34207E2C405C`<`productid`>,CONSTRAINT`FK445E34207E2C405C`FOREIGNKEY<`productid`>REFERENCES`t_product`<`id`>,CONSTRAINT`FK445E3420F22E4FAE`FOREIGNKEY<`userid`>REFERENCES`t_user`<`id`>>ENGINE=InnoDBDEFAULTCHARSET=utf8;評價表t_pingjia如圖4-5.5圖4-5.5評價表圖建表的SQL語句為:CREATETABLE`t_pingjia`<`id`int<11>NOTNULLauto_increment,`createtime`varchar<255>defaultNULL,`orderid`varchar<255>defaultNULL,`pingjia`varchar<255>defaultNULL,`pingyu`varchar<255>defaultNULL,`productid`int<11>defaultNULL,`userid`int<11>defaultNULL,PRIMARYKEY<`id`>,KEY`FKFCEFD765F22E4FAE`<`userid`>,KEY`FKFCEFD7657E2C405C`<`productid`>,CONSTRAINT`FKFCEFD7657E2C405C`FOREIGNKEY<`productid`>REFERENCES`t_product`<`id`>,CONSTRAINT`FKFCEFD765F22E4FAE`FOREIGNKEY<`userid`>REFERENCES`t_user`<`id`>>ENGINE=InnoDBDEFAULTCHARSET=utf8;商品表t_product如圖4-5.6圖4-5.6商品表圖建表的SQL語句為:CREATETABLE`t_product`<`id`int<11>NOTNULLauto_increment,`chaping`int<11>NOTNULL,`createtime`varchar<255>defaultNULL,`deletestatus`int<11>NOTNULL,`haoping`int<11>NOTNULL,`imgpath`varchar<255>defaultNULL,`info`text,`kucun`int<11>NOTNULL,`pname`varchar<255>defaultNULL,`price1`doubleNOTNULL,`price2`doubleNOTNULL,`tuijian`varchar<255>defaultNULL,`xiaoliang`int<11>NOTNULL,`zhongping`int<11>NOTNULL,`cateid`int<11>defaultNULL,PRIMARYKEY<`id`>,KEY`FKA91FC024CC32B8E5`<`cateid`>,CONSTRAINT`FKA91FC024CC32B8E5`FOREIGNKEY<`cateid`>REFERENCES`t_cate`<`id`>>ENGINE=InnoDBDEFAULTCHARSET=utf8;商品分類表t_cate如圖4-5.7圖4-5.7商品分類表建表的SQL語句為:CREATETABLE`t_cate`<`id`int<11>NOTNULLauto_increment,`catename`varchar<255>defaultNULL,`deletestatus`int<11>NOTNULL,PRIMARYKEY<`id`>>ENGINE=InnoDBDEFAULTCHARSET=utf8;商品統(tǒng)計表t_tongjiproduct如圖4-5.8圖4-5.8商品統(tǒng)計表圖建表的SQL語句為:CREATETABLE`t_tongjiproduct`<`id`int<11>NOTNULLauto_increment,`xiaoliang`int<11>NOTNULL,`xiaoshou`doubleNOTNULL,`productid`int<11>defaultNULL,PRIMARYKEY<`id`>,KEY`FK52CF4B317E2C405C`<`productid`>,CONSTRAINT`FK52CF4B317E2C405C`FOREIGNKEY<`productid`>REFERENCES`t_product`<`id`>>ENGINE=InnoDBDEFAULTCHARSET=utf8;收貨信息表t_shouhuo如圖4-5.9圖4-5.9收貨信息表圖建表的SQL語句為:CREATETABLE`t_shouhuo`<`id`int<11>NOTNULLauto_increment,`address`varchar<255>defaultNULL,`phone`varchar<255>defaultNULL,`truename`varchar<255>defaultNULL,`userid`int<11>defaultNULL,PRIMARYKEY<`id`>,KEY`FK9A021F3CF22E4FAE`<`userid`>,CONSTRAINT`FK9A021F3CF22E4FAE`FOREIGNKEY<`userid`>REFERENCES`t_user`<`id`>>ENGINE=InnoDBDEFAULTCHARSET=utf8;用戶表t_user如圖4-5.10圖4-5.10用戶表圖建表的SQL語句為:CREATETABLE`t_user`<`id`int<11>NOTNULLauto_increment,`address`varchar<255>defaultNULL,`createtime`varchar<255>defaultNULL,`deletestatus`int<11>NOTNULL,`password`varchar<255>defaultNULL,`phone`varchar<255>defaultNULL,`role`int<11>NOTNULL,`truename`varchar<255>defaultNULL,`username`varchar<255>defaultNULL,PRIMARYKEY<`id`>>ENGINE=InnoDBDEFAULTCHARSET=utf8;5系統(tǒng)功能實現(xiàn)5.1程序的時序圖5.1.1訂單模塊時序圖說明:以下是管理員與系統(tǒng)交互的時序圖,實現(xiàn)了管理員增加訂單,更新訂單,查看訂單,刪除訂單的能力。圖5.2.1訂單模塊時序圖5.1.2訂單條目模塊時序圖說明:以下是管理員與系統(tǒng)交互的時序圖,實現(xiàn)了管理員增加訂單條目信息,更新訂單條目,查看訂單條目,刪除訂單條目的能力。圖5.2.2訂單條目模塊時序圖5.1.3訂單統(tǒng)計模塊時序圖說明:以下是管理員與系統(tǒng)交互的時序圖,實現(xiàn)了管理員增加訂單統(tǒng)計信息,更新訂單統(tǒng)計信息,查看訂單統(tǒng)計信息,刪除訂單統(tǒng)計信息的能力。圖5.2.3訂單統(tǒng)計模塊時序圖5.1.4購物車模塊時序圖說明:以下是用戶與系統(tǒng)交互的時序圖,實現(xiàn)了用戶增加購物車,更新購物車,查看購物車,刪除購物車的能力。圖5.2.4購物車模塊時序圖5.1.5評價模塊時序圖說明:用戶添加評價,更新評價,管理員查看用戶的評價,并且刪除用戶給予的差評。圖5.2.5評價模塊時序圖5.1.6商品分類模塊時序圖說明:以下是管理員與系統(tǒng)交互的時序圖,實現(xiàn)了管理員增加商品分類,更新商品分類,查看商品分類,刪除商品分類的能力。圖5.2.6商品分類模塊時序圖5.1.7商品模塊時序圖說明:以下是管理員與系統(tǒng)交互的時序圖,實現(xiàn)了管理員增加新的商品,更新商品,查看商品,刪除商品的能力。圖5.2.7商品模塊時序圖5.1.8商品統(tǒng)計模塊時序圖說明:以下是管理員與系統(tǒng)交互的時序圖,實現(xiàn)了管理員增加商品統(tǒng)計信息,更新商品統(tǒng)計信息,查看商品統(tǒng)計信息,刪除商品統(tǒng)計信息的能力。圖5.2.8商品統(tǒng)計模塊時序圖5.1.9收貨模塊時序圖說明:以下是用戶與系統(tǒng)交互的時序圖,實現(xiàn)了用戶增加新的收貨信息,更新收貨信息,查看收貨信息,刪除收貨信息的能力。圖5.2.9收貨模塊時序圖5.1.10用戶模塊時序圖說明:以下是用戶與系統(tǒng)交互的時序圖,實現(xiàn)了用戶增加新用戶信息,更新新用戶信息,查看新用戶信息,刪除用戶信息的能力。圖5.2.10用戶模塊時序圖5.2系統(tǒng)功能實現(xiàn)的主要框架5.2.1SSH框架SSH框架就是struts2,spring,hibernate的簡稱,運(yùn)用3個框架的集成協(xié)作使用,可以有效的提高代碼編寫的效率,從而有效的降低程序開發(fā)的周期。5.2.2hibernate配置文件<hibernate-configuration><session-factory><!--Databaseconnectionsettings--><propertyname="proxool.pool_alias">DBPool</property><propertyname="proxool.xml">proxool.xml</property><propertyname="vider_class"></property><!--EchoallexecutedSQLtostdout--><propertyname="show_sql">true</property><propertyname="format_sql">true</property><propertyname="dialect"></property><!--EnableHibernate'sautomaticsessioncontextmanagement--><propertyname="current_session_context_class">thread</property><propertyname="hibernate.hbm2ddl.auto">update</property><mappingclass="shop.model.User"/><mappingclass="shop.model.Category"/><mappingclass="shop.model.Product"/><mappingclass="shop.model.Shouhuo"/><mappingclass="shop.model.Gouwuche"/><mappingclass="shop.model.Dingdan"/><mappingclass="shop.model.Pingjia"/><mappingclass="shop.model.Tongjidj"/><mappingclass="shop.model.Tongjiproduct"/><mappingclass="shop.model.Dingdanitem"/></session-factory></hibernate-configuration>這是Hibernate的配置文件,在該文件中<propertyname="proxool.xml">proxool.xml</property>首先加載了連接池的一個配置,就是加載了數(shù)據(jù)庫的連接信息,<propertyname="show_sql">true</property><propertyname="format_sql">true</property>表示控制臺打印SQL語句,并格式化SQL語句ct.MySQLDialect</property>表示當(dāng)前數(shù)據(jù)庫的語言是MYSQL<mappingclass="shop.model.User"/><mappingclass="shop.model.Category"/><mappingclass="shop.model.Product"/><mappingclass="shop.model.Shouhuo"/><mappingclass="shop.model.Gouwuche"/><mappingclass="shop.model.Dingdan"/><mappingclass="shop.model.Pingjia"/><mappingclass="shop.model.Tongjidj"/><mappingclass="shop.model.Tongjiproduct"/><mappingclass="shop.model.Dingdanitem"/>都表示當(dāng)前數(shù)據(jù)庫建立起來的表和類之間的映射關(guān)系,比如<mappingclass="model.User"/>表示User類和t_user表之間的建立起來的對應(yīng)關(guān)系,其他也都類似5.2.3struts配置文件<struts><constantname="struts.objectFactory"value="spring"/><constantname="struts.i18n.encoding"value="UTF-8"/><packagename="index"namespace="/"extends="struts-default"><actionname="index"method="index"class="indexAction"><resultname="success">index.jsp</result></action><actionname="indexmethod"class="indexAction"><resulttype="dispatcher">${url}</result><resultname="redirect"type="redirect">${url}</result></action><actionname="method"class="manageAction"><resulttype="dispatcher">${url}</result><resultname="redirect"type="redirect">${url}</result></action></package></struts>struts的配置文件,主要起到將來自JSP的請求的跳轉(zhuǎn)分配.該struts配置文件是個總的配置文件。5.2.4spring配置文件Spring在本項目中主要用到了IOC的功能,就是把對象實例化<!--daos--><beanid="userDao"class="shop.dao.impl.UserDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean><beanid="categoryDao"class="shop.dao.impl.CategoryDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean><beanid="productDao"class="shop.dao.impl.ProductDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean><beanid="shouhuoDao"class="shop.dao.impl.ShouhuoDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean><beanid="gouwucheDao"class="shop.dao.impl.GouwucheDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean><beanid="dingdanDao"class="shop.dao.impl.DingdanDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean><beanid="pingjiaDao"class="shop.dao.impl.PingjiaDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean><beanid="tongjidjDao"class="shop.dao.impl.TongjidjDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean><beanid="tongjiproductDao"class="shop.dao.impl.TongjiproductDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean><beanid="dingdanitemDao"class="shop.dao.impl.DingdanitemDaoImpl"><propertyname="sessionFactory"><refbean="sessionFactory"/></property></bean>本段代碼是把DAO實例化的代碼,通過spring的IOC模式<beanid="manageAction"class="shop.action.ManageAction"scope="prototype"><propertyname="userDao"><refbean="userDao"/></property><propertyname="categoryDao"><refbean="categoryDao"/></property><propertyname="productDao"><refbean="productDao"/></property><propertyname="dingdanDao"><refbean="dingdanDao"/></property><propertyname="pingjiaDao"><refbean="pingjiaDao"/></property><propertyname="tongjidjDao"><refbean="tongjidjDao"/></property><propertyname="tongjiproductDao"><refbean="tongjiproductDao"/></property><propertyname="dingdanitemDao"><refbean="dingdanitemDao"/></property></bean>上面這段代碼是把ManageAction實例化的代碼,原理也是spring的IOC模式。<beanid="indexAction"class="shop.action.IndexAction"scope="prototype"><propertyname="productDao"><refbean="productDao"/></property><propertyname="userDao"><refbean="userDao"/></property><propertyname="shouhuoDao"><refbean="shouhuoDao"/></property><propertyname="gouwucheDao"><refbean="gouwucheDao"/></property><propertyname="dingdanDao"><refbean="dingdanDao"/></property><propertyname="pingjiaDao"><refbean="pingjiaDao"/></property><propertyname="tongjidjDao"><refbean="tongjidjDao"/></property><propertyname="dingdanitemDao"><refbean="dingdanitemDao"/></property></bean>上面這段代碼是把IndexAction實例化的代碼,原理也是spring的IOC模式。5.3系統(tǒng)功能實現(xiàn)的主要模塊5.3.1網(wǎng)站頁面本網(wǎng)站的主界面采用上下的結(jié)構(gòu),上面是搜索商品,下面是主界面首頁圖片,右上角可以注冊跟登錄用戶。在首頁的圖片下面可以看到管理員增加的商品信息,價格,圖片,種類。代碼://網(wǎng)站首頁publicStringindex<>throwsException{ HttpServletRequestrequest=ServletActionContext.getRequest<>; StringBuffersb=newStringBuffer<>; sb.append<"where">; sb.append<"deletestatus=0orderbytuijian,iddesc">; Stringwhere=sb.toString<>;inttotal=0; total=productDao.selectBeanCount<where.replaceAll<"orderbytuijian,iddesc","">>;intcurrentpage=1;intpagesize=10;if<request.getParameter<"pagenum">!=null>{ currentpage=Integer.parseInt<request.getParameter<"pagenum">>; } request.setAttribute<"list",productDao.selectBeanList<<current1> *pagesize,pagesize,where>>; request.setAttribute<"pagerinfo",Pager.getPagerNormal<total,pagesize, currentpage,"index.action","共有"+total+"條記錄">>;return"success"; }本段代碼是主頁面代碼,通過productDao.selectBeanList方法從數(shù)據(jù)庫中取出各種商品的信息,同時提供搜索菜單等功能,最后通過return"success";返回到struts.xml對應(yīng)的JSP文件。5.3.2用戶注冊頁面這個界面是用戶注冊賬號的界面。//登陸代碼:publicvoidregister<>throwsException{ HttpServletRequestrequest=ServletActionContext.getRequest<>; HttpServletResponseresponse=ServletActionContext.getResponse<>; response.setCharacterEncoding<"gbk">; response.setContentType<"text/html;charset=gbk">; Stringusername=request.getParameter<"username">; Userbean=userDao.selectBean<"whereusername='"+username+"'">;if<bean!=null>{ response .getWriter<> .print<"<scriptlanguage=javascript>alert<'該用戶名已經(jīng)存在,注冊失敗'>;window.location.href='register.jsp';</script>">;return; } bean=newUser<>; Stringpassword=request.getParameter<"password">; Stringtruename=request.getParameter<"truename">; Stringaddress=request.getParameter<"address">; Stringphone=request.getParameter<"phone">; bean.setAddress<address>; bean.setCreatetime<Util.getTime<>>; bean.setPassword<password>; bean.setPhone<phone>; bean.setRole<2>; bean.setTruename<truename>; bean.setUsername<username>;userDao.insertBean<bean>; Shouhuosh=newShouhuo<>; sh.setAddress<address>; sh.setPhone<phone>; sh.setTruename<truename>; sh.setUser<bean>;shouhuoDao.insertBean<sh>; response .getWriter<> .print<"<scriptlanguage=javascript>alert<'注冊成功'>;window.location.href='login.jsp';</script>">;}本段代碼為程序的注冊代碼,首先從獲取從頁面獲取注冊的信息,同時新建一個User對象,把該條記錄寫入數(shù)據(jù)庫,如果該條記錄存在,則返回到注冊頁面,同時提醒用戶該用戶名已經(jīng)存在,請重新注冊!。5.3.3購物車這個幾面就是看到顧客買到商品后的購物車,看到自己買到的商品。代碼:functionchangenum<id>{ varnum=document.getElementById<id+"_num">.value; varreg1=/^\d+$/; if<num.match<reg1>==null> { alert<"購買數(shù)量必須為正整數(shù)">; returnfalse; } if<num==0> { alert<"購買數(shù)量必須大于0的正整數(shù)">; returnfalse; } varnow=newDate<>; vart=now.getTime<>+''; window.location.href="indexmethod!gouwucheupdate.action?id="+id+"&sl="+num+"&t="+t; }5.3.4管理后臺頁面這個界面是進(jìn)入后臺的界面。代碼如下://用戶注冊操作publicStringlogin<>throwsIOException{ HttpServletRequestrequest=ServletActionContext.getRequest<>; Stringusername=request.getParameter<"username">; Stringpassword=request.getParameter<"password">; Useruser=userDao.selectBean<"whereusername='"+username +"'andpassword='"+password+"'">;if<user!=null>{ HttpSessionsession=request.getSession<>; session.setAttribute<"user",user>;this.setUrl<"manage/index.jsp">;return"redirect"; }else{ HttpServletResponseresponse=ServletActionContext.getResponse<>; response.setCharacterEncoding<"utf-8">; response.setContentType<"text/html;charset=utf-8">; response .getWriter<> .print<"<scriptlanguage=javascript>alert<'用戶名或者密碼錯誤'>;window.location.href='login.jsp';</script>">; }returnnull; } 本段代碼是程序的登陸代碼,首先從獲取從頁面輸入的用戶名和密碼,然后調(diào)用userDao.selectBean方法,從數(shù)據(jù)庫里取出該條記錄進(jìn)行判斷,若該條記錄存在,則說明用戶登陸成功,同時把用戶信息存在session里面方便調(diào)用,若記錄為空,則跳轉(zhuǎn)到登陸頁面,同時提醒用戶錯誤信息。5.3.5商品分類列表頁面這個頁面可以看到管理員添加的商品的分類。代碼://分類列表publicStringcategorylist<>{ HttpServletRequestrequest=ServletActionContext.getRequest<>; Stringcatename=request.getParameter<"catename">; StringBuffersb=newStringBuffer<>; sb.append<"where">;if<catename!=null&&!"".equals<catename>>{ sb.append<"catenamelike'%"+catename+"%'">; sb.append<"and">; request.setAttribute<"catename",catename>; } sb.append<"deletestatus=0orderbyiddesc">; Stringwhere=sb.toString<>;intcurrentpage=1;intpagesize=10;if<request.getParameter<"pagenum">!=null>{ currentpage=Integer.parseInt<request.getParameter<"pagenum">>; }inttotal=categoryDao.selectBeanCount<where.replaceAll<"orderbyiddesc","">>; request.setAttribute<"list",categoryDao.selectBeanList<<current1> *pagesize,pagesize,where>>; request.setAttribute<"pagerinfo",Pager.getPagerNormal<total,pagesize, currentpage,"method!categorylist.action","共有"+total+"條記錄">>; request.setAttribute<"url","method!categorylist.action">; request.setAttribute<"url2","method!category">; request.setAttribute<"title","分類管理">;this.setUrl<"category/categorylist.jsp">;returnSUCCESS; }首先通過Stringname=request.getParameter<"catename">;這句代碼從頁面獲取查詢的選項,,然后通過if<catename!=null&&!"".equals<catename>>{通過這句條件語句分別判斷下這個值是否為空,當(dāng)不為空時則通過StingBuffer來疊加組裝查詢的sql語句,最后當(dāng)sql語句組裝好了之后,通過categoryDao.selectBeanList方法來調(diào)用數(shù)據(jù)庫的查詢方法來查到符合條件的記錄,在通過request.setAttribute方法把查詢到的記錄傳到顯示的頁面。同時通過this.setUrl<"category/categorylist.jsp">;方法指定傳回到具體指定的是哪個JSP頁面。通過這樣實現(xiàn)對數(shù)據(jù)查詢功能的實現(xiàn),同時在該商品分類列表頁面定義了對科目信息的增加,修改,刪除等操作。5.3.6商品信息管理頁面在這里可以看到管理員添加的所有商品也可以修改商品,刪除商品,商品入庫,和推薦商品,也可以添加新的商品。代碼:style="FLOAT:left;BACKGROUND-IMAGE:url<images/main_hr.gif>;WIDTH:60px;BACKGROUND-REPEAT:no-repeat;HEIGHT:47px"></SPAN></TD><TDstyle="BACKGROUND-POSITION:50%bottom;BACKGROUND-IMAGE:url<images/main_rc.gif>"width=10></TD></TR><TR><TDstyle="BACKGROUND-IMAGE:url<images/main_ls.gif>"> </TD><TDstyle="PADDING-RIGHT:10px;PADDING-LEFT:10px;PADDING-BOTTOM:10px;COLOR:#566984;PADDING-TOP:10px;BACKGROUND-COLOR:white"vAlign=topalign=middle><DIV><TABLEclass=gridViewid=ctl00_ContentPlaceHolder2_GridView1style="WIDTH:100%;BORDER-COLLAPSE:collapse"cellSpacing=0rules=allborder=1><formaction="method!productlist.action"method="post"><ahref="method!productadd.action"><spanstyle="font-size:25px;font-weight:bold;">添加新商品</span></a>分類名:<selectname="catename"><optionvalue="">所有選項</option><optionvalue="項鏈">項鏈</option><optionvalue="手鐲">手鐲</option><optionvalue="戒指">戒指</option><optionvalue="翡翠">翡翠</option></select>商品名:<inputname="pname"type="text"value=""><inputtype="submit"value="查詢"/></form>5.3.7訂單管理頁面在這里可以看到顧客已經(jīng)購買的商品的訂單號,可以看到價格,時間,已處理就是已經(jīng)發(fā)貨。代碼:style="FLOAT:left;BACKGROUND-IMAGE:url<images/main_hr.gif>;WIDTH:60px;BACKGROUND-REPEAT:no-repeat;HEIGHT:47px"></SPAN></TD><TDstyle="BACKGROUND-POSITION:50%bottom;BACKGROUND-IMAGE:url<images/main_rc.gif>"width=10></TD></TR><TR><TDstyle="BACKGROUND-IMAGE:url<images/main_ls.gif>"> </TD><TDstyle="PADDING-RIGHT:10px;PADDING-LEFT:10px;PADDING-BOTTOM:10px;COLOR:#566984;PADDING-TOP:10px;BACKGROUND-COLOR:white"vAlign=topalign=middle><DIV><TABLEclass=gridViewid=ctl00_ContentPlaceHolder2_GridView1style="WIDTH:100%;BORDER-COLLAPSE:collapse"cellSpacing=0rules=allborder=1><formaction="method!dingdanlist.action"method="post">訂單號:<inputname="orderid"type="text"value=""><inputtype="submit"value="查詢"/></form>6系統(tǒng)的調(diào)試與測試6.1軟件測試的目的第一是確認(rèn)該軟件的質(zhì)量,一方面是確認(rèn)軟件可以滿足預(yù)期期望,另一方面是確保軟件正確編寫完成。第二是提供信息,例如提供給開發(fā)人員的反饋信息,為風(fēng)險評估所準(zhǔn)備的信息。第三軟件測試的不僅僅是在測試軟件產(chǎn)品的本身,而且其還包括軟件開發(fā)過程。一個軟件產(chǎn)品開發(fā)完成后會出現(xiàn)很多問題,這說明軟件開發(fā)過程是有缺陷的。所以軟件測試的第三個目的是應(yīng)保證整個軟件開發(fā)的過程是高質(zhì)量的。軟件質(zhì)量是由以下幾個方面來衡量:一、在正確的時間用正確的的方法把一個工作做正確。二、符合不同的標(biāo)準(zhǔn)要求,例如不同國家用戶的不同操作習(xí)慣和要求,項目工程中的可測試性、可維護(hù)性等要求。三、質(zhì)量的本身是軟件達(dá)到了開始設(shè)定的要求,而程序的精巧與優(yōu)美并不代表著軟件的高質(zhì)量。四、質(zhì)量同時也代表著符合客戶的需要。軟件測試這個行業(yè),最重要的事情就是從客戶的需求出發(fā),從客戶角度去看產(chǎn)品,客戶如何使用這個產(chǎn)品,在使用的過程中會遇到什么樣的問題。6.2軟件測試的任務(wù)1、尋找Bug;
2、避免軟件開發(fā)過程中的缺陷;
3、衡量軟件的品質(zhì);
4、關(guān)注用戶的需求??偟哪繕?biāo)是:確保軟件的質(zhì)量6.3測試環(huán)境Apache提供的Web服務(wù)器Tomcat6.0使得用戶可以在Windows2000以上操作系統(tǒng)下發(fā)布自己設(shè)計的動態(tài)網(wǎng)頁。因此對論壇的調(diào)試工作主要是利用Tomcat6.0的強(qiáng)大功能在本機(jī)下完成的。為了在本機(jī)下瀏覽Web頁面,首先在創(chuàng)建該系統(tǒng)的站點(diǎn)上〔該系統(tǒng)使用的是Web的默認(rèn)站點(diǎn)將IP地址設(shè)定為,它的缺省域名值為localhost。然后向IE瀏覽器輸入本地動態(tài)網(wǎng)頁的URL,Web服務(wù)器在收到瀏覽器傳送的URL后找到網(wǎng)頁文件,并在服務(wù)器端執(zhí)行該文件以后將這個文件以HTML文件的形式返回該瀏覽器。6.4測試環(huán)境的配置6.4.1創(chuàng)建安裝項目要對一個應(yīng)用程序進(jìn)行打包部署,首先要把tomcat服務(wù)器集成到eclipse的開發(fā)工具:〔1點(diǎn)擊windowpreferences,彈出對話框,如圖所示:在文本框里輸入tomcat,選擇tomcat選項,選擇tomcat6.X,并選擇tomcat文件的路徑,點(diǎn)擊enable,使這個設(shè)置為有效的。如下圖所示:最后點(diǎn)擊確認(rèn)完成tomcat服務(wù)器的添加。6.4.2添加項目輸出選擇部署按鈕,彈出如下對話框,在project里選擇需要部署的項目之后點(diǎn)擊add按鈕,彈出如下對話框,Server選擇tomcat6X,最后點(diǎn)擊finish完成部署。6.4.3運(yùn)行項目首先點(diǎn)擊server窗口,如圖,右鍵點(diǎn)擊tomcat6.x,點(diǎn)擊runserver,則開始運(yùn)行tomcat服務(wù)器,當(dāng)控制臺不在有新的信息輸出時說明部署成功。.參考文獻(xiàn)[1]飛思科技產(chǎn)品研發(fā)中心,《JSP應(yīng)用開發(fā)詳解〔第二版》,北京:電子工業(yè)出版社,2004。[2]岑紅旗,淺析網(wǎng)上購物在中國的現(xiàn)狀[J].時代金融.2007。[3]朱謙,羅新.社區(qū)電子商務(wù)網(wǎng)上購物模式[J].現(xiàn)代經(jīng)濟(jì)信息.2008。[4]李賢華,基于JSP技術(shù)的大型網(wǎng)上購物系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機(jī)與現(xiàn)代化.2008。[5]AliceWoudhuysen.Chinainternet:Thelongmarchtowarde-commerce[J].theeconomistintelligenceunit.2007。[6]胡立源,淺析大學(xué)生的網(wǎng)上購物[J].商場現(xiàn)代化.2008。[7]夕暉,網(wǎng)上購物——人們生活的必然[J].每周商品報.2008。[8]Sanden,Bo."SYSTEMSPROGRAMMINGWITHJSP:EXAMPLE-AVDUCONTROLLER",CommunicationsoftheACM,Vol28,No10,1985.[9]Burgess,R.S."DESIGNINGCODASYLDATABASEPROGRAMSUSINGJSP",InformationandSoftwareTechnology,Vol29,No3,1987.[10]Javey.S."CONCEPTOF'CORRESPONDENCE'INJSP",ProceedingsoftheHawaiiInternationalConferenceonSystemScience,Vol2,1987..致謝在指導(dǎo)老師的指導(dǎo)和同學(xué)幫助之下,我順利地完成了本次畢業(yè)設(shè)計。在畢業(yè)設(shè)計這段時間里,我認(rèn)識到了自己的不足并努力的爭取獨(dú)立完成我的設(shè)計,最終收獲很多,學(xué)到了以前很多沒有學(xué)到的知識,同時也鞏固了所學(xué)過的知識。我非常感謝我的指導(dǎo)老師段立國老師。作為我的導(dǎo)師,無論是在理論還是實踐方面都給我提了很多寶貴的意見,使我的畢業(yè)設(shè)計在有條不紊的環(huán)境下進(jìn)行,逐步趨于完善,得以順利完成。最后,感謝在畢業(yè)設(shè)計中為我提供幫助的學(xué)院的老師和同學(xué),以及在畢業(yè)設(shè)計中被我引用或參考的論著的作者,總之感謝在畢業(yè)設(shè)計期間給予我?guī)椭乃欣蠋熀屯瑢W(xué),感謝你們對我的支持。.附錄StrutsStruts是Apache軟件基金會〔ASF贊助的一個開源項目。它最初是Jakarta項目中的一個子項目,并在20XX3月成為ASF的頂級項目。它通過采用JavaServlet/JSP技術(shù),實現(xiàn)了基于JavaEEWeb應(yīng)用的Model-View-Controller〔MVC設(shè)計模式的應(yīng)用框架〔WebFramework,是MVC經(jīng)典設(shè)計模式中的一個經(jīng)典產(chǎn)品。MVC結(jié)構(gòu)在Struts中,已經(jīng)由一個名為ActionServlet的Servlet充當(dāng)控制器〔Controller的角色,根據(jù)描述模型、視圖、控制器對應(yīng)關(guān)系的struts-config.xml的配置文件,轉(zhuǎn)發(fā)視圖〔View的請求,組裝響應(yīng)數(shù)據(jù)模型〔Model。在MVC的模型〔Model部分,經(jīng)常劃分為兩個主要子系統(tǒng)〔系統(tǒng)的內(nèi)部數(shù)據(jù)狀態(tài)與改變數(shù)據(jù)狀態(tài)的邏輯動作,這兩個概念子系統(tǒng)分別具體對應(yīng)Struts里的ActionForm與Action兩個需要繼承實現(xiàn)超類。在這里,Struts可以與各種標(biāo)準(zhǔn)的數(shù)據(jù)訪問技術(shù)結(jié)合在一起,包括EnterpriseJavaBeans〔EJB,JDBC與JNDI。在Struts的視圖〔View端,除了使用標(biāo)準(zhǔn)的JavaServerPages〔JSP以外,還提供了大量的標(biāo)簽庫使用,同時也可以與其他表現(xiàn)層組件技術(shù)〔產(chǎn)品進(jìn)行整合,比如VelocityTemplates,XSLT等。通過應(yīng)用Struts的框架,最終用戶可以把大部分的關(guān)注點(diǎn)放在自己的業(yè)務(wù)邏輯〔Action與映射關(guān)系的配置文件〔struts-config.xml中。發(fā)展歷程在JavaEE的Web應(yīng)用發(fā)展的初期,除了使用Servlet技術(shù)以外,普遍是在JavaServerPages〔JSP的源代碼中,采用HTML與Java代碼混合的方式進(jìn)行開發(fā)。因為這兩種方式不可避免的要把表現(xiàn)與業(yè)務(wù)邏輯代碼混合在一起,都給前期開發(fā)與后期維護(hù)帶來巨大的復(fù)雜度。為了擺脫上述的約束與局限,把業(yè)務(wù)邏輯代碼從表現(xiàn)層中清晰的分離出來,20XX,CraigMcClanahan采用了MVC的設(shè)計模式開發(fā)Struts。后來該框架產(chǎn)品一度被認(rèn)為是最廣泛、最流行JAVA的WEB應(yīng)用框架。20XX,WebWork與Struts這兩個優(yōu)秀的JavaEEWeb框架〔WebFramework的團(tuán)體,決定合作共同開發(fā)一個新的,整合了WebWork與Struts優(yōu)點(diǎn),并且更加優(yōu)雅、擴(kuò)展性更強(qiáng)的框架,命名為"Struts2",原Struts的1.x版本產(chǎn)品稱為"Struts1"。至此,Struts項目并行提供與維護(hù)兩個主要版本的框架產(chǎn)品——Struts1與Struts2。充滿競爭的MVC框架雖然Struts的是成熟的和流行的框架,建設(shè)前端Java應(yīng)用,它正面臨新的挑戰(zhàn),從較新的"輕量"的MVC框架,如Spring的MVC,Stripes和Tapestry。新的XForms標(biāo)準(zhǔn)和框架,也可能是另一種選擇,以建立復(fù)雜的Web窗體驗證與Struts的未來。在WebWork框架脫離Apache的Struts的幾年前,以提供改進(jìn)和完善,同時保持了相同的一般建筑的原始Struts框架。然而,它在20XX12月宣布,該框架將重新合并WebWork。WebWork2.2已獲得通過,成為Apache的Struts的2,達(dá)到了第一個完整的版本于20XX2月。Sun公司最近提出了一項新的除了Java平臺,所謂的JavaServer界面〔SF。除了原有的框架下,Apache的Struts的項目還提供了一個JSF的為基礎(chǔ)的框架,所謂的頁巖。其他的MVC框架,并不是基于J2EE的包括RubyonRails的,WebObjects,Django,Catalyst,TurboGears,CakePHP,Symfony〔對于PHP,Zend公司,大展ATK公司,并CodeIgnite〔對于PHP。Struts4php是一個Struts框架的PHP的web腳本語言版本。Girders是微軟.NET基于C#的Struts框架的一部分。StrutsApacheStrutsisanopen-sourcewebapplicationframeworkfordevelopingJavaEEwebapplications.ItusesandextendstheJavaServletAPItoencouragedeveloperstoadoptamodel-view-controller<MVC>architecture.ItwasoriginallycreatedbyCraigMcClanahananddonatedtotheApacheFoundationinMay,2000.FormerlylocatedundertheApacheJakartaProjectandknownasJakartaStruts,itbecameatoplevelApacheprojectin2005.DesigngoalsandoverviewInastandardJavaEEwebapplication,theclientwilltypicallysubmitinformationtotheserverviaawebform.TheinformationistheneitherhandedovertoaJavaServletwhichprocessesit,interactswithadatabaseandproducesanHTML-formattedresponse,oritisgiventoaJavaServerPages<JSP>documentwhichinterminglesHTMLandJavacodetoachievethesameresult.Bothapproachesareoftenconsideredinadequate
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024鋼管結(jié)構(gòu)搭設(shè)施工專項協(xié)議文件
- 2024鍋爐設(shè)備安裝及調(diào)試服務(wù)協(xié)議
- 六年級數(shù)學(xué)上冊 期末專項測試卷-統(tǒng)計 (含答案)(北師大版)
- 《輕輕地》教學(xué)實踐指南
- 2024年圖書編印委托協(xié)議
- 2023年山東省濟(jì)南市高新區(qū)中考二模英語試卷含詳解
- 2024教案范例:傳染病健康教育的創(chuàng)新實踐
- 2024年模具加工銷售協(xié)議
- 不銹鋼材質(zhì)欄桿采購協(xié)議2024年
- 2024私人借貸協(xié)議模板
- 粉筆決戰(zhàn)行測5000題判斷解析
- 北京市各區(qū)稅務(wù)所地址電話
- 川教版小學(xué)英語三年級上全冊教案.doc
- 溢洪道穩(wěn)定計算
- (完整word版)韓海軍梅花易數(shù)秘籍
- 公路工程施工圖審查管理辦法
- 幼兒園園本教研的途徑與方法
- 《認(rèn)識水果蔬菜》ppt課件
- 典型草原割草場技術(shù)規(guī)范-編制說明-內(nèi)蒙古
- 中國農(nóng)業(yè)銀行商業(yè)用房抵押貸款合作合同
- 阿壩藏族羌族自治州羌族文化生態(tài)保護(hù)實驗區(qū)實施方案 - 阿壩州羌族
評論
0/150
提交評論