JS课程设计报告.docx
- 文档编号:7953850
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:11
- 大小:19.52KB
JS课程设计报告.docx
《JS课程设计报告.docx》由会员分享,可在线阅读,更多相关《JS课程设计报告.docx(11页珍藏版)》请在冰豆网上搜索。
JS课程设计报告
黔南民族师范学院
计算机科学系
《JSP程序设计》课程设计报告
题目:
模拟购物车
专业:
信息管理与信息系统
班级:
姓名:
学号:
同组人员:
指导老师:
设计时间:
2015年6月22日~2015年7月7日
《JSP程序设计》课程设计报告书1
1.课程设计计划3
2.系统需求分析与功能设计3
3.总体设计4
4.数据库设计5
5.程序模块设计6
6.技术难点与分析7
7.系统测试8
8.心得体会9
9.参考文献10
1.课程设计计划
2015年6月24日至2015年6月31日,进行需求分析和功能设计;
2015年7月1日,总体设计;
2015年7月2日至2015年7月4日,数据库设计和程序模块设计;
2015年7月5日至2015年7月7日,系统实施和系统测试。
2.系统需求分析与功能设计
需求分析:
淘宝、京东、苏宁易购等都是知名度很大的电子商务网站,而对于电子商务网站来说一个很重要的组成部分便是网络购物车,要求利用html、jsp、MySQL数据库等知识点,结合相关设计模式、以及软件工程的相关知识,设计一个网络购物车,用于记录不同客户的购物订单,主要功能是记录和操作不同客户的网上购物信息。
功能设计:
1.显示商品展示界面、操作成功(或失败)界面、购物车展示界面等界面;2.商品信息存储在数据库中;3.对商品信息能够进行查询、修改、删除、清空等操作;4.在浏览器中输入访问信息进行访问;6.购物信息分页显示。
简单的数据流图:
3.总体设计
购物车的简单功能有:
添加商品到购物车、查看购物车、删除商品、清空购物车中的商品
4.数据库设计
ER图设计如下:
Cart表
字段名
字段描述
类型
长度
备注
ID
编号
int
11
自动增长
SP_NAME
商品名称
varchar
50
SP_PRICE
商品价格
double
BUY_NUM
买的数量
int
11
COUNT
总价格
varchar
50
Shows表
字段名
字段描述
类型
长度
备注
SP_NO
商品编号
varchar
20
SP_NAME
商品名称
varchar
50
SP_PRICE
商品价格
double
SP_INFO
商品信息
varchar
200
5.程序模块设计
1.数据库连接模块
本系统使用的数据库为MySQL,将数据库的驱动类库安装到系统后就可以编写数据库连接。
<%
//装载MySQL5.5的JDBC驱动
Class.forName().newInstance();
//建立数据库连接
Stringurl=;
Connectionconn=DriverManager.getConnection(url);
//建立一个Statement对象,用于执行SQL语句
Statementstat=conn.createStatement();
//执行查询并得到查询结果
Stringsql="select*fromshows";
ResultSetrs=stat.executeQuery(sql);
%>
2.商品在线购物模块
提供商品的信息,可以选择加入购物车(index.jsp)
在线购物
<%
Stringbm,name,price,info,img;
//将查询结果集中的记录输出到页面上
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("
//out.println("
out.println("
out.println("商品编号:
"+bm+"
");
out.println("商品名称:
"+name+"
");
out.println("商品价格:
"+price+"元
");
out.println("商品简介:
"+info+"
");
out.println("
out.println("
op=add&bm="+bm+"'>放入购物车
out.println("
}
3.购物车模块(cart.jsp)
查看购物车里的东西,并且可以删除不喜欢的商品,也可以继续添加商品。
我的购物车
<%
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("
out.println("
out.println("
out.println("
out.println("
out.println("
op=del&id="+id+"'>退回商品架
out.println("
}
%>
op=clear">清空购物车 functionupdateNum(id,num,price){ varurl="buy.jsp? op=update&id="+id+"&num="+num+"&price="+price; window.location=url; } 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(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="insertintocart(SP_NAME,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"); } //更改商品的数量 if(op.equals("update")){ intid=Integer.parseInt(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(1,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.parseInt(request.getParameter("id")); sql="deletefromcartwhereID=? "; pstat=conn.prepareStatement(sql); pstat.setInt(1,id); pstat.executeUpdate(); pstat.close(); conn.close(); response.sendRedirect("cart.jsp"); } //清空购物车 if(op.equals("clear")){ sql="deletefromcart"; 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技术编程。 它有着许多的优越性,但也存在一定的不足,这些不足在一定程度上限制了我们的创造力。 只有发现问题面对问题才有可能解决问题,不足和遗憾不会给我打击只会更好的鞭策我前行。 经过这次课程设计和对相关资料的收集,让我清楚的感到随着网络科技的不断发展和网络的广泛应用,使我们的生活离不开它了。 在教育越来越受重视的21世纪,随着商务类型的不断增加和商务管理要求的不断提高,管理方面的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情。 在这样的情况下有一个实用购物车是有其必然性的,例如京东、淘宝、苏宁易购等都有一个不可或缺的购物车。 在这次的课程设计中,我学会了很多,但购物车中也还存在很多的不足,自己的知识有限,尤其在数据库的连接上,出现了很大的问题,还需要努力学习。 9.参考文献 1清宏计算机工作室.JSP编程技巧.机械工业出版社,2000.1 2柏亚军.JSP编程基础及应用实例集锦.人民邮电出版社,2001.7 3Donny.JSP与网站开发编程实战.科学出版社,2001.7 4武延军黄飞跃.精通JSP编程技术.人民邮电出版社,2001.8 5KarlMoss.JavaServlet开发人员指南.清华大学出版社,2002 6StevenHolzner.Java技术内幕.机械工业出版社,2002.1 7陈海山.深入JavaServlet网络编程[.清华大学出版社,2002.2 8PhilHanna.JSP技术大全.机械工业出版社,2002.3 9周影.网络编程语言JSP实例教程.电子工业出版社,2003.6 10蔡剑景楠.JavaWeb应用开发: J2EE和Tomcat.清华大学出版社.2005 11王国辉牛强.JSP信息系统开发实例精选.机械工业出版社,2005.7 12王国辉王易.JSP数据库系统开发案例精选.人民邮电出版社,2006.5 13赵森.中文SQLServer2005程序设计教程.冶金工业出版社,2006.7
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JS 课程设计 报告