java,jsp课程设计报告(网络购物车的实现).doc
-
资源ID:78913307
资源大小:499.16KB
全文页数:22页
- 资源格式: DOC
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
java,jsp课程设计报告(网络购物车的实现).doc
课 程 设 计课程设计名称: java课程设计 专 业 班 级 : 学 生 姓 名 : 马飞扬 学 号 : 指 导 教 师 : 课程设计时间: 2011.12.12-2011.12.23 计算机科学与技术 专业课程设计任务书学生姓名马飞扬专业班级学号题 目网络购物车课题性质工程设计课题来源自拟课题指导教师同组姓名无主要内容 淘宝、京东、易购等都是知名度很大的电子商务网站,而对于电子商务网站来说一个很重要的组成部分便是网络购物车,要求利用html、jsp、servlet、数据库等知识点,结合相关设计模式、以及软件工程的相关知识,在经过需求分析、总体设计、详细设计等流程步骤以后,设计一个网络购物车。主要功能是记录和操作不同客户的网上购物信息。该系统能对购物车中商品信息进行查询、增加、修改、删除、清空、下载等操作,商品信息存储在数据库中。任务要求 综合运用所学的JAVA程序设计基本知识,并能通过查阅相关文献材料,独立完成该课题的设计开发工作。要求根据本课题设计合理的数据结构,并实现:商品展示、操作成功提示、购物车展示等视图界面;对商品信息的查询、增加、修改、删除、清空、下载等功能模块。系统采用tomcat、记事本等开发工具进行开发实现。根据系统功能,结合软件开发流程,完成设计报告的撰写。参考文献1 (美)Cay S. Horstmann、Gary Cornell. Java核心技术卷I:基础知识(第8版)(英文影印版).人民邮电出版社, 2008.112 耿祥义、张跃平. JAVA2实用教程(修订). 清华大学出版社,2001.103 杨小平 java项目案例导航 科学出版社,2003.74 傅进勇、邓少烽、李波 jsp网络编程 电子工业出版社 2008.5审查意见指导教师签字:教研室主任签字: 年 月 日 网络购物车一:需求分析 利用html、jsp、java、servlet、数据库等知识点,结合相关设计模式、以及软件工程的相关知识,设计一个网站购物车,用于记录不同客户的购物订单,并能对购物车中商品信息进行查询、修改、删除、清空、下载等操作,商品信息存储在数据库中。具体要实现的功能如下:1:显示商品展示界面、操作成功界面、购物车展示界面等界面。2:商品信息存储在数据库中。3:对商品信息能够进行查询、修改、删除、清空、下载等操作。4:使用MVC设计模式(View(jsp)、Model(javaBean)、Controller(servlet))。5:在浏览器中输入访问信息进行访问。6:购物车信息分页显示。二:概要设计本次课程设计中使用了MVC设计模式,jsp作为View,javaBean作为Model,servlet作为controller,实现界面与逻辑的分离,模块之间松耦合,通过传递参数进行调用。Jsp页面通过发送一个操作类型变量,从而使得controller获知应当进行的操作,并通过调用javabean进行实际的执行,这样页面与逻辑就得到了分离,互不干涉和影响。使用数据库存储购物信息,在数据库中对商品信息进行增、删、改、查等操作,此外控制器通过调用writeexcel类,在每次查看信息之前把当前的商品信息写入到xls文件中进行保存,并供用户下载。具体的设计模块及系统流程如下图所示:shoppingcarmessage.xlsShoppingcar数据库writeexcel.javacontroloperate.javaoperate.java返回响应返回结果数据库或文件ModelcontrollerView执行操作进行调用发送请求updatesuccess.jspalter.jspshoppingcarplay.jspdefault.jspaddsuccess.jsp三:运行环境、开发语言运行环境:Windows XP 浏览器开发语言:html、jsp、java四:详细设计1:程序清单 Java课程设计网络购物车文件功能对应表序号 文件名功能 1default.jsp显示商品信息 2shoppingcarplay.jsp显示购物车信息 3alter.jsp显示修改商品页面 4addsuccess.jsp显示成功添加商品 5updatesuccess.jsp显示成功更新商品 6controloperate.java控制进行各种操作 7operate.java对数据库进行操作 8write.excel.jaava生成excel信息文件 9shoppingcarmessage.xls记录购物车信息2:主要代码1:显示商品信息界面用jsp来显示主界面<%page contentType="text/html;charset=gb2312"%><html><head><title>登录主页面</title></head><body><br><h1 align="center">欢迎光临百味书屋!</h1><br><br><br></p><p align="center"><table width="80%" align=center>/用表格来排列显示信息<tr><td><form method="post" action="controloperate?operatetype=add&booknum=0001"><image src="./image/11.jpg" align=left>书名:货币战争<br>书号:0001<br>作者:王一<br>价格:23<br><input type="submit" value="购买"><br></image></form></td><td><form method="post" action="controloperate?operatetype=add&booknum=0002"><image src="./image/12.jpg" align=left>书名:我的抗战<br>书号:0002<br>作者:王二<br>价格:33<br><input type="submit" value="购买"><br></image></form></td><td><form method="post" action="controloperate?operatetype=add&booknum=0003"><image src="./image/13.jpg" align=left>书名:你猫叔了没<br>书号:0003<br>作者:王三<br>价格:43<br><input type="submit" value="购买"><br></image></form></td></tr><tr><td><form method="post" action="controloperate?operatetype=add&booknum=0004"><image src="./image/21.jpg" align=left>书名:赞美你<br>书号:0004<br>作者:王四<br>价格:53<br><input type="submit" value="购买"><br></image></form></td><td><form method="post" action="controloperate?operatetype=add&booknum=0005"><image src="./image/22.jpg" align=left>书名:刀尖<br>书号:0005<br>作者:王五<br>价格:63<br><input type="submit" value="购买"><br></image></form></td><td><form method="post" action="controloperate?operatetype=add&booknum=0006"><image src="./image/23.jpg" align=left>书名:人脉是设计出来的<br>书号:0006<br>作者:王六<br>价格:73<br><input type="submit" value="购买"><br></image></form></td></tr><tr><td><form method="post" action="controloperate?operatetype=add&booknum=0007"><image src="./image/31.jpg" align=left>书名:龙年运程<br>书号:0007<br>作者:王七<br>价格:83<br><input type="submit" value="购买"><br></image></form></td><td><form method="post" action="controloperate?operatetype=add&booknum=0008"><image src="./image/32.jpg" align=left>书名:最好的时光在路上<br>书号:0008<br>作者:王八<br>价格:93<br><input type="submit" value="购买"><br></image></form></td><td><form method="post" action="controloperate?operatetype=add&booknum=0009"><image src="./image/33.jpg" align=left>书名:七日谈<br>书号:0009<br>作者:王九<br>价格:103<br><input type="submit" value="购买"><br></image></form></td></tr></table><br><br><br><h1 align="center"><form method="post" action="controloperate?operatetype=scan"><input type="submit" value="查看购物车"></form></h1></p></body></html>2:显示购物车信息界面用jsp分页显示购物车中的商品信息<%page import="java.sql.*" import="java.util.*" contentType="text/html;charset=gb2312"%><html><head><title>购物车界面</title></head><body><br><br><h2 align="center">您的购物车列表:</h2><br><br><br><% request.setCharacterEncoding("gb2312"); ArrayList rs; rs=(ArrayList)session.getAttribute("rs");/获取从数据库的查询结果集 int onepagecount=3;int totalcount=0;int pagecount=0; if(rs0!=null) totalcount=rs.length;/获取分页显示需要的相关变量 if(totalcount%onepagecount=0) pagecount=totalcount/onepagecount; else pagecount=totalcount/onepagecount+1; if(request.getParameter("nowpage")!=null)/如果不是第一次登录查询界面的处理 request.setCharacterEncoding("gb2312"); int nowpage=Integer.parseInt(request.getParameter("nowpage"); /rs.absolute(nowpage*onepagecount+1); %> <h2 align="center"><table align="center"> <tr><td>书名</td><td></td><td>书号</td><td></td><td>作者</td> <td></td><td>价格</td><td></td><td>数量</td></tr> <% if(nowpage+1)*onepagecount>=totalcount)/当前页面为最后一页 for(int i=0;i<(totalcount-nowpage*onepagecount);i+) %> <tr><td><%=rsnowpage*onepagecount+i.get(0)%></td><td></td><td><%=rsnowpage*onepagecount+i.get(1)%></td> <td></td><td><%=rsnowpage*onepagecount+i.get(2)%></td><td></td><td><%=rsnowpage*onepagecount+i.get(3)%></td> <td></td><td><%=rsnowpage*onepagecount+i.get(4)%></td> <td></td><td><form method="post" action="alter.jsp?booknum=<%=rsnowpage*onepagecount+i.get(1)%>"> <input type="submit" value="修改"></form></td><td></td> <td><form method="post" action="controloperate?operatetype=delete&booknum=<%=rsnowpage*onepagecount+i.get(1)%>"> <input type="submit" value="删除"></form></td><td></td></tr> <% %> </table><br></h2> <h2 align="center"><form method="post" action="controloperate?operatetype=deleteall"><input type="submit" value="清空购物车"></form><br> <h2 align="center"><a href="shoppingcarmessage.xls">下载购物信息</a><br> <a href="default.jsp">返回主页</a><br><br></h2> <h3 align="right"><a href="shoppingcarplay.jsp?nowpage=<%=nowpage-1%>">上一页</a>  第<%=nowpage+1%>页   共<%=pagecount%>页</h3> <% Else/不是最后一页 for(int i=0;i<onepagecount;i+) %> <tr><td><%=rsnowpage*onepagecount+i.get(0)%></td><td></td><td><%=rsnowpage*onepagecount+i.get(1)%></td> <td></td><td><%=rsnowpage*onepagecount+i.get(2)%></td><td></td><td><%=rsnowpage*onepagecount+i.get(3)%></td> <td></td><td><%=rsnowpage*onepagecount+i.get(4)%></td> <td></td><td><form method="post" action="alter.jsp?booknum=<%=rsnowpage*onepagecount+i.get(1)%>"> <input type="submit" value="修改"></form></td><td></td> <td><form method="post" action="controloperate?operatetype=delete&booknum=<%=rsnowpage*onepagecount+i.get(1)%>"> <input type="submit" value="删除"></form></td><td></td></tr> <% /rs.next(); if(nowpage-1)=-1)/第一页 %> </table><br></h2> <h2 align="center"><form method="post" action="controloperate?operatetype=deleteall"><input type="submit" value="清空购物车"></form><br> <h2 align="center"><a href="shoppingcarmessage.xls">下载购物信息</a><br> <a href="default.jsp">返回主页</a><br><br></h2> <h3 align="right"><a href="shoppingcarplay.jsp?nowpage=<%=nowpage+1%>">下一页</a>  第<%=nowpage+1%>页   共<%=pagecount%>页</h3> <% if(nowpage+1)=pagecount) /最后一页 %> </table><br></h2> <h2 align="center"><form method="post" action="controloperate?operatetype=deleteall"><input type="submit" value="清空购物车"></form><br> <h2 align="center"><a href="shoppingcarmessage.xls">下载购物信息</a><br> <a href="default.jsp">返回主页</a><br><br></h2> <h3 align="right"><a href="shoppingcarplay.jsp?nowpage=<%=nowpage-1%>">上一页</a>  第<%=nowpage+1%>页   共<%=pagecount%>页</h3> <% if(nowpage-1)!=-1)&&(nowpage+1)!=pagecount)/中间页面 %> </table><br></h2> <h2 align="center"><form method="post" action="controloperate?operatetype=deleteall"><input type="submit" value="清空购物车"></form><br> <h2 align="center"><a href="shoppingcarmessage.xls">下载购物信息</a><br> <a href="default.jsp">返回主页</a><br><br></h2> <h3 align="right"><a href="shoppingcarplay.jsp?nowpage=<%=nowpage-1%>">上一页</a>  <a href="shoppingcarplay.jsp?nowpage=<%=nowpage+1%>">下一页</a>  第<%=nowpage+1%>页   共<%=pagecount%>页</h3> <% Else/第一次登录查询页面 %> <h2 align="center"><table align="center"> <tr><td>书名</td><td></td><td>书号</td><td></td><td>作者</td> <td></td><td>价格</td><td></td><td>数量</td></tr> <% if(totalcount<=3)/总页面=1 for(int i=0;i<totalcount;i+) %> <tr><td><%=rsi.get(0)%></td><td></td><td><%=rsi.get(1)%></td> <td></td><td><%=rsi.get(2)%></td><td></td><td><%=rsi.get(3)%></td> <td></td><td><%=rsi.get(4)%></td> <td></td><td><form method="post" action="alter.jsp?booknum=<%=rsi.get(1)%>"> <input type="submit" value="修改"></form></td><td></td> <td><form method="post" action="controloperate?operatetype=delete&booknum=<%=rsi.get(1)%>"> <input type="submit" value="删除"></form></td><td></td></tr> <% /rs.next(); %></table><br></h2> <h2 align="center"><form method="post" action="controloperate?operatetype=deleteall"><input type="submit" value="清空购物车"></form><br> <h2 align="center"><a href="shoppingcarmessage.xls">下载购物信息</a><br> <a href="default.jsp">返回主页</a></h2> <% Else/总页面>1 for(int i=0;i<onepagecount;i+) %> <tr><td><%=rsi.get(0)%></td><td></td><td><%=rsi.get(1)%></td> <td></td><td><%=rsi.get(2)%></td><td></td><td><%=rsi.get(3)%></td> <td></td><td><%=rsi.get(4)%></td> <td></td><td><form method="post" action="alter.jsp?booknum=<%=rsi.get(1)%>"> <input type="submit" value="修改"></form></td><td></td> <td><form method="post" action="operate?operatetype=delete&booknum=<%=rsi.get(1)%>"> <input type="submit" value="删除"></form></td><td></td></tr> <% %></table><br></h2> <h2 align="center"><form method="post" action="controloperate?operatetype=deleteall"><input type="submit" value="清空购物车"></form><br> <h2 align="center"><a href="shoppingcarmessage.xls">下载购物信息</a><br> <a href="default.jsp">返回主页</a><br><br></h2> <h3 align="right"><a href="shoppingcarplay.jsp?nowpage=1">下一页</a>  第一页   共<%=pagecount%>页</h3> <% Else/结果集为空 %> <br><br> <h2 align="center">您的购物车是空的!</h2><br><br><br><br> <h2 align="center"><a href="default.jsp">返回主页</a></h2> <% %></body></html>3:显示修改商品界面用jsp显示修改商品信息的界面<%page contentType="text/html;charset=gb2312"%><html><head><title>修改购物车界面</title></head><body><br><br><br><br><br><br><br><% request.setCharacterEncoding("gb2312"); String booknum=(String)request.getParameter("booknum"); %> <h2 align="center">/用form来提交修改的变量及书号 <form action="controloperate?operatetype=alter&booknum=<%=booknum%>" method="post"> 您要订购的数量:<input type="text" name="count"> <input type="submit" value="提交"> </h2> <%></body></html>4:显示成功添加商品用jsp显示成功添加操作<%page contentType="text/html;charset=gb2312"%><html><head><title>添加成功界面</title></head><body><br><br><h3 align="center">已成功加入购物车!</h3><br><br><br><br><br><h1 align="center"><a href="default.jsp">返回主页</a></h1></body></html>5:显示成功更新商品用jsp显示成功更新操作<%page contentType="text/html;charset=gb2312"%><html><head><title>更新成功界面</title></head><body><br><br><h3 align="center">已成功更新您的购物车!</h3><br><br><br><br><br><h1 align="center"><form method="post" action="controloperate?operatetype=scan"><input type="submit" value="返回购物车"></form></h1></body></html>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 void 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.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(operatetype.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 count=(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("updatesuccess.jsp"); if(operatetype.equals("deleteall")/清空购物车操作的处理 request.setCharact