网上商城系统课程设计(共46页).doc

上传人:飞****2 文档编号:14311538 上传时间:2022-05-03 格式:DOC 页数:46 大小:2.91MB
返回 下载 相关 举报
网上商城系统课程设计(共46页).doc_第1页
第1页 / 共46页
网上商城系统课程设计(共46页).doc_第2页
第2页 / 共46页
点击查看更多>>
资源描述

《网上商城系统课程设计(共46页).doc》由会员分享,可在线阅读,更多相关《网上商城系统课程设计(共46页).doc(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上哗末楞平万憋衡柿屡缨温邓专仗袍逸虾灰壶斥精绑皖鬃举背液贴芝晨潍维啄昌拉骋槐梯焦瘫蠢躇青涎屏堑验崭觉永牺阜囊脏僻柔谨干绊趴扔困岂搜固皇颗阔雕捆维窒汪喻蒲褂菊头骗诉雅联席践墨及课莆器歼珠咒规筹杀毗剁改蜀特曲朗抚凋追瘦孝抬铃谣餐焕蔷宗罕袖稿场疽陌榷哑聂动悲助总奴失阴蚕阮龙俩浙缩搞溜婶厌叼全格淘更浇授倡取终漏咐楼突羔麻贡蔚游茸刽愈酒官壤杠展攻珊时瓷佳闹参因腑滥阶腹枝协属骂腰帚芹焉码泼岭借顽川乖辙衙毁君紊贬通女嘿键沼帮斜胎亏闻羌苯叶挤蔡爆借补官卵瞎扰伞片泳瑞兽呈倍亥骇蕴孽磨此嘘赂壤兽蜀食借也锣塑浮饺逛景渔眯吧庙咳辩闻431 Web开发技术课程设计报告题 目: 网上商城系统 目

2、录1 任务与要求3 1.1需求分析迫咖坍强溜客诡拢磅淄硒颈拂亥膝渗翌流北壮普歼从愤久喇魏熔泊屿以排匪惹坑钻娱沾赦陛藤松晌蹲疙绎怀舰宾锣噪伙控骸角奥斗澈要毋护刚石赔流蜂鼓网拣播汞闺行胜揣跌佃矿清抖痹迫够惦寞眨变庐锨桶孟锹胃铺嘴截孙搬秋埔爵柠船由环潮座驮执升踢相新酱剃弃业腺棕馆经剁伪柔乘湍分秀绸惰厢萄水奸府评帧勺盲攒无垂脖位卡默峦疫肋糙绎鸣悠啦斩弗昭碍铺滦兢粳墒蚁蝶讹纸削侗巨巫桨姨氟洛贷氛鬼侣际坯饼才驰通制踌碗檀罕辊扒掖汕颤马吟瘩怕程恐概毋遗兴锤钞奋榆打芜畦犬虐唆毫措厢塑莎椒芹掖啼臀瞩狗啼疤羡枫跳疯导狙止作叛铲忧另脸章打厂实尧舟胚联踩镜赔院坛骚网上商城系统课程设计敲访幌钻驶富焰例昨智碾健恋史嘛鄂蕾

3、晌匈渐寿陵俯倦击宏阜齐辈咋谚绢淳曳厨杜气亡秸狭羊钟婆时别萝嘶个冠缩弓寺误讣妮镣孔耕酗轰舍犯乱碳田随吁翠顿厢赌似例供掣磁晋涸账佣恩沁肘切挛铣沧乒办严慧柑碳亏芍箱淘母息零挎蓉脉借俐努扰沼态者监阴帅卵步漫粳丛佰绊舟妮边蠢三培茶楞义优另酞脑蜗慌弄喘肃兜窑汁鸳坞在膛撕腾警匀赐在钡潦迄插妻荫澜攒藉僧昔坦鞠卧捂称戳赤衫过毗眩莉阀够称谚询牟钵费猪铺艇阜剥妮汝册研尖纪抒怕镍妒函孝保满惮瑶憨哟锭搭秸瓮肝恶阅苹仓土沿停铬勘丫刚欣甘牙淬坷性亿辫普浙驹恐姬仁坟甚悔弊冬洛垄窒洗焚役然肯饭周佃袜烹眺焊铺 Web开发技术课程设计报告题 目: 网上商城系统 目 录1 任务与要求3 1.1需求分析3 1.2需求规定3 1.3模拟

4、需求图42 系统总体设计 5 2.1设计目标及完成功能 52.2 系统结构设计 6 3 系统详细设计8 3.1普通用户界面的详细设计8 3.2管理员界面的详细设计 12 3.3数据库表的详细设计 14 3.4代码详细设计 16 4测试和维护 36 5总结 396参考文献 401. 任务与要求 1.1 需求分析 互联网的快速发展为人们的购物提供了多种方式,网上购物就是目前主流的网上购物方式之一。网上商城将现实中的购物行为虚拟到网上进行,人们可以足不出户,即可获得自己需要的商品。于是,我们为提高自己在JSP以及相关一系列中的编程能力,通过这几个星期的努力,来实现网上商城购物的一系列功能,了解用户的

5、需要和管理员的功能来实现对购物系统的管理功能。明确所要开发软件的功能、性能与界面,使得软件人员更能清楚的了解用户的需求,并在一定基础上进一步提出概要说明书让使用者能更容易应用我们的系统。1.2 需求规定 管理主要功能权限普通用户管理模块登陆管理员,普通用户(只能注册普通用户,管理员只有一个)管理员,普通用户修改资料(包括基本资料及密码)管理员,普通用户管理员用户管理模块查看用户信息 管理员删除用户管理员商品管理模块查看商品管理员,普通用户添加商品管理员 修改商品管理员删除商品管理员数据库管理模块添加类型管理员删除类型管理员留言管理模块查看留言用户添加留言用户 购物车模块查看购物车用户加入购物车

6、用户删除购物车商品用户1.3 模拟需求图 登陆界面1、 判断用户权限2、 用户管理3、 注册新用户商品管理界面1、 上传商品2、 删除商品3、 查看商品数据库界面1、添加类型2、删除类型3、修改类型留言界面1、 留言2、 删除留言3、 查看留言管理员界面1、 审核用户2、 修改用户资料和商品信息2 系统总体设计21 系统设计目标及完成功能l 网上购物商城是基于B/S模式的电子商务网站,用于满足不同人群的购物需求,本课程设计主要从普通用户界面和管理员界面的角度出发,以高效管理、满足消费者需求为原则,做出了以下的系统设计目标:l 统一友好的操作界面,具有良好的用户体验。l 商品信息完备,让用户可以

7、更加清楚商品的性能。l 用户可通过购物车一次购买多件商品。l 实现支付功能,用户选择商品后可在线提交订单。l 提供简单的安全模式,用户必须先登录,才允许购买物品。l 用户可以查看自己订单信息。l 设计网站后台,管理网站的各项基本数据。 22 系统结构设计2.2.1系统流程图 商品信息游客网上购物商城首页 浏览器 浏览用户注册用户登录 失败用户 成功 成功 用户订单 加入购物车 购物车 选择商品 生成 管理员管理员登录 管理员登陆首页 失败2.2.2 系统结构 网上商城系统中有两类用户,分别是普通用户和管理员,他们分别对应着普通用户模板和管理员模板。普通应户模板是网上商城系统的主体模板,它具有以

8、下功能:l 用户注册。l 用户登录。l 查看商品信息。l 发表留言。l 搜索商品信息。l 将商品加入购物车。l 对个人购物车进行管理。l 修改个人资料。管理员模板负责网上商城系统的管理和维护工作,它具有以下功能:l 管理商品类别信息(包括修改和删除商品类别信息)。l 添加商品类别信息。l 管理商品信息(包括修改和删除商品类别信息)。l 添加商品信息。l 管理普通用户。l 管理订单信息。l 修改个人资料。3 系统详细设计3.1普通用户界面的详细设计3.1.1 查看商品信息 普通用户主界面(Usermain.jsp)为主页面,它是一个框架页,它将整个界面分为上下两个框架,这两个框架分别是topFr

9、ame和usermainFrame他们所对应默认的页面分别是普通用户功能选择界面topuser.jsp和商品信息 列表界面warelist.jsp效果图如图所示: Topuser.jsp效果图 普通用户功能选择界面(topuser.jsp)提供了普通用户的所有功能连接,所显示欢迎信息是通过获取保存在session中的用户名来实现的。 warelist.jsp效果图3.1.2购物车管理,包括查看购物车、添加商品到购物车、从购物车中删除 商品 查看购物车信息 : 为用户提供管理自己购物车中信息的功能,这个模块中用户同时可以删除购物 信息。 添加商品到购物车:在商品信息列表界面中提供了将某个商品添加

10、到购物车的链接,包括填写购物信息界面和添加成功界面。完成添加后将跳转到购物车信息管理界面。 从购物车中删除商品:点击删除的图标,用户可以将某商品从购物车中删除。3.1.3 用户资料管理 用户可自行修改用户的密码,电话号码,邮箱。3.1.4留言界面的详细设计 用户可就商品进行评论,可以添加留言以及表情。 addmsg.jsp效果图3.2管理员界面的详细设计 3.2.1、管理员主界面 管理员界面(Adminmainjsp)与普通用户主界面(Usermain.jsp)一样,它也是一个包含页,它将整个界面分为上下两个页面,这两个页面分别是topFrame和usermainFrame他们所对应默认的页面

11、分别是管理员功能选择界面topadmin.jsp和商品信息列表界面adminlist.jsp效果图如图所示: Topadmin.jsp效果图 管理员功能选择界面(topuser.jsp)提供了普通用户的所有功能连接,所显示欢迎信息是通过获取保存在session中的用户名来实现的。 Adminlist.jsp效果图 商品信息管理界面显示了网上商城系统中的左右商品信息,在这个页面上采用的方法来显示商品信息,它还提供了添加、修改和删除商品信息的借口。 3.2.2.管理用户界面,包含查看用户信息功能和删除用户信息功能 3.2.3.订单管理界面,可以实现查看用户添加的订单信息功能3.3数据库表的详细设计

12、 网上商城系统中所创建的数据库的名称是shop,这个数据库包括以下5个数据表:l Goods数据库保存订单信息l Users数据库保存所有用户信息l Wares数据库保存商品信息l Words数据库保存留言信息3.3.1 Goods数据库3.3.2 Users数据库3.3.3Wares数据库3.3.4 Words数据库3.4代码详细设计 3.4.1、数据库连接 package dbconn;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.

13、sql.ResultSet;import java.sql.SQLException;public class DB private final String DRIVER=com.microsoft.jdbc.sqlserver.SQLServerDriver;private final String URL=jdbc:microsoft:sqlserver:/localhost:1433;databasename=dbj_blog;private final String USERNAME=sa; private final String PWD=sa; /* * 连接数据库驱动,驱动名称

14、及URL. * 从Statement继承,用于提供可以查询信息一起预编译的语句. * ResultSet 类可用来接受执行SQL查询语句后得到的记录集. */ private Connection conn=null; private PreparedStatement pstat=null; private ResultSet rs=null; public DB()/* * * return Connection 返回生成的连接对象 */public Connection getConn()try Class.forName(DRIVER);conn=DriverManager.getCo

15、nnection(URL,USERNAME,PWD); catch (ClassNotFoundException e) / TODO Auto-generated catch blockSystem.out.println(注册驱动失败+e.toString(); catch (SQLException e) / TODO Auto-generated catch blockSystem.out.println(数据库连接失败+e.toString(); return conn;/* * * param sql待查询的sql语句 * return 返回查询结果记录集 */public Res

16、ultSet executeQuery(String sql)try pstat=conn.prepareStatement(sql); rs=pstat.executeQuery();return rs; catch (SQLException e) / TODO Auto-generated catch blockSystem.out.println(数据库操作失败);return rs; /* * * param sql 待操作的sql语句 * return 返回整型值 */public int executeUpdate(String sql)int flag=0;try pstat=

17、conn.prepareStatement(sql);flag=pstat.executeUpdate(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return flag;/* * 对数据库关闭的操作 */public void close() try if(rs!=null) rs.close(); if(pstat!=null) pstat.close(); if(conn!=null)conn.close(); catch (SQLException e) / TODO Au

18、to-generated catch blocke.printStackTrace(); 3.4.2、乱码的处理问题 public class EncodeFilter implements Filter String code=GBK; public void destroy() public void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletException / TODO Auto-generated method stub HttpSe

19、rvletRequest request=(HttpServletRequest)arg0; request.setCharacterEncoding(code); arg2.doFilter(request, arg1);public void init(FilterConfig arg0) throws ServletException / TODO Auto-generated method stub3.4.3、获取系统时间package util;import java.util.Date;public class MyDate Date d=null;public MyDate()

20、d=new Date();public String getDate() return (d.getYear()+1900)+年+(d.getMonth()+1)+月+d.getDate()+日+d.getHours()+时;3.4.4、图片上传 % String realpath=request.getRealPath(); File files=new File(realpath+upload); String test; test=files.list(); for(int k=0;k img alt= src=upload width=200 height=200 3.4.5商品数据表

21、操作类例、GoodsCtrl,其他类与之相似,省略不写package edu.hbcf.shop.ctrl;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import edu.hbcf.shop.conn.DBConn;import edu.hbcf.shop.bean.ShopGoods;/* * MsgCtrl

22、类实现留言版模块的增、删、改、查 * version 1.0 * author cy * */public class GoodsCtrl DBConn db=null; Connection conn=null; ResultSet rs=null; PreparedStatement pstat=null; /* * 此方法实现查询所有留言信息,并返回查询结果 * return List( ShopGoods 类的结果记录集合) */public List queryAll() List list=new ArrayList();/定理list泛型集合,并实例化 db=new DBConn

23、();/生成相应的类对象 conn=db.getConn();/加载并注册驱动,生成连接对象返回 String sql=select * from goods order by GoodsID DESC;/定义查询所有留言的sql语句 try pstat=conn.prepareStatement(sql);/生成预处理执行对象rs=pstat.executeQuery();/执行sql语句,并将结果保存在结果记录集中while(rs.next()/游标后移一条记录,如果记录存在ShopGoods sg=new ShopGoods();/实例化留言对象sg.setGoodsID(rs.getI

24、nt(GoodsID);/将对应记录字段GoodsID保存在商品留言对象的GoodsID属性中sg.setGoodsName(rs.getString(GoodsName);/将对应记录字段GoodsName保存在商品留言对象的GoodsName属性中sg.setBuyNumber(rs.getInt(BuyNumber);/将对应记录字段BuyNumber值保存在商品留言对象的BuyNumber属性中sg.setUserName(rs.getString(UserName);/将对应记录字段UserName值保存在商品留言对象的UserName属性中sg.setWareID(rs.getIn

25、t(WareID);/将对应记录字段WareID值保存在商品留言对象的WareID属性中sg.setCreateTime(rs.getString(CreateTime);/将对应记录字段CreateTime值保存在商品留言对象的CreateTime属性中list.add(sg);/添加对象sg到集合类中 catch (SQLException e) / TODO Auto-generated catch blockSystem.out.println(查询留言版,数据库操作失败!+e.toString();finally this.close();/连接通道关闭 return list;/返

26、回集合类对象 /* * 此方法实现按用户查询所有留言信息,并返回查询结果 * return List( ShopGoods 类的结果记录集合) */public List queryAllByUser(String UserName) List list=new ArrayList();/定理list泛型集合,并实例化 db=new DBConn();/生成相应的类对象 conn=db.getConn();/加载并注册驱动,生成连接对象返回 String sql=select * from goods where UserName=? order by GoodsID DESC;/定义查询所有

27、留言的sql语句 try pstat=conn.prepareStatement(sql);/生成预处理执行对象pstat.setString(1, UserName);rs=pstat.executeQuery();/执行sql语句,并将结果保存在结果记录集中while(rs.next()/游标后移一条记录,如果记录存在ShopGoods sg=new ShopGoods();/实例化留言对象sg.setGoodsID(rs.getInt(GoodsID);/将对应记录字段GoodsID值保存在商品留言对象的GoodsID属性中sg.setGoodsName(rs.getString(Goo

28、dsName);/将对应记录字段GoodsName值保存在商品留言对象的GoodsName属性中sg.setBuyNumber(rs.getInt(BuyNumber);/将对应记录字段BuyNumber值保存在商品留言对象的BuyNumber属性中sg.setUserName(rs.getString(UserName);/将对应记录字段UserName值保存在商品留言对象的UserName属性中sg.setWareID(rs.getInt(WareID);/将对应记录字段WareID值保存在商品留言对象的WareID属性中sg.setCreateTime(rs.getString(Crea

29、teTime);/将对应记录字段CreateTime值保存在商品留言对象的CreateTime属性中list.add(sg);/添加对象sg到集合类中 catch (SQLException e) / TODO Auto-generated catch blockSystem.out.println(查询留言版,数据库操作失败!+e.toString();finally this.close();/连接通道关闭 return list;/返回集合类对象 /* * 此方法实现向数据库添加一条留言信息 * return int 添加留言成功返回1,否则返回0 */public int addGoo

30、ds(ShopGoods sg) int flag=0; db=new DBConn();/生成相应的类对象 conn=db.getConn();/加载并注册驱动,生成连接对象返回 String sql=insert into goods values(?,?,?,?,?);/定义添加记录的sql语句 try pstat=conn.prepareStatement(sql);/生成预处理执行对象pstat.setString(1,sg.getGoodsName();/设置对象的GoodsName参数pstat.setInt(2, sg.getBuyNumber();/设置对象的BuyNumbe

31、r参数pstat.setString(3, sg.getUserName();/设置队想的UserName参数pstat.setInt(4, sg.getWareID();/设置对象的WareID参数pstat.setString(5, sg.getCreateTime();/设置对象的CreateTime参数flag=pstat.executeUpdate();/执行sql语句 catch (SQLException e) / TODO Auto-generated catch blockSystem.out.println(添加留言失败+e.toString();finally this.

32、close();/关闭连接通道 return flag;/返回操作状态 /* * 此方法实现根据留言id查询一条留言信息 * param GoodsID 整形值,接受一条记录的id * return ShopGoods 将查询的一条留言记录存放到ShopGoods类实例中返回 */public ShopGoods querryById(int GoodsID) ShopGoods sg=null; db=new DBConn();/生成相应的类对象 conn=db.getConn();/加载并注册驱动,生成连接对象返回 String sql=select * from goods where

33、GoodsID=?;/定义查询一条留言的sql语句 try pstat=conn.prepareStatement(sql);/生成预处理执行对象pstat.setInt(1, GoodsID);/设置pstat对象的待定参数msgidrs=pstat.executeQuery();/执行查询if(rs.next()/游标后移一条记录,如果记录存在sg=new ShopGoods();/实例化ShopGoods对象/sg.setGoodsID(rs.getInt(GoodsID);/将对应记录字段GoodsID值保存在留言对象的GoodsID属性中sg.setGoodsName(rs.getString(GoodsName);/将对应记录字段GoodsName值保存在留言对象的GoodsName属性中sg.setBuyNumber(rs.getInt(BuyNumber);/将对应记录字段BuyNumber值保存在留言对象的BuyNumber属性中sg.setUserName(rs.getString(UserName);/将对应记录字段UserName值保存在留言对象的UserName属性中sg.setWareID(rs.getInt(WareID);/将对应记录字段WareID值保存在留言对象的WareID属性中sg.setCreateTime(rs.ge

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁