![網(wǎng)上商城系統(tǒng)課程設(shè)計(jì)報(bào)告書(shū)_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/28/fcb2bec7-36f7-464a-aa68-86638c2e93fb/fcb2bec7-36f7-464a-aa68-86638c2e93fb1.gif)
![網(wǎng)上商城系統(tǒng)課程設(shè)計(jì)報(bào)告書(shū)_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/28/fcb2bec7-36f7-464a-aa68-86638c2e93fb/fcb2bec7-36f7-464a-aa68-86638c2e93fb2.gif)
![網(wǎng)上商城系統(tǒng)課程設(shè)計(jì)報(bào)告書(shū)_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/28/fcb2bec7-36f7-464a-aa68-86638c2e93fb/fcb2bec7-36f7-464a-aa68-86638c2e93fb3.gif)
![網(wǎng)上商城系統(tǒng)課程設(shè)計(jì)報(bào)告書(shū)_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/28/fcb2bec7-36f7-464a-aa68-86638c2e93fb/fcb2bec7-36f7-464a-aa68-86638c2e93fb4.gif)
![網(wǎng)上商城系統(tǒng)課程設(shè)計(jì)報(bào)告書(shū)_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/28/fcb2bec7-36f7-464a-aa68-86638c2e93fb/fcb2bec7-36f7-464a-aa68-86638c2e93fb5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 . . . Web開(kāi)發(fā)技術(shù)課程設(shè)計(jì)報(bào)告題 目: 網(wǎng)上商城系統(tǒng)目 錄1 任務(wù)與要求3 1.1需求分析3 1.2需求規(guī)定3 1.3模擬需求圖42 系統(tǒng)總體設(shè)計(jì) 5 2.1設(shè)計(jì)目標(biāo)與完成功能 52.2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì) 63 系統(tǒng)詳細(xì)設(shè)計(jì)8 3.1普通用戶界面的詳細(xì)設(shè)計(jì)8 3.2管理員界面的詳細(xì)設(shè)計(jì) 12 3.3數(shù)據(jù)庫(kù)表的詳細(xì)設(shè)計(jì) 14 3.4代碼詳細(xì)設(shè)計(jì) 16 4測(cè)試和維護(hù) 36 5總結(jié) 396參考文獻(xiàn) 401. 任務(wù)與要求 1.1 需求分析互聯(lián)網(wǎng)的快速發(fā)展為人們的購(gòu)物提供了多種方式,網(wǎng)上購(gòu)物就是目前主流的網(wǎng)上購(gòu)物方式之一。網(wǎng)上商城將現(xiàn)實(shí)中的購(gòu)物行為虛擬到網(wǎng)上進(jìn)行,人們可以足不出戶,即可獲得自己需要
2、的商品。于是,我們?yōu)樘岣咦约涸贘SP以與相關(guān)一系列中的編程能力,通過(guò)這幾個(gè)星期的努力,來(lái)實(shí)現(xiàn)網(wǎng)上商城購(gòu)物的一系列功能,了解用戶的需要和管理員的功能來(lái)實(shí)現(xiàn)對(duì)購(gòu)物系統(tǒng)的管理功能。明確所要開(kāi)發(fā)軟件的功能、性能與界面,使得軟件人員更能清楚的了解用戶的需求,并在一定基礎(chǔ)上進(jìn)一步提出概要說(shuō)明書(shū)讓使用者能更容易應(yīng)用我們的系統(tǒng)。1.2 需求規(guī)定管理主要功能權(quán)限普通用戶管理模塊登陸管理員,普通用戶(只能注冊(cè)普通用戶,管理員只有一個(gè))管理員,普通用戶修改資料(包括基本資料與密碼)管理員,普通用戶管理員用戶管理模塊查看用戶信息 管理員刪除用戶管理員商品管理模塊查看商品管理員,普通用戶添加商品管理員 修改商品管理員刪
3、除商品管理員數(shù)據(jù)庫(kù)管理模塊添加類型管理員刪除類型管理員留言管理模塊查看留言用戶添加留言用戶 購(gòu)物車模塊查看購(gòu)物車用戶加入購(gòu)物車用戶刪除購(gòu)物車商品用戶1.3 模擬需求圖 登陸界面1、 判斷用戶權(quán)限2、 用戶管理3、 注冊(cè)新用戶商品管理界面1、 上傳商品2、 刪除商品3、 查看商品數(shù)據(jù)庫(kù)界面1、添加類型2、刪除類型3、修改類型留言界面1、 留言2、 刪除留言3、 查看留言管理員界面1、 審核用戶2、 修改用戶資料和商品信息2 系統(tǒng)總體設(shè)計(jì)21 系統(tǒng)設(shè)計(jì)目標(biāo)與完成功能l 網(wǎng)上購(gòu)物商城是基于B/S模式的電子商務(wù),用于滿足不同人群的購(gòu)物需求,本課程設(shè)計(jì)主要從普通用戶界面和管理員界面的角度出發(fā),以高效管理
4、、滿足消費(fèi)者需求為原則,做出了以下的系統(tǒng)設(shè)計(jì)目標(biāo):l 統(tǒng)一友好的操作界面,具有良好的用戶體驗(yàn)。l 商品信息完備,讓用戶可以更加清楚商品的性能。l 用戶可通過(guò)購(gòu)物車一次購(gòu)買(mǎi)多件商品。l 實(shí)現(xiàn)支付功能,用戶選擇商品后可在線提交訂單。l 提供簡(jiǎn)單的安全模式,用戶必須先登錄,才允許購(gòu)買(mǎi)物品。l 用戶可以查看自己訂單信息。l 設(shè)計(jì)后臺(tái),管理的各項(xiàng)基本數(shù)據(jù)。22 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)2.2.1系統(tǒng)流程圖 商品信息游客網(wǎng)上購(gòu)物商城首頁(yè) 瀏覽器瀏覽用戶注冊(cè)用戶登錄 失敗用戶成功 成功 用戶訂單 加入購(gòu)物車 購(gòu)物車選擇商品 生成管理員管理員登錄 管理員登陸首頁(yè)失敗2.2.2 系統(tǒng)結(jié)構(gòu)網(wǎng)上商城系統(tǒng)中有兩類用戶,分別是普通
5、用戶和管理員,他們分別對(duì)應(yīng)著普通用戶模板和管理員模板。普通應(yīng)戶模板是網(wǎng)上商城系統(tǒng)的主體模板,它具有以下功能:l 用戶注冊(cè)。l 用戶登錄。l 查看商品信息。l 發(fā)表留言。l 搜索商品信息。l 將商品加入購(gòu)物車。l 對(duì)個(gè)人購(gòu)物車進(jìn)行管理。l 修改個(gè)人資料。管理員模板負(fù)責(zé)網(wǎng)上商城系統(tǒng)的管理和維護(hù)工作,它具有以下功能:l 管理商品類別信息(包括修改和刪除商品類別信息)。l 添加商品類別信息。l 管理商品信息(包括修改和刪除商品類別信息)。l 添加商品信息。l 管理普通用戶。l 管理訂單信息。l 修改個(gè)人資料。3 系統(tǒng)詳細(xì)設(shè)計(jì)3.1普通用戶界面的詳細(xì)設(shè)計(jì)3.1.1 查看商品信息 普通用戶主界面(User
6、main.jsp)為主頁(yè)面,它是一個(gè)框架頁(yè),它將整個(gè)界面分為上下兩個(gè)框架,這兩個(gè)框架分別是topFrame和usermainFrame他們所對(duì)應(yīng)默認(rèn)的頁(yè)面分別是普通用戶功能選擇界面topuser.jsp和商品信息 列表界面warelist.jsp效果圖如圖所示: Topuser.jsp效果圖 普通用戶功能選擇界面(topuser.jsp)提供了普通用戶的所有功能連接,所顯示歡迎信息是通過(guò)獲取保存在session中的用戶名來(lái)實(shí)現(xiàn)的。warelist.jsp效果圖3.1.2購(gòu)物車管理,包括查看購(gòu)物車、添加商品到購(gòu)物車、從購(gòu)物車中刪除 商品 查看購(gòu)物車信息 : 為用戶提供管理自己購(gòu)物車息的功能,這個(gè)
7、模塊中用戶同時(shí)可以刪除購(gòu)物 信息。添加商品到購(gòu)物車:在商品信息列表界面中提供了將某個(gè)商品添加到購(gòu)物車的,包括填寫(xiě)購(gòu)物信息界面和添加成功界面。完成添加后將跳轉(zhuǎn)到購(gòu)物車信息管理界面。 從購(gòu)物車中刪除商品:點(diǎn)擊刪除的圖標(biāo),用戶可以將某商品從購(gòu)物車中刪除。3.1.3 用戶資料管理 用戶可自行修改用戶的密碼,。3.1.4留言界面的詳細(xì)設(shè)計(jì) 用戶可就商品進(jìn)行評(píng)論,可以添加留言以與表情。 addmsg.jsp效果圖3.2管理員界面的詳細(xì)設(shè)計(jì)3.2.1、管理員主界面 管理員界面(Adminmainjsp)與普通用戶主界面(Usermain.jsp)一樣,它也是一個(gè)包含頁(yè),它將整個(gè)界面分為上下兩個(gè)頁(yè)面,這兩個(gè)頁(yè)
8、面分別是topFrame和usermainFrame他們所對(duì)應(yīng)默認(rèn)的頁(yè)面分別是管理員功能選擇界面topadmin.jsp和商品信息列表界面adminlist.jsp效果圖如圖所示:Topadmin.jsp效果圖管理員功能選擇界面(topuser.jsp)提供了普通用戶的所有功能連接,所顯示歡迎信息是通過(guò)獲取保存在session中的用戶名來(lái)實(shí)現(xiàn)的。Adminlist.jsp效果圖商品信息管理界面顯示了網(wǎng)上商城系統(tǒng)中的左右商品信息,在這個(gè)頁(yè)面上采用的方法來(lái)顯示商品信息,它還提供了添加、修改和刪除商品信息的借口。3.2.2.管理用戶界面,包含查看用戶信息功能和刪除用戶信息功能3.2.3.訂單管理界面
9、,可以實(shí)現(xiàn)查看用戶添加的訂單信息功能3.3數(shù)據(jù)庫(kù)表的詳細(xì)設(shè)計(jì) 網(wǎng)上商城系統(tǒng)中所創(chuàng)建的數(shù)據(jù)庫(kù)的名稱是shop,這個(gè)數(shù)據(jù)庫(kù)包括以下5個(gè)數(shù)據(jù)表:l Goods數(shù)據(jù)庫(kù)保存訂單信息l Users數(shù)據(jù)庫(kù)保存所有用戶信息l Wares數(shù)據(jù)庫(kù)保存商品信息l Words數(shù)據(jù)庫(kù)保存留言信息3.3.1 Goods數(shù)據(jù)庫(kù)3.3.2 Users數(shù)據(jù)庫(kù)3.3.3Wares數(shù)據(jù)庫(kù)3.3.4 Words數(shù)據(jù)庫(kù)3.4代碼詳細(xì)設(shè)計(jì)3.4.1、數(shù)據(jù)庫(kù)連接package dbconn;import java.sql.Connection;import java.sql.DriverManager;import java.sql.Pr
10、eparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class DB private final String DRIVER=".microsoft.jdbc.sqlserver.SQLServerDriver"private final String URL="jdbc:microsoft:sqlserver:/localhost:1433;databasename=dbj_blog"private final String USERNAME=&qu
11、ot;sa" private final String PWD="sa" /* * 連接數(shù)據(jù)庫(kù)驅(qū)動(dòng),驅(qū)動(dòng)名稱與URL. * 從Statement繼承,用于提供可以查詢信息一起預(yù)編譯的語(yǔ)句. * ResultSet 類可用來(lái)接受執(zhí)行SQL查詢語(yǔ)句后得到的記錄集. */ private Connection conn=null; private PreparedStatement pstat=null; private ResultSet rs=null; public DB()/* * * return Connection 返回生成的連接對(duì)象 */public C
12、onnection getConn()try Class.forName(DRIVER);conn=DriverManager.getConnection(URL,USERNAME,PWD); catch (ClassNotFoundException e) / TODO Auto-generated catch blockSystem.out.println("注冊(cè)驅(qū)動(dòng)失敗"+e.toString(); catch (SQLException e) / TODO Auto-generated catch blockSystem.out.println("數(shù)據(jù)庫(kù)連
13、接失敗"+e.toString(); return conn;/* * * param sql待查詢的sql語(yǔ)句 * return 返回查詢結(jié)果記錄集 */public ResultSet executeQuery(String sql)try pstat=conn.prepareStatement(sql); rs=pstat.executeQuery();return rs; catch (SQLException e) / TODO Auto-generated catch blockSystem.out.println("數(shù)據(jù)庫(kù)操作失敗");return
14、rs; /* * * param sql 待操作的sql語(yǔ)句 * return 返回整型值 */public int executeUpdate(String sql)int flag=0;try pstat=conn.prepareStatement(sql);flag=pstat.executeUpdate(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return flag;/* * 對(duì)數(shù)據(jù)庫(kù)關(guān)閉的操作 */public void close() try if(rs!=null
15、) rs.close(); if(pstat!=null) pstat.close(); if(conn!=null)conn.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();3.4.2、亂碼的處理問(wèn)題publicclassEncodeFilterimplements Filter String code="GBK" publicvoid destroy() publicvoid doFilter(ServletRequest arg0, Servlet
16、Response arg1,FilterChain arg2) throws IOException, ServletException / TODO Auto-generated method stub ServletRequest request=( ServletRequest)arg0; request.setCharacterEncoding(code); arg2.doFilter(request, arg1);publicvoid init(FilterConfig arg0) throws ServletException / TODO Auto-generated metho
17、d stub3.4.3、獲取系統(tǒng)時(shí)間package util;import java.util.Date;publicclass MyDate Date d=null;public MyDate()d=new Date();public String getDate()return (d.getYear()+1900)+"年"+(d.getMonth()+1)+"月"+d.getDate()+"日"+d.getHours()+"時(shí)"3.4.4、圖片上傳<% String realpath=request.ge
18、tRealPath(""); String uploadPath=realpath+"upload"/ 上傳文件的目錄 String tempPath = "D:temp" / 臨時(shí)文件目錄 String filename="" Date dd=new Date(); filename="upload"+dd.getTime();boolean isMultipart=FileUpload.isMultipartContent(request);if(!isMultipart) response
19、.sendRedirect("index.jsp"); try DiskFileItemFactory factory=new DiskFileItemFactory(); factory.setSizeThreshold(1024000); File temp=new File(tempPath);if(!temp.exists() temp.mkdir(); factory.setRepository(temp); FileUpload fileupload=new FileUpload(factory); fileupload.setSizeMax(100*1024*
20、1024);List items=fileupload.parseRequest(request);Iterator itr=items.iterator();while(itr.hasNext() FileItem fileitem=(FileItem)itr.next();if(!fileitem.isFormField() String name=fileitem.getName(); name=name.substring(name.lastIndexOf("")+1,name.length();long size=fileitem.getSize();if(nam
21、e=null|name.equals("")&&size=0)continue; name=name.substring(name.lastIndexOf('.')+1,name.length(); File upload=new File(uploadPath);if(!upload.exists() upload.mkdir(); fileitem.write(new File(uploadPath+filename+"."+name); else catch(Exception e) System.out.print
22、ln("上傳文件失??!"+e.toString(); response.sendRedirect("waredetail.jsp");%><% String realpath=request.getRealPath(""); File files=new File(realpath+"upload"); String test; test=files.list();for(int k=0;k<test.length;k+) System.out.println(testk);%><im
23、galt=""src="upload<%=testk %>"width="200"height="200"><% %>3.4.5商品數(shù)據(jù)表操作類例、GoodsCtrl,其他類與之相似,省略不寫(xiě)package edu.hbcf.shop.ctrl;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import
24、 java.util.ArrayList;import java.util.List;import edu.hbcf.shop.conn.DBConn;import edu.hbcf.shop.bean.ShopGoods;/* * MsgCtrl類實(shí)現(xiàn)留言版模塊的增、刪、改、查 * version 1.0 * author cy * */public class GoodsCtrl DBConn db=null; Connection conn=null; ResultSet rs=null; PreparedStatement pstat=null; /* * 此方法實(shí)現(xiàn)查詢所有留言信息,
25、并返回查詢結(jié)果 * return List( ShopGoods 類的結(jié)果記錄集合) */public List<ShopGoods> queryAll() List<ShopGoods> list=new ArrayList<ShopGoods>();/定理list泛型集合,并實(shí)例化 db=new DBConn();/生成相應(yīng)的類對(duì)象 conn=db.getConn();/加載并注冊(cè)驅(qū)動(dòng),生成連接對(duì)象返回 String sql="select * from goods order by GoodsID DESC"/定義查詢所有留言的sq
26、l語(yǔ)句 try pstat=conn.prepareStatement(sql);/生成預(yù)處理執(zhí)行對(duì)象rs=pstat.executeQuery();/執(zhí)行sql語(yǔ)句,并將結(jié)果保存在結(jié)果記錄集中while(rs.next()/游標(biāo)后移一條記錄,如果記錄存在ShopGoods sg=new ShopGoods();/實(shí)例化留言對(duì)象sg.setGoodsID(rs.getInt("GoodsID");/將對(duì)應(yīng)記錄字段GoodsID保存在商品留言對(duì)象的GoodsID屬性中sg.setGoodsName(rs.getString("GoodsName");/將對(duì)
27、應(yīng)記錄字段GoodsName保存在商品留言對(duì)象的GoodsName屬性中sg.setBuyNumber(rs.getInt("BuyNumber");/將對(duì)應(yīng)記錄字段BuyNumber值保存在商品留言對(duì)象的BuyNumber屬性中sg.setUserName(rs.getString("UserName");/將對(duì)應(yīng)記錄字段UserName值保存在商品留言對(duì)象的UserName屬性中sg.setWareID(rs.getInt("WareID");/將對(duì)應(yīng)記錄字段WareID值保存在商品留言對(duì)象的WareID屬性中sg.setCrea
28、teTime(rs.getString("CreateTime");/將對(duì)應(yīng)記錄字段CreateTime值保存在商品留言對(duì)象的CreateTime屬性中l(wèi)ist.add(sg);/添加對(duì)象sg到集合類中 catch (SQLException e) / TODO Auto-generated catch blockSystem.out.println("查詢留言版,數(shù)據(jù)庫(kù)操作失敗!"+e.toString();finally this.close();/連接通道關(guān)閉 return list;/返回集合類對(duì)象 /* * 此方法實(shí)現(xiàn)按用戶查詢所有留言信息,并
29、返回查詢結(jié)果 * return List( ShopGoods 類的結(jié)果記錄集合) */public List<ShopGoods> queryAllByUser(String UserName) List<ShopGoods> list=new ArrayList<ShopGoods>();/定理list泛型集合,并實(shí)例化 db=new DBConn();/生成相應(yīng)的類對(duì)象 conn=db.getConn();/加載并注冊(cè)驅(qū)動(dòng),生成連接對(duì)象返回 String sql="select * from goods where UserName=? or
30、der by GoodsID DESC"/定義查詢所有留言的sql語(yǔ)句 try pstat=conn.prepareStatement(sql);/生成預(yù)處理執(zhí)行對(duì)象pstat.setString(1, UserName);rs=pstat.executeQuery();/執(zhí)行sql語(yǔ)句,并將結(jié)果保存在結(jié)果記錄集中while(rs.next()/游標(biāo)后移一條記錄,如果記錄存在ShopGoods sg=new ShopGoods();/實(shí)例化留言對(duì)象sg.setGoodsID(rs.getInt("GoodsID");/將對(duì)應(yīng)記錄字段GoodsID值保存在商品留言對(duì)
31、象的GoodsID屬性中sg.setGoodsName(rs.getString("GoodsName");/將對(duì)應(yīng)記錄字段GoodsName值保存在商品留言對(duì)象的GoodsName屬性中sg.setBuyNumber(rs.getInt("BuyNumber");/將對(duì)應(yīng)記錄字段BuyNumber值保存在商品留言對(duì)象的BuyNumber屬性中sg.setUserName(rs.getString("UserName");/將對(duì)應(yīng)記錄字段UserName值保存在商品留言對(duì)象的UserName屬性中sg.setWareID(rs.get
32、Int("WareID");/將對(duì)應(yīng)記錄字段WareID值保存在商品留言對(duì)象的WareID屬性中sg.setCreateTime(rs.getString("CreateTime");/將對(duì)應(yīng)記錄字段CreateTime值保存在商品留言對(duì)象的CreateTime屬性中l(wèi)ist.add(sg);/添加對(duì)象sg到集合類中 catch (SQLException e) / TODO Auto-generated catch blockSystem.out.println("查詢留言版,數(shù)據(jù)庫(kù)操作失敗!"+e.toString();final
33、ly this.close();/連接通道關(guān)閉 return list;/返回集合類對(duì)象 /* * 此方法實(shí)現(xiàn)向數(shù)據(jù)庫(kù)添加一條留言信息 * return int 添加留言成功返回1,否則返回0 */public int addGoods(ShopGoods sg) int flag=0; db=new DBConn();/生成相應(yīng)的類對(duì)象 conn=db.getConn();/加載并注冊(cè)驅(qū)動(dòng),生成連接對(duì)象返回 String sql="insert into goods values(?,?,?,?,?)"/定義添加記錄的sql語(yǔ)句try pstat=conn.prepare
34、Statement(sql);/生成預(yù)處理執(zhí)行對(duì)象pstat.setString(1,sg.getGoodsName();/設(shè)置對(duì)象的GoodsName參數(shù)pstat.setInt(2, sg.getBuyNumber();/設(shè)置對(duì)象的BuyNumber參數(shù)pstat.setString(3, sg.getUserName();/設(shè)置隊(duì)想的UserName參數(shù)pstat.setInt(4, sg.getWareID();/設(shè)置對(duì)象的WareID參數(shù)pstat.setString(5, sg.getCreateTime();/設(shè)置對(duì)象的CreateTime參數(shù)flag=pstat.execute
35、Update();/執(zhí)行sql語(yǔ)句 catch (SQLException e) / TODO Auto-generated catch blockSystem.out.println("添加留言失敗"+e.toString();finally this.close();/關(guān)閉連接通道 return flag;/返回操作狀態(tài) /* * 此方法實(shí)現(xiàn)根據(jù)留言id查詢一條留言信息 * param GoodsID 整形值,接受一條記錄的id * return ShopGoods 將查詢的一條留言記錄存放到ShopGoods類實(shí)例中返回 */public ShopGoods quer
36、ryById(int GoodsID) ShopGoods sg=null; db=new DBConn();/生成相應(yīng)的類對(duì)象 conn=db.getConn();/加載并注冊(cè)驅(qū)動(dòng),生成連接對(duì)象返回 String sql="select * from goods where GoodsID=?"/定義查詢一條留言的sql語(yǔ)句 try pstat=conn.prepareStatement(sql);/生成預(yù)處理執(zhí)行對(duì)象pstat.setInt(1, GoodsID);/設(shè)置pstat對(duì)象的待定參數(shù)msgidrs=pstat.executeQuery();/執(zhí)行查詢if(r
37、s.next()/游標(biāo)后移一條記錄,如果記錄存在sg=new ShopGoods();/實(shí)例化ShopGoods對(duì)象/sg.setGoodsID(rs.getInt("GoodsID");/將對(duì)應(yīng)記錄字段GoodsID值保存在留言對(duì)象的GoodsID屬性中sg.setGoodsName(rs.getString("GoodsName");/將對(duì)應(yīng)記錄字段GoodsName值保存在留言對(duì)象的GoodsName屬性中sg.setBuyNumber(rs.getInt("BuyNumber");/將對(duì)應(yīng)記錄字段BuyNumber值保存在留言
38、對(duì)象的BuyNumber屬性中sg.setUserName(rs.getString("UserName");/將對(duì)應(yīng)記錄字段UserName值保存在留言對(duì)象的UserName屬性中sg.setWareID(rs.getInt("WareID");/將對(duì)應(yīng)記錄字段WareID值保存在留言對(duì)象的WareID屬性中sg.setCreateTime(rs.getString("CreateTime");/將對(duì)應(yīng)記錄字段msgid值保存在留言對(duì)象的CreateTime屬性中 catch (SQLException e) / TODO Auto
39、-generated catch blockSystem.out.println("依據(jù)id查詢一條留言失敗"+e.toString();/輸出錯(cuò)誤信息finally this.close();/關(guān)閉連接通道return sg;/返回sg對(duì)象 /* * * param sg 接收ShopGoods類的實(shí)例對(duì)象 * return int值,表示操作成功為非零值,操作失敗為0 */ public int updateGoods(ShopGoods sg) int flag=0; db=new DBConn();/生成相應(yīng)的類對(duì)象 conn=db.getConn();/加載并注冊(cè)
40、驅(qū)動(dòng),生成連接對(duì)象返回 String sql="update goods set BuyNumber=?,UserName=?,WareID=?,CreateTime=? where GoodsID=?" try pstat=conn.prepareStatement(sql);/生成預(yù)處理執(zhí)行對(duì)象pstat.setInt(1, sg.getGoodsID();/設(shè)置pstat對(duì)象的GoodsID參數(shù)pstat.setInt(2, sg.getBuyNumber();/設(shè)置對(duì)象的BuyNumber參數(shù)pstat.setString(3, sg.getUserName();/
41、設(shè)置隊(duì)想的UserName參數(shù)pstat.setInt(4, sg.getWareID();/設(shè)置對(duì)象的WareID參數(shù)pstat.setString(5, sg.getCreateTime();/設(shè)置對(duì)象的CreateTime參數(shù)flag=pstat.executeUpdate(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); finally this.close();/關(guān)閉連接 return flag; /返回flag /* * 實(shí)現(xiàn)一條留言記錄的刪除 * param GoodsI
42、D 整形值,接受一條記錄的id * return int值,表示操作成功為非零值,操作失敗為0 */ public int deleteGoodsbyId(int GoodsID) int flag=0; db=new DBConn();/生成相應(yīng)的類對(duì)象 conn=db.getConn();/加載并注冊(cè)驅(qū)動(dòng),生成連接對(duì)象返回 String sql="delete from goods where GoodsID=?" try pstat=conn.prepareStatement(sql);/生成預(yù)處理執(zhí)行對(duì)象pstat.setInt(1, GoodsID);/設(shè)置待定參
43、數(shù)的值flag=pstat.executeUpdate();/執(zhí)行sql語(yǔ)句 catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); finally this.close();/關(guān)閉連接通道 return flag; /返回狀態(tài)標(biāo)志 /* * 此方法實(shí)現(xiàn)關(guān)閉操作留言版產(chǎn)生的連接對(duì)象、預(yù)處理執(zhí)行對(duì)象以與結(jié)果記錄集 */ public void close() try if(rs!=null)/如果結(jié)果記錄集rs不為空 rs.close(); /關(guān)閉rs if(pstat!=null)/如果預(yù)處理執(zhí)行
44、對(duì)象pstat不為空 pstat.close();/關(guān)閉pstat if(conn!=null)/如果連接對(duì)象conn不為空 conn.close();/關(guān)閉conn catch(SQLException e) System.out.println("操作留言版數(shù)據(jù)庫(kù)關(guān)閉異常!"+e.toString(); 3.4.6客戶端校驗(yàn)<scriptlanguage="javascript">function check() if(document.myform.username.value="")/判斷用戶名為空 alert(&
45、quot;用戶名不能為空");returnfalse; if(document.myform.password.value="")/判斷密碼為空 alert("密碼不能為空");returnfalse; var password2=request.getParameter("password");if(password2.value!=password.value) alert("輸入的密碼不一致!");/判斷密碼一致性returnfalse; </script>3.4.7新技術(shù)應(yīng)用HTML5
46、 表單、按鈕美化<styletype="text/css">.content font-family: 宋體;font-size: 12px; line-height:18pxa:link font-size:12px; color:reda:visitedfont-size:12px; color:bluea:hoverfont-size:12px; color:pinka:activefont-size:12px; color:purperinputtype="submit":hover background: -webkit-gradi
47、ent(linear, left top, left 24, from(#FF9800), color-stop(0%, #FF6900), to(#FF9800); .form margin-top:100px;margin-bottom:100px;margin-left: 400px;margin-right: 400px;padding: 26px 24px 46px;font-weight: normal;background: white;border: 1px solid #E5E5E5;-webkit-box-shadow: rgba(200, 200, 200, 0.7) 0
48、 4px 10px -1px;box-shadow: rgba(200, 200, 200, 0.7) 0 4px 10px -1px;.button-primary font-size: 13px;line-height: 16px;padding: 3px 10px;border-color: #298CBA;font-weight: bold;color: white;background: #21759B url(./images/button-grad.png) repeat-x scroll left top;text-shadow: rgba(0, 0, 0, 0.3) 0 -1
49、px 0;-webkit-border-radius: 11px;border-radius: 11px;cursor: pointer;input -webkit-border-radius: 3px;border-radius: 3px;border-width: 1px;border-style: solid;</style>表格美化<styletype="text/css">#navmargin:0;padding:7px 6px 0;line-height:100%;border-radius:2em;-webkit-border-radi
50、us:2em;-wekit-box-shadow:0 1px 3px rgba(0,0,0,4);-moz-box-shadow:0 1px 3px rgba(0,0,0,4);background:#8b8b8b;background:-moz-linear-gradient(top,#a9a9a9,#7a7a7a);border:solid 1px#6d6d6d; </style>3.4.8分頁(yè)/分頁(yè)基本信息 String cpage=request.getParameter("currentpage");int recordcounts=0; /當(dāng)前所有記錄個(gè)數(shù)int currentpage=1;if(cpage!=null) currentpage=Integer.parseInt(cpage); int pages=1;int page_recorde_count=4;if(msglist!=null) recordcounts=msglist.size();/計(jì)算留言的個(gè)數(shù) pages=(recordco
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年其它初級(jí)形態(tài)塑料行業(yè)深度研究分析報(bào)告
- 2025年度港口碼頭工程監(jiān)理合同范本
- 2025年度劇組場(chǎng)地租賃合同-含知識(shí)產(chǎn)權(quán)保護(hù)條款
- 2025年度老舊圖書(shū)交易平臺(tái)服務(wù)合同
- 2025年大蒜精油出口業(yè)務(wù)代理合同范本3篇
- 2025年度水利工程安裝與施工合同
- 2025年度公對(duì)公高新技術(shù)研發(fā)借款合同范本
- 2025年度水利工程清包工合同履約監(jiān)督辦法
- 2025年度婚前房產(chǎn)購(gòu)買(mǎi)合同及共有權(quán)協(xié)議
- 2025年度生態(tài)修復(fù)工程設(shè)計(jì)與施工合同
- 2025年長(zhǎng)沙穗城軌道交通有限公司招聘筆試參考題庫(kù)含答案解析
- 2024年湖南有色金屬職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(kù)(頻考版)含答案解析
- 2025年山東華魯海運(yùn)有限公司招聘筆試參考題庫(kù)含答案解析
- 銀川經(jīng)濟(jì)技術(shù)開(kāi)發(fā)區(qū)2024年綜合考核評(píng)價(jià)指標(biāo)表及評(píng)分細(xì)則
- 品管圈PDCA改善案例-降低住院患者跌倒發(fā)生率
- 《中小學(xué)校園食品安全和膳食經(jīng)費(fèi)管理工作指引》專題講座
- 廣東省茂名市2023-2024學(xué)年高一上學(xué)期物理期末試卷(含答案)
- 沙發(fā)市場(chǎng)需求與消費(fèi)特點(diǎn)分析
- 豐順縣縣級(jí)集中式飲用水水源地基礎(chǔ)狀況調(diào)查和風(fēng)險(xiǎn)評(píng)估報(bào)告
- 重慶市2023-2024學(xué)年七年級(jí)上學(xué)期期末考試數(shù)學(xué)試題(含答案)
- 《七律二首 送瘟神》教案- 2023-2024學(xué)年高教版(2023)中職語(yǔ)文職業(yè)模塊
評(píng)論
0/150
提交評(píng)論