版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课 程 设 计课程设计名称: java课程设计 专 业 班 级 : 学 生 姓 名 : 学 号 : 指 导 教 师 : 课程设计时间: 2011.12.12-2011.12.23 计算机科学与技术 专业课程设计任务书学生姓名专业班级学号题 目网络购物车课题性质工程设计课题来源自拟课题指导教师同组姓名无主要内容 淘宝、京东、易购等都是知名度很大的电子商务网站,而对于电子商务网站来说一个很重要的组成部分便是网络购物车,要求利用html、jsp、servlet、数据库等知识点,结合相关设计模式、以及软件工程的相关知识,在经过需求分析、总体设计、详细设计等流程步骤以后,设计一个网络购物车。主要功能是记
2、录和操作不同客户的网上购物信息。该系统能对购物车中商品信息进行查询、增加、修改、删除、清空、下载等操作,商品信息存储在数据库中。任务要求 综合运用所学的java程序设计基本知识,并能通过查阅相关文献材料,独立完成该课题的设计开发工作。要求根据本课题设计合理的数据结构,并实现:商品展示、操作成功提示、购物车展示等视图界面;对商品信息的查询、增加、修改、删除、清空、下载等功能模块。系统采用tomcat、记事本等开发工具进行开发实现。根据系统功能,结合软件开发流程,完成设计报告的撰写。参考文献1 (美)cay s. horstmann、gary cornell. java核心技术卷i:基础知识(第8
3、版)(英文影印版).人民邮电出版社, 2008.112 耿祥义、张跃平. java2实用教程(修订). 清华大学出版社,2001.103 杨小平 java项目案例导航 科学出版社,2003.74 傅进勇、邓少烽、李波 jsp网络编程 电子工业出版社 2008.5审查意见指导教师签字:教研室主任签字: 年 月 日 网络购物车一:需求分析 利用html、jsp、java、servlet、数据库等知识点,结合相关设计模式、以及软件工程的相关知识,设计一个网站购物车,用于记录不同客户的购物订单,并能对购物车中商品信息进行查询、修改、删除、清空、下载等操作,商品信息存储在数据库中。具体要实现的功能如下:
4、1:显示商品展示界面、操作成功界面、购物车展示界面等界面。2:商品信息存储在数据库中。3:对商品信息能够进行查询、修改、删除、清空、下载等操作。4:使用mvc设计模式(view(jsp)、model(javabean)、controller(servlet))。5:在浏览器中输入访问信息进行访问。6:购物车信息分页显示。二:概要设计本次课程设计中使用了mvc设计模式,jsp作为view,javabean作为model,servlet作为controller,实现界面与逻辑的分离,模块之间松耦合,通过传递参数进行调用。jsp页面通过发送一个操作类型变量,从而使得controller获知应当进行的
5、操作,并通过调用javabean进行实际的执行,这样页面与逻辑就得到了分离,互不干涉和影响。使用数据库存储购物信息,在数据库中对商品信息进行增、删、改、查等操作,此外控制器通过调用writeexcel类,在每次查看信息之前把当前的商品信息写入到xls文件中进行保存,并供用户下载。具体的设计模块及系统流程如下图所示:shoppingcarmessage.xlsshoppingcar数据库writeexcel.javacontroloperate.javaoperate.java返回响应返回结果数据库或文件modelcontrollerview执行操作进行调用发送请求updatesuccess.j
6、spalter.jspshoppingcarplay.jspdefault.jspaddsuccess.jsp三:运行环境、开发语言运行环境:windows xp 浏览器开发语言:html、jsp、java四:详细设计1:程序清单 java课程设计网络购物车文件功能对应表序号 文件名功能 1default.jsp显示商品信息 2shoppingcarplay.jsp显示购物车信息 3alter.jsp显示修改商品页面 4addsuccess.jsp显示成功添加商品 5updatesuccess.jsp显示成功更新商品 6controloperate.java控制进行各种操作 7operate.
7、java对数据库进行操作 8write.excel.jaava生成excel信息文件 9shoppingcarmessage.xls记录购物车信息2:主要代码1:显示商品信息界面用jsp来显示主界面登录主页面欢迎光临百味书屋!/用表格来排列显示信息书名:货币战争书号:0001作者:王一价格:23书名:我的抗战书号:0002作者:王二价格:33书名:你猫叔了没书号:0003作者:王三价格:43书名:赞美你书号:0004作者:王四价格:53书名:刀尖书号:0005作者:王五价格:63书名:人脉是设计出来的书号:0006作者:王六价格:73书名:龙年运程书号:0007作者:王七价格:83书名:最好的
8、时光在路上书号:0008作者:王八价格:93书名:七日谈书号:0009作者:王九价格:1032:显示购物车信息界面用jsp分页显示购物车中的商品信息购物车界面您的购物车列表: 书名书号作者 价格数量 =totalcount)/当前页面为最后一页 for(int i=0;i form method=post action=alter.jsp?booknum= form method=post action=controloperate?operatetype=delete&booknum= 下载购物信息 返回主页 a href=shoppingcarplay.jsp?nowpage=上一页&nb
9、sp 第页   共页 % else/不是最后一页 for(int i=0;i form method=post action=alter.jsp?booknum= form method=post action=controloperate?operatetype=delete&booknum= 下载购物信息 返回主页 a href=shoppingcarplay.jsp?nowpage=下一页  第页   共页 下载购物信息 返回主页 a href=shoppingcarplay.jsp?nowpage=上一页  第页   共页 下载购物信息 返回主页
10、 a href=shoppingcarplay.jsp?nowpage=上一页  a href=shoppingcarplay.jsp?nowpage=下一页  第页   共页 书名书号作者 价格数量 % if(totalcount=3)/总页面=1 for(int i=0;i form method=post action=alter.jsp?booknum= form method=post action=controloperate?operatetype=delete&booknum= 下载购物信息 返回主页 1 for(int i=0;i form metho
11、d=post action=alter.jsp?booknum= form method=post action=operate?operatetype=delete&booknum= 下载购物信息 返回主页 下一页  第一页   共页 您的购物车是空的! 返回主页 3:显示修改商品界面用jsp显示修改商品信息的界面修改购物车界面 /用form来提交修改的变量及书号 form action=controloperate?operatetype=alter&booknum= method=post 您要订购的数量: 4:显示成功添加商品用jsp显示成功添加操作添加成功界面已成功加
12、入购物车!返回主页5:显示成功更新商品用jsp显示成功更新操作更新成功界面已成功更新您的购物车!6:控制进行各种操作功能用java servlet实现控制器控制进行各种操作以及决定返回何种界面package shoppingcar;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;import java.sql.*;public class controloperate extends httpservlet/重写dopost方法对jsp请求进行处理 public voi
13、d dopost(httpservletrequest request,httpservletresponse response)throws servletexception,ioexception request.setcharacterencoding(gb2312);/获取相关变量 string operatetype=(string)request.getparameter(operatetype); shoppingcar.operate ope=new shoppingcar.operate(); shoppingcar.writeexcel we=new shoppingcar
14、.writeexcel(); httpsession session = request.getsession(); if(operatetype.equals(add)/添加操作的处理 request.setcharacterencoding(gb2312); string booknum= (string)request.getparameter(booknum); string ip=(string)request.getremoteaddr(); ope.addbook(booknum,ip); response.sendredirect(addsuccess.jsp); if(ope
15、ratetype.equals(scan)/查询操作的处理 arraylist rs=ope.getbook(); session.setattribute(rs,rs); if(rs0!=null) we.write(rs); response.sendredirect(shoppingcarplay.jsp); if(operatetype.equals(alter)/修改操作的处理 request.setcharacterencoding(gb2312); string booknum= (string)request.getparameter(booknum); string coun
16、t=(string)request.getparameter(count); ope.updatebook(booknum,count); response.sendredirect(updatesuccess.jsp); if(operatetype.equals(delete)/删除操作的处理 request.setcharacterencoding(gb2312); string booknum= (string)request.getparameter(booknum); ope.deletebook(booknum); response.sendredirect(updatesucc
17、ess.jsp); if(operatetype.equals(deleteall)/清空购物车操作的处理 request.setcharacterencoding(gb2312); ope.deleteallbook(); response.sendredirect(updatesuccess.jsp); 7:对数据库进行操作功能 用javabean通过多个函数实现对数据库的多种操作package shoppingcar;import java.sql.*;import java.util.*;public class operate arraylist a; public void add
18、book(string booknum,string ip)/对数据库进行添加记录操作 try class.forname(sun.jdbc.odbc.jdbcodbcdriver); /连接数据库 connection conn = drivermanager.getconnection(jdbc:odbc:shoppingcar,sa,111111); statement stmt = conn.createstatement(); string sql1=select * from 购物车 where 书号=+booknum+ and ip地址=+ip+; resultset rs=st
19、mt.executequery(sql1); string sql2=insert into 购物车(ip地址,书号,数量) values(+ip+,+booknum+,1); if(!rs.next()/当前不存在该条记录直接插入 stmt.executeupdate(sql2); else/否则进行更新操作 int newcount=rs.getint(数量);newcount+=1; string sql3=update 购物车 set 数量=+newcount+ where 书号=+booknum+ and ip地址=+ip+; stmt.executeupdate(sql3); st
20、mt.close();conn.close(); catch(exception e) public void get() try class.forname(sun.jdbc.odbc.jdbcodbcdriver); connection conn1 = drivermanager.getconnection(jdbc:odbc:shoppingcar,sa,111111); statement stmt1 = conn1.createstatement(resultset.type_scroll_insensitive, resultset.concur_read_only);/创建支持
21、游标滚动的statement string sql=select 书名 , 书籍.书号 , 作者 , 价格 , 数量 from 书籍 , 购物车 where 书籍.书号=购物车.书号;/获取结果的sql语句 resultset rs=stmt1.executequery(sql); if(rs.next() rs.last(); integer rows = rs.getrow(); rs.beforefirst(); this.a=new arraylistrows; int l =0; while (rs.next() /将结果集转换为数组对象 this.al = new arraylis
22、t(); this.al.add(0,rs.getstring(1); this.al.add(1,rs.getstring(2); this.al.add(2,rs.getstring(3); this.al.add(3,rs.getstring(4); this.al.add(4,rs.getint(5); l+; /system.out.println(success5);/判断该语句是否执行成功 else this.a=new arraylist100; stmt1.close();conn1.close(); catch(exception e) public arraylist g
23、etbook() get(); return this.a;/返回数组对象 public void updatebook(string booknum,string count)/对数据库执行修改操作作 try class.forname(sun.jdbc.odbc.jdbcodbcdriver); connection conn1 = drivermanager.getconnection(jdbc:odbc:shoppingcar,sa,111111); statement stmt1 = conn1.createstatement(resultset.type_scroll_insens
24、itive, resultset.concur_read_only);/创建支持游标滚动的statement int bookcount=integer.parseint(count); if(bookcount=0) deletebook(booknum); else string sql=update 购物车 set 数量=+bookcount+ where 书号=+booknum+; stmt1.executeupdate(sql); stmt1.close();conn1.close(); catch(exception e) public void deletebook(string
25、 booknum)/对数据库执行删除操作 try class.forname(sun.jdbc.odbc.jdbcodbcdriver); connection conn1 = drivermanager.getconnection(jdbc:odbc:shoppingcar,sa,111111); statement stmt1 = conn1.createstatement(resultset.type_scroll_insensitive, resultset.concur_read_only);/创建支持游标滚动的statement string sql=delete 购物车 wher
26、e 书号=+booknum+; stmt1.executeupdate(sql); stmt1.close();conn1.close(); catch(exception e) public void deleteallbook()/清空购物车 try class.forname(sun.jdbc.odbc.jdbcodbcdriver); connection conn1 = drivermanager.getconnection(jdbc:odbc:shoppingcar,sa,111111); statement stmt1 = conn1.createstatement(resultset.type_scroll_insensitive, resultset.concur_read_only);/创建支持游标滚动的statement s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年二手房交易协议样式指南版B版
- 2024商务合作保密条款与专营权合同文档版
- 2024标准的临时员工劳动合同范本
- 2024年商场店铺装修标准合同模板版
- 车联网技术研发合作合同20242篇
- 2024年代理合作合同标准版版B版
- 2024年二婚无争议无子女离婚合同参考格式版B版
- 2024城区建筑垃圾专项清理协议版B版
- 饭店与物业公司二零二四年度物业租赁合同2篇
- 2024年专项戈壁石料运输服务协议版B版
- 人教版四年级上英语单词默写表-
- 危重患者抢救护理
- 浅谈小学音乐课中实施合作教学的策略
- 网络小说(英文).ppt
- minecraft物品ID大全
- [精彩]爬梯设计及验算
- IEC-68-2-1-试验方法
- 过去时歌曲-yesterday-once-morePPT优秀课件
- 信息安全风险评估报告模板
- 电影院保洁托管及报价
- 玻璃热浸技术
评论
0/150
提交评论