版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
黔南民族师范学院
计算机科学系JSP程序设计》课程设计报告题目:模拟购物车专业:信息管理与信息系统班级:姓名:学号:同组人员: 指导老师: 设计时间:2015年6月22日~2015年7月7日目录TOC\o"1-5"\h\z\o"CurrentDocument"《JSP程序设计》课程设计报告书 1\o"CurrentDocument"课程设计计划 3\o"CurrentDocument"系统需求分析与功能设计 3总体设计 4数据库设计 5\o"CurrentDocument"程序模块设计 6\o"CurrentDocument"技术难点与分析 7系统测试 8\o"CurrentDocument"心得体会 9\o"CurrentDocument"参考文献 10课程设计计划2015年6月24日至2015年6月31日,进行需求分析和功能设计;2015年7月1日,总体设计;2015年7月2日至2015年7月4日,数据库设计和程序模块设计;2015年7月5日至2015年7月7日,系统实施和系统测试。系统需求分析与功能设计需求分析:淘宝、京东、苏宁易购等都是知名度很大的电子商务网站,而对于电子商务网站来说一个很重要的组成部分便是网络购物车,要求利用html、jsp、MySQL数据库等知识点,结合相关设计模式、以及软件工程的相关知识,设计一个网络购物车,用于记录不同客户的购物订单,主要功能是记录和操作不同客户的网上购物信息。功能设计:1.显示商品展示界面、操作成功(或失败)界面、购物车展示界面等界面;2.商品信息存储在数据库中;3.对商品信息能够进行查询、修改、删除、清空等操作;4.在浏览器中输入访问信息进行访问;6.购物信息分页显示。简单的数据流图:
4.数据库设计ER图设计如下:Cart表字段名字段描述类型长度备注ID编号int11自动增长SP_NAME商品名称varchar50SP_PRICE商品价格doubleBUY_NUM买的数量int11COUNT总价格varchar50Shows表字段名字段描述类型长度备注SP_NO商品编号varchar20SP_NAME商品名称varchar50
SP_PRICE商品价格doubleSP_INFO商品信息varchar200程序模块设计1.数据库连接模块本系统使用的数据库为MySQL,将数据库的驱动类库安装到系统后就可以编写数据库连接。<%//装载MySQL5.5的JDBC驱动Class.forName("com.mysql.jdbc.Driver").newInstance();//建立数据库连接Stringurl二"jdbc:mysql://localhost:3306/chenhongfei?user二root&password=123&useUnicode二true&characterEncoding二gb2312";Connectionconn=DriverManager.getConnection(url);//建立一个Statement对象,用于执行SQL语句Statementstat二conn.createStatement();//执行查询并得到查询结果Stringsql="select*fromshows";ResultSetrs=stat.executeQuery(sql);%>2.商品在线购物模块提供商品的信息,可以选择加入购物车(index.jsp)<body>〈h2>在线购物〈/h2><hr><tableborder二"1"width="600"><trbgcolor="#dddddd><tdalign二"center">商品摘要</td><tdalign二"center"width二"100">在线购买</td></tr><%Stringbm,name,price,info,img;//将查询结果集中的记录输出到页面上while(rs.next()){//从当前记录中读取各字段的值//img=rs.get("SP_PIC").trim();bm=rs.getString("SP_N0").trim();name=rs.getString("SP_NAME").trim();price=rs.getString("SP_PRICE").trim();info=rs.getString("SP_INF0").trim();一,〃out.println("<tr>");一,〃//out.println("<td><imgsrc='"+img+"'border=0height二25pswidth=60ps></td>");out.println("<td>");out.println("商品编号:"+bm+"<br>");out.println("商品编号:"+bm+"<br>");out.println(“商品名称:"+name+"<br>");out.println(“商品价格:"+price+"元<br>");out.println(“商品简介:"+info+"<br>");out.println("</td>");out.println("<td><ahref二'buy.jsp?op二add&bm二"+bm+"'>放入购物车〈/a>〈/td>");out.println("〈/tr>");}购物车模块(cart.jsp)查看购物车里的东西,并且可以删除不喜欢的商品,也可以继续添加商品。〈body〉<h2>我的购物车〈/h2><hr><tableborder二〃1〃width="600"><trbgcolor="#dddddd><tdalign="center"width二〃80〃>商品名称</td><tdalign二"center">商品单价</td><tdalign二〃center"width二〃100〃>购买数量</td><tdalign二〃center"width二〃100〃>金额</td><tdalign二"center"width二"100">编辑</td></tr><%Stringid,name,price,num,count;//将查询结果集中的记录输出到页面上while(rs.next()){//从当前记录中读取各字段的值id=rs.getString("ID").trim();name=rs.getString("SP_NAME").trim();price=rs.getString("SP_PRICE").trim();num=rs.getString("BUY_NUM").trim();count二rs.getString("COUNT").trim();out.println("<tr>");out.println("<td>"+name+"</td>");out.println("<td>"+price+"</td>");out.println("<td><inputtype二textvalue二"+num+"onChange=\"updateNum('"+id+"',this.value,'"+price+"')\"></td>");out.println("<td>"+count+"</td>");out.println("<td><ahref二'buy.jsp?op二del&id二"+id+"'>退回商品架〈/a>〈/td>〃);out.println(〃</tr>〃);%></table〉<br><ahref二"index.jsp>继续购物</a><ahref="buy.jsp?op=clear>清空购物车</a>〈scriptlanguage二"javascript>functionupdateNum(id,num,price){varurl=〃buy.jsp?op二update&id二〃+id+〃&num="+num+"&price二〃+price;window.location二url;</script>5.增删查改的功能模块增删查改的功能嵌套在buy.jsp里,实现对商品的添加、删除、修改、查询的功能。if(op.equals("add")){//从商品库中取出所选购商品的数据Stringbm=request.getParameter("bm");Stringname=null,price=null;sql="select*fromshowswhereSP_NO=?";pstat二conn.prepareStatement(sql);pstat.setString(l,bm);rs=pstat.executeQuery();if(rs.next()){name=rs.getString("SP_NAME").trim();price=rs.getString("SP_PRICE").trim();}rs.close();pstat.close();//将所选购商品加入到购物车中sql="insertintocart(SP_NAME,SP_PRICE,BUY_NUM,COUNT)values(?,?,?,?)〃;pstat二conn.prepareStatement(sql);pstat.setString(l,name);pstat.setString(2,price);pstat.setlnt(3,1);pstat.setString(4,price);pstat.executeUpdate();pstat.close();//关闭数据库连接conn.close();//重定向到购物车页面response.sendRedirect("cart.jsp");}//更改商品的数量if(op.equals("update")){intid=Integer.parselnt(request.getParameter("id"));intnum=Integer.parseInt(request.getParameter("num"));doubleprice二Double.parseDouble(request.getParameter("price"));sql="updatecartsetBUY_NUM=?,COUNT=?whereID二?〃;pstat二conn.prepareStatement(sql);pstat.setInt(l,num);pstat.setString(2,newDouble(price*num).toString());pstat.setInt(3,id);pstat.executeUpdate();pstat.close();conn.close();response.sendRedirect("cart.jsp");}//将商品退回到商品架(将商品从购物车中删除)if(op.equals("del")){intid=Integer.parselnt(request.getParameter("id"));sql="deletefromcartwhereID=?";pstat二conn.prepareStatement(sql);pstat.setInt(l,id);pstat.executeUpdate();pstat.close();conn.close();response.sendRedirect("cart.jsp");}
技术难点与分析1•加载数据库驱动类库的时候一直没有成功,后来发现是自己的方法不对,在同学的帮助下最终实现了数据库的连接;2、 数据库表中添加图片的那列在运行的过程中实现不了,总是出现乱码,至今也内解决问题;3、 我做的购物车实现的功能很简单,没有太多复杂的技术手段,就是增删查改的代码比较难一点,其他都基本上是使用Web技术。其实就是在Web中插入JAVA类,由于没有很多调用关系,就没有单独写成类,直接插入Web的程序中,实现也更简单了。
心得体会顺利的完成本次课程设计给了我很大的信心,让我了解更多的专业知识,购物车采用的是JSP技术编程。它有着许多的优越性,但也存在一定的不足,这些不足在一定程度上限制了我们的创造力。只有发现问题面对问题才有可能解决问题,不足和遗憾不会给我打击只会更好的鞭策我前行。经过这次课程设计和对相关资料的收集,让我清楚的感到随着网络科技的不断发展和网络的广泛应用,使我们的生活离不开它了。在教育越来越受重视的21世纪,随着商务类型的不断增加和商务管理要求的不断提高,管理方面的工作量将会越来越大,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度二手挖掘机销售合同样本2篇
- 二手数控机床买卖合同书(2024年度版)4篇
- 二零二四年度研发合作与成果转让合同3篇
- 饭店的承包经营合同20242篇
- 2024年度影视制作合同:某电视剧制作合作协议2篇
- 2024定制版!高端智能手机生产与销售合同
- 2024农民工劳动合同模板
- 2024居间合同英文
- 二零二四年度体育赛事赞助合同:体育赛事与赞助商3篇
- 2024年国际原油运输合同
- 病案(历) 保管制度
- 二手车购买一批合同范本
- A10联盟2025届高三上学期11月段考 历史试卷 (含官方答案解析)
- 2024年巴西劳动市场变化与挑战
- 放射科专科护理模拟题含参考答案
- 家政培训讲师课件
- 定制酒签约合同模板
- 24秋国家开放大学《经济法学》形考任务(记分作业)1-4参考答案
- 2024年大型科学仪器共享与服务合作协议
- 2024年湖北省武汉市中考英语真题(含解析)
- 2023秋部编版四年级语文上册第2单元大单元教学设计
评论
0/150
提交评论