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