实验2:运用JSP编写动态网页
一.选题问题
1)编写一个购物车,实现向购物车里添加商品、移除指定商品和清空购物车的功能 2)延续实验一
二.程序设计
1.功能
1)购物车:可以实现向购物车里添加指定商品,移除指定商品,清空购物车的基本功能,另外还可以实现简单的结算功能。
2)实验一延续:实现登录、以及同一用户不能重复登录的功能 2.技术
1)必用技术:
JSP内置对象:Request,Response 2)选用技术:
JSP、JavaScript:Session,application
三.数据设计
1.含义
1)购物车:
1>goods.html:用来显示商品清单,选择购买数量,以及添加到购物车
2>cart.jsp:用来查看添加到购物车的商品,实现商品的删除,以及返回购物页面继续添加或者跳转到结算页面支付。使用了request获得信息,session创建表单,调用了自创建的hzsb类。
3>hzsb.jsp:定义了一个“汉子识别”的类,该类可以把从页面中获取的汉子自动转换成单字节编码,并在显示时再转换回来。
4>cost.jsp:结算页面。负责将购物车里所有的商品及数量显示出来并且进行统计,得到总计钱数。使用了request获得信息,session创建表单,调用hzsb类。 2)实验一添加功能
1>web.html:显示实验一中的页面,其中“登录”超链接到index.jsp;“注册”超链接到count.jsp。
2>index.jsp:登录页面。用于用户名和密码的输入,输入完成后点击“确定”,可以跳转到rsInfo.jsp页面查看所输入的信息是否保存。 3>rsInfo.jsp:查看页面。该页面用于显示所输入的信息。另外该页面调用了response对象,用于显示当前的时间,并用于页面的刷新。 4>count.jsp:“同一用户只能登录一次页面”,即用户一旦登录就不能够通过反复刷新页面造成“多次登录”的假象。该页面调用了application对象,用于覆盖掉刷新的次数。 2.作用范围 1)购物车
1>goods.html:
作用于“购物车实例”页面,代码如下
显示效果如下图:(购买数量的初始值设为1,可通过输入修改;点击“放到购物车”即可 跳转到“我的购物车页面”)
2>cart.jsp:
作用于“我的购物车”页面,代码如下:
<%@ page language=\<%@ page import=\<%@ include file=\
<% String[] goods=new String[4];
goods[0]=request.getParameter(\ goods[1]=request.getParameter(\ goods[2]=request.getParameter(\ goods[3]=request.getParameter(\
Vector goodslist=(Vector)session.getAttribute(\
if(goodslist==null) { goodslist=new Vector(); goodslist.addElement(goods); } else
{ goodslist.addElement(goods); if(request.getParameter(\ { String delgoods=request.getParameter(\ goodslist.removeElementAt(Integer.parseInt(delgoods)); } }
session.setAttribute(\ %>
<% if(goodslist!=null) for(int x=0;x buygoods=(String[])goodslist.elementAt(x); if(buygoods[0]!=null) {String sm=hzsb(buygoods[0]); String cbs=hzsb(buygoods[2]); %> <%}} %> cellspacing=\
-------------------------------------------------------------------------------------------------------------------------------
显示效果如下图所示:(通过点击“继续购买商品”返回购物车页面,继续添加;通过点击“从购物车中删除”删除已购的商品;通过点击“结算中心”跳转到结算页面)