jsp实验应用Servlet实现购物车讲解

应用Servlet实现购物车具体实现过程1、创建封装商品信息的值JavaBean---------GoodsSinglepackagecom.yxq.valuebean;publicclassGoodsSingle{privateStringname;//保存商品名称//保存商品价格privatefloatprice;privateintnum;保存商品购买数量//publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicintgetNum(){returnnum;}publicvoidsetNum(intnum){this.num=num;}publicfloatgetPrice(){returnprice;}publicvoidsetPrice(floatprice){this.price=price;}}2、创建工具JavaBean--------MyTools实现字符型数据转换为整型及乱码处理packagecom.yxq.toolbean;importjava.io.UnsupportedEncodingException;publicclassMyTools{publicstaticintstrToint(Stringstr){//将String型数据转换为int型数据的方法if(str==null||str.equals(\))str=inti=0;try{转换成str把//i=Integer.parseInt(str);int类型的变量}catch(NumberFormatExceptione){//try-catch就是监视try中的语句,如果抛出catch中声明的异常类型i=0;e.printStackTrace();//把Exception的详细信息打印出来}returni;}进行转码操作//publicstaticStringtoChinese(Stringstr){的方法if(str==null)str=\;try{str=newString(str.getBytes(ISO-8859-1),gb2312);}catch(UnsupportedEncodingExceptione){str=\;e.printStackTrace();}returnstr;}}3、创建购物车JavaBean------ShopCar实现添加、删除,购物车制作packagecom.yxq.toolbean;packagecom.yxq.toolbean;importjava.util.ArrayList;importcom.yxq.valuebean.GoodsSingle;publicclassShopCar{privateArrayListbuylist=newArrayList();//用来存储购买的商品publicvoidsetBuylist(ArrayListbuylist){this.buylist=buylist;}/**功能向购物车中添加商品*@类对象,封装了要添加的商为singleGoodsSingle*@参数品信息*/publicvoidaddItem(GoodsSinglesingle){if(single!=null){if(buylist.size()==0){//如果buylist中不存在任何商品GoodsSingletemp=newGoodsSingle();temp.setName(single.getName());temp.setPrice(single.getPrice());temp.setNum(single.getNum());buylist.add(temp);//存储商品}else{//如果buylist中存在商品inti=0;for(;i<buylist.size();i++){//遍历buylist集合对象,判断该集合中是否已经存在当前要添加的商品GoodsSingletemp=(GoodsSingle)buylist.get(i);//获取buylist集合中当前元素if(temp.getName().equals(single.getName())){//判断从buylist集合中获取的当前商品的名称是否与要添加的商品的名称相同只需要说明已经购买了该商品,如果相同,//将商品的购买数量加1temp.setNum(temp.getNum()+1);//将商品购买数量加1break;//结束for循环}}if(i>=buylist.size()){//说明buylist中不存在要添加的商品GoodsSingletemp=newGoodsSingle();temp.setName(single.getName());temp.setPrice(single.getPrice());temp.setNum(single.getNum());buylist.add(temp);//存储商品}}}}/**从购物车中移除指定名称的商品功能*@表示商品名称name参数*@*/publicvoidremoveItem(Stringname){for(inti=0;i<buylist.size();i++){//遍历buylist集合,查找指定名称的商品GoodsSingletemp=(GoodsSingle)buylist.get(i);//获取集合中当前位置的商品if(temp.getName().equals(name)){//参数指定的名称如果商品的名称为name//如if(temp.getNum()>1){1果商品的购买数量大于//temp.setNum(temp.getNum()-1);1则将购买数量减//break;循环结束for}//elseif(temp.getNum()==1){1如果商品的购买数量为从//buylist.remove(i);buylist集合对象中移除该商品}}}}}4、创建实例首页面index.jsp,初始化商品信息<%@pagecontentType=ext/html;charset=gb2312%><jsp:forwardpage=\/index\/>5、创建处理用户访问首页面请求的Servlet---IndexServletpackagecom.yxq.servlet;importjava.io.IOException;importjava.util.ArrayList;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?