JavaWeb综训报告用Servlet实现购物车.docx
- 文档编号:3284838
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:11
- 大小:1MB
JavaWeb综训报告用Servlet实现购物车.docx
《JavaWeb综训报告用Servlet实现购物车.docx》由会员分享,可在线阅读,更多相关《JavaWeb综训报告用Servlet实现购物车.docx(11页珍藏版)》请在冰豆网上搜索。
JavaWeb综训报告用Servlet实现购物车
·····学院
JavaWeb应用开发课程设计
用Servlet实现购物车
班级:
·······
姓名:
#####
###
#
#
指导教师:
#
时间:
2012/12/24至2012/12/28
目录
1、课程设计概述---------------------------3
1.1课程设计的主要思想-----------------------3
1.2课程设计的主要目的-----------------------3
2、课程需求分析---------------------------3
2.1性能需求分析-----------------------------3
2.2功能需求分析-----------------------------4
3、课程详细说明、调试---------------------4
3.1课程设计流程图---------------------------4
3.2课程设计功能模块图-----------------------5
3.3课程源代码调试示-------------------------5
3.4课程需要注意的问题-----------------------11
4、个人总结-----------------------------------12
1、课程设计概述
1.1课程设计的主要思想
本次设计主要用的思想是MVC设计模式,Jsp充当View的角色,servlet充当Conteoller,JavaBen(Book)充当Model,实现界面与逻辑的分离,通过传递参数进行调用,Jsp页面通过发送一个操作类型变量,从而使得servlet获知应当进行的操作,并通过调用javabean进行实际的执行,这样页面与逻辑就得到了分离,互不干涉和影响实现了购物的一些简单操作,本程序没有用到数据库的知识。
1.2课程设计的主要目的
本次课程用到了我们学过的很多知识,有html,java,jsp,servlet,javaben等知识,这样一来加强我们对现正在学的知识的巩固以及对以前学的html和java的回顾,掌握这些知识的综合运用,对方法,类的进一步加深,同时也让学生通过实验来感受静态网页和动态的网页不同。
不仅如此,还加强我们的动手能力和对出现问题的解决能力以及对我们自身所学知识的一个检验。
2、课程需求分析
2.1性能需求分析
随着计算机技术的发展和网络人口的增加,网络世界越来越丰富,电子商务已经成为网上的一股潮流。
我们相信要不了太长时间,顾客就可以在网络世界上获得他们在现实世界上可以获得的所有商品和服务。
而对图书的需求也与日俱增,因此开发一个网上商店系统是有很大的实用价值和经济价值。
对于我们计算机软件专业的学生来说,这是一次我们所学知识用于现实中的很有意义的实践活动,所以开发这样一个简单的Servlet实现的购物车是很有价值的。
2.2功能需求分析
利用Servlet实现的这个购物车应具备的功能有:
(1)商品的展示界面,所选中购买商品的界面以及商品付款的界面。
(2)能对添加到购物车的商品进行添加,删除等简单的操作。
(3)能正确的运用jsp,selvlet,javaben。
(4)要注意连贯性,就是页面的跳转要连贯。
3、课程详细说明、调试
3.1课程设计流程图
3.2课程设计功能模块图
购物车各文件对应功能模块表
对应模块
对应文件
对应功能
商品展示模块
EShop.jsp
用于显示商品的情况
购物车模块
Cart.jsp
用于显示购物车的情况
结账模块
CheckOut.jsp
用于显示结账的情况
数据存储模块
ShoppingServlete.java
用于数据的存储和计算
商品处理模块
Book.java
用于实现商品的对象化
3.3课程源代码结果调试示例
(1)输入正确的地址将会显示的商品展示模块页面
在浏览器中输入http:
//localhost:
8080/sq1/EShop.js:
上面的商品展示界面对应的关键代码:
………
书目
订购数量:
includepage="Cart.jsp"/> ……… (2)对所展示的书籍又不熟悉的,点击对应的书籍我们设有详细信息的超链接,看完信息后可以点击“返回购物”从而回到展示页面。 点击《简爱》书籍: 对于上面超链接部分的代码: ……… 人的价值=尊严+爱。 《简·爱》中的简爱人生追求有两个基本旋律: 富有激情、幻想、反抗和坚持不懈的精神;对人间自由幸福的渴望和对更高精神境界的追求。 这本小说的主题是通过对孤女坎坷不平的人生经历,成功地塑造了一个不安于现状、不甘受辱、敢于抗争的女性形象,反映一个平凡心灵的坦诚倾诉的呼号和责难,一个小写的人成为一个大写的人的渴望。 内容: 父母由于染上伤寒,在一个月之中相继去世。 幼小的简寄养在舅父母家里。 舅父里德先生在红房子中去世后,简过了10年受尽歧视和虐待的生活。 一次,由于反抗表哥的殴打,简被关进了红房子。 肉体上的痛苦和心灵上的屈辱和恐惧,使她大病了一场。 以后,简被送进了洛伍德孤儿院。 简在孤儿院继续受到精神和肉体上的摧残。 由于恶劣的生活条件,孤儿院经常有孩子病死,她最好的朋友海伦在一次大的斑疹伤寒中去世了。 这次斑疹伤寒也使孤儿院有了大的改善。 简在新的环境下接受了六年的教育,并在这所学校任教两年。 由于谭波尔儿小姐的离开,简厌倦了孤儿院里的生活,登广告谋求家庭教师的职业......
简·爱是个孤女,出生于一个穷牧师家庭。
舅母把她视作眼中钉,并把她和自己的孩子隔离开来,从此,她与舅母的对抗更加公开和坚决了。
孤儿院教规严厉,生活艰苦,院长是个冷酷的伪君子。
………
(3)点击下拉列表选中自己喜欢的书籍,点击“添加到购物车”就会到达购物车模块的页面,如果想删除就点击旁边的“从购物车中取出”。
购物车界面对应的关键代码:
………
<%
for(intindex=0;index Bookbook=(Book)buylist.elementAt(index); %><%=book.getArtist()%> <%=book.getName()%> <%=book.getPrice()%> <%=book.getQuantity()%>
<%}%>
………
(5)如果以及确定要买的书籍就点击下面的“结账”,就会到达结账功能模块的页面,这里将显示你的支付情况。
结账页面对应的代码附录:
……
<%
Vectorbuylist=(Vector)session.getValue("shopping.shoppingcart");
Stringamount=(String)request.getAttribute("amount");
for(inti=0;i { Bookbook=(Book)buylist.elementAt(i); %><%=book.getArtist()%> <%=book.getName()%> <%=book.getPrice()%> <%=book.getQuantity()%>
………
(6)关于数据的存储模块和商品的对象化模块的代码都会用到,下面对这两个文件附录一些关键的代码:
ShoppingServlet.java:
………
重写doPost()方法:
doPost(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException{
res.setContentType("text/html;charset=GB2312");
req.setCharacterEncoding("GB2312");
HttpSessionsession=req.getSession(false);
if(session==null)
{res.sendRedirect("httP:
//localhost:
8080/error.html");
}
获取信息:
Vectorbuylist=(Vector)session.getValue("shopping.shoppingcart");
Stringaction=req.getParameter("action");
if(!
action.equals("CHECKOUT")){
if(action.equals("DELETE")){
Stringdel=req.getParameter("delindex");
intd=(newInteger(del)).intValue();
buylist.removeElementAt(d);
}
elseif(action.equals("ADD")){
booleanmatch=false;
BookaBook=getBook(req);
if(buylist==null){
buylist=newVector();
buylist.addElement(aBook);
}
else{
for(inti=0;i Bookbook=(Book)buylist.elementAt(i); if(book.getName().equals(aBook.getName())){ book.setQuantity(book.getQuqntity()+aBook.getQuantity()); buylist.setElementAt(book,i); match=true; } } if(! match){ buylist.addElement(aBook); } } } 结账处理: elseif(action.equals("CHECKOUT")){ floattotal=0; for(inti=0;i Bookbook=(Book)buylist.elementAt(i); floatprice=bool.getPrice(); intqty=book.getQuantity(); total+=(price*qty); } total+=0.005; Stringamount=newFloat(total).toString(); intn=amount.substring(0,n+3); amount=amoutn.substring(0,n+3); req.setAttribute("amount",amoutn); Stringurl="/Checkoun.jsp"; ServletContextxc=getServletContext(); RequestDispatcherrd=sc.getRequestDispatcher(url); rd.forward(req,res); ……… Book.java: 实现商品的对象化 ……… publicBook(){ artist=""; name=""; price=0; quantity=0; } publicvoidsetAlbum(Stringtitle){ album=title; } publicStringgetAlbum(){ returnalbum; } publicvoidsetArtist(Stringgroup){ artist=group; } publicStringgetArtist(){ returnartist; } publicvoidsetName(StringsBookName){ name=sBookName; } publicStringgetName(){ returnname; } publicvoidsetPrice(floatp){ price=p; } publicfloatgetPrice(){ returnprice; } publicvoidsetQuantity(intq){ quantity=q; } publicintgetQuantity(){ returnquantity; } ……… 3.4课程需要注意的问题 在做这个程序需要注意的问题有很多: (1)就是要注意环境的配置Servlet的运行步骤,这是做这个程序的第一步,也是最重要的一步,这里很容易出错,必须注意。 (2)就是书上的代码很多都有错误,必须认真对待。 (3)本程序是对所学网页与脚本知识的运用,必须灵活运用。 (4)要注意页面的跳转,方法的正确运用,还有就是图片的插入,格式、大小等。 (5)就是在打代码的过程中必须很细心,不能马虎。 4.个人总结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JavaWeb 报告 Servlet 实现 购物
![提示](https://static.bdocx.com/images/bang_tan.gif)