版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、黔南民族师范学院计算机科学系JSP程序设计课程设计报告 2015年6月黔南民族师范学院计算机科学系JSP程序设计课程设计报告 题 目: 模拟购物车 专 业: 信息管理与信息系统 班 级: 姓 名: 学 号: 同组人员: 指导老师: 设计时间: 2015年6月22日 2015年 7月 7日 目 录JSP程序设计课程设计报告书11.课程设计计划32.系统需求分析与功能设计33.总体设计44.数据库设计55.程序模块设计66.技术难点与分析77.系统测试88.心得体会99.参考文献101. 课程设计计划2015年6月24日至2015年6月31日,进行需求分析和功能设计;2015年7月1日,总体设计;
2、2015年7月2日至2015年7月4日,数据库设计和程序模块设计;2015年7月5日至2015年7月7日,系统实施和系统测试。2.系统需求分析与功能设计需求分析: 淘宝、京东、苏宁易购等都是知名度很大的电子商务网站,而对于电子商务网站来说一个很重要的组成部分便是网络购物车,要求利用html、jsp、MySQL数据库等知识点,结合相关设计模式、以及软件工程的相关知识,设计一个网络购物车,用于记录不同客户的购物订单,主要功能是记录和操作不同客户的网上购物信息。功能设计:1.显示商品展示界面、操作成功(或失败)界面、购物车展示界面等界面;2.商品信息存储在数据库中;3.对商品信息能够进行查询、修改、
3、删除、清空等操作;4.在浏览器中输入访问信息进行访问;6.购物信息分页显示。简单的数据流图:3. 总体设计购物车的简单功能有:添加商品到购物车、查看购物车、删除商品、清空购物车中的商品4. 数据库设计ER图设计如下:Cart表字段名字段描述类型长度备注ID编号int11自动增长SP_NAME商品名称varchar50SP_PRICE商品价格doubleBUY_NUM买的数量int11COUNT总价格varchar50Shows表字段名字段描述类型长度备注SP_NO商品编号varchar20SP_NAME商品名称varchar50SP_PRICE商品价格doubleSP_INFO商品信息varc
4、har2005. 程序模块设计1. 数据库连接模块 本系统使用的数据库为MySQL,将数据库的驱动类库安装到系统后就可以编写数据库连接。 <% /装载MySQL5.5的JDBC驱动 Class.forName("com.mysql.jdbc.Driver").newInstance(); /建立数据库连接 String url ="jdbc:mysql:/localhost:3306/chenhongfei?user=root&password=123&useUnicode=true&characterEncoding=gb2312&
5、quot; Connection conn= DriverManager.getConnection(url); /建立一个Statement对象,用于执行SQL语句 Statement stat = conn.createStatement(); /执行查询并得到查询结果 String sql = "select * from shows" ResultSet rs = stat.executeQuery(sql); %> 2. 商品在线购物模块 提供商品的信息,可以选择加入购物车(index.jsp) <body> <h2>在线购物<
6、/h2> <hr> <table border="1" width="600"> <tr bgcolor="#dddddd"> <td align="center" >商品摘要</td> <td align="center" width="100">在线购买</td> </tr> <% String bm,name,price,info,img; /将查询结果集中的记录
7、输出到页面上 while (rs.next() /从当前记录中读取各字段的值 / img = rs.get("SP_PIC").trim(); bm = rs.getString("SP_NO").trim(); name = rs.getString("SP_NAME").trim(); price = rs.getString("SP_PRICE").trim(); info = rs.getString("SP_INFO").trim(); out.println("<tr
8、>"); /out.println("<td><img src='"+ img +"' border=0 height=25ps width=60ps></td>"); out.println("<td>"); out.println("商品编号:"+ bm +"<br>"); out.println("商品名称:"+ name +"<br>"); ou
9、t.println("商品价格:"+ price +"元<br>"); out.println("商品简介:"+ info +"<br>"); out.println("</td>"); out.println("<td><a href='buy.jsp?op=add&bm="+bm+"'>放入购物车</a></td>"); out.println(
10、"</tr>"); 3. 购物车模块(cart.jsp) 查看购物车里的东西,并且可以删除不喜欢的商品,也可以继续添加商品。 <body> <h2>我的购物车</h2> <hr> <table border="1" width="600"> <tr bgcolor="#dddddd"> <td align="center" width="80">商品名称</td> &l
11、t;td align="center">商品单价</td> <td align="center" width="100">购买数量</td> <td align="center" width="100">金额</td> <td align="center" width="100">编辑</td> </tr> <% String id,name,pri
12、ce,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()
13、; out.println("<tr>"); out.println("<td>"+ name +"</td>"); out.println("<td>"+ price +"</td>"); out.println("<td><input type=text value="+ num +" onChange="updateNum('"+id+"'
14、;,this.value,'"+price+"')"></td>"); out.println("<td>"+ count +"</td>"); out.println("<td><a href='buy.jsp?op=del&id="+id+"'>退回商品架</a></td>"); out.println("</tr>&qu
15、ot;); %> </table> <br> <a href="index.jsp">继续购物</a> <a href="buy.jsp?op=clear">清空购物车</a> </body> <script language="javascript"> function updateNum(id,num,price) var url = "buy.jsp?op=update&id="+id+"&
16、amp;num="+num+"&price="+price; window.location = url; </script> 5. 增删查改的功能模块 增删查改的功能嵌套在buy.jsp里,实现对商品的添加、删除、修改、查询的功能。 if (op.equals("add") /从商品库中取出所选购商品的数据 String bm = request.getParameter("bm"); String name=null,price=null; sql = "select * from show
17、s where SP_NO=?" pstat = conn.prepareStatement(sql); pstat.setString(1,bm); rs = pstat.executeQuery(); if (rs.next() name = rs.getString("SP_NAME").trim(); price = rs.getString("SP_PRICE").trim(); rs.close(); pstat.close(); /将所选购商品加入到购物车中 sql = "insert into cart(SP_NAME
18、,SP_PRICE,BUY_NUM,COUNT) values(?,?,?,?)" pstat = conn.prepareStatement(sql); pstat.setString(1,name); pstat.setString(2,price); pstat.setInt(3,1); pstat.setString(4,price); pstat.executeUpdate(); pstat.close(); /关闭数据库连接 conn.close(); /重定向到购物车页面 response.sendRedirect("cart.jsp"); /更改商
19、品的数量 if (op.equals("update") int id = Integer.parseInt(request.getParameter("id"); int num = Integer.parseInt(request.getParameter("num"); double price=Double.parseDouble(request.getParameter("price"); sql = "update cart set BUY_NUM = ?, COUNT = ? where I
20、D=?" pstat = conn.prepareStatement(sql); pstat.setInt(1,num); pstat.setString(2,new Double(price*num).toString(); pstat.setInt(3,id); pstat.executeUpdate(); pstat.close(); conn.close(); response.sendRedirect("cart.jsp"); /将商品退回到商品架(将商品从购物车中删除) if (op.equals("del") int id = I
21、nteger.parseInt(request.getParameter("id"); sql = "delete from cart where ID=?" pstat = conn.prepareStatement(sql); pstat.setInt(1,id); pstat.executeUpdate(); pstat.close(); conn.close(); response.sendRedirect("cart.jsp"); /清空购物车 if (op.equals("clear") sql = &
22、quot;delete from cart" pstat = conn.prepareStatement(sql); pstat.executeUpdate(); pstat.close(); conn.close(); response.sendRedirect("cart.jsp"); 6. 技术难点与分析 1.加载数据库驱动类库的时候一直没有成功,后来发现是自己的方法不对,在同学的帮助下最终实现了数据库的连接; 2、数据库表中添加图片的那列在运行的过程中实现不了,总是出现乱码,至今也内解决问题; 3、我做的购物车实现的功能很简单,没有太多复杂的技术手段,就是增删查改的代码比较难一点,其他都基本上是使用Web技术。其实就是在Web中插入JAVA类,由于没有很多调用关系,就没有单独写成类,直接插入Web的程序中,实现也更简单了。7.系统测试 主要是进行黑盒测试,系统的功能是否达到要求。 商品在线购物模块测试: 购物车模块测试: 删除功能: 清除购物车中的所有商品: 添加商品的功能:8. 心得体会顺利的完成本次课程设计给了我很大的信心,让我了解更多的专业知识,购物车采用的是JSP技术编程。 它有着许多的优越性,但也存在一定的不足,这些不足在一定程度上限制了我们的创造力。只有发现问题面对问题才有可能解决问题,不足和遗憾不会给我打击只会更好的鞭
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养老院安全护理方案
- 印刷图表和图示产业链招商引资的调研报告
- 身体用润肤膏市场分析及投资价值研究报告
- 螺丝攻手工具项目运营指导方案
- 剧院或电视演播室用灯光设备出租行业营销策略方案
- 便笺产品供应链分析
- 临床试验管理行业经营分析报告
- 2024年专业定制不锈钢储罐建设合同
- 道路施工围墙组织设计方案
- 医用喷雾器产品供应链分析
- GB/T 42455.2-2024智慧城市建筑及居住区第2部分:智慧社区评价
- 地 理期中测试卷(一) 2024-2025学年地理湘教版七年级上册
- 2024年山东济南轨道交通集团限公司招聘95人历年高频难、易错点500题模拟试题附带答案详解
- 常用钢制管件弯头三通异径管管帽理论重量体积表
- 柴油购销合同
- 高炉矿渣粉的生产、成本及其应用
- MD380总体技术方案重点讲义
- 天车道轨施工方案
- 城建档案馆资料归档目录
- 酒店流水单模版
- 开盘八法概述
评论
0/150
提交评论