实验2:运用JSP编写动态网页
一.选题问题
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:
作用于“购物车实例”页面,代码如下
<html>
伊能静原名 <head>
<title>购物车实例</title>
</head>
<body>
<h1 align="center">购 物 车</h1>
<table width="90%" border="0" align="center" cellpadding="10" cellspacing="1" bgcolor="#CC9900">
<tr>
<td width="30%"> 书名</td>
<td width="10%">单价<br></td>
<td width="30%">出版社<br></td>地下城公会
<td width="30%">购买数量<br></td>
</tr>
<tr>
<td bgcolor="#FFFFCC"> 安徒生童话</td>
<td bgcolor="#FFFFCC">45.00<br></td>
<td bgcolor="#FFFFCC">教育出版社<br></td>
<td bgcolor="#FFFFCC">
<form method="post" action="cart.jsp">
<input type="text" name="num" value="1" size="3">
<input type="submit" name="button6" value="放到购物车">
<input type="hidden" name="sm" value="安徒生童话">
<input type="hidden" name="cost" value="45.00">
<input type="hidden" name="cbs" value="教育出版社">
</form>
</td>
</tr>
<tr>
<td bgcolor="#FFFFCC"> 格林童话</td>
<td bgcolor="#FFFFCC">30.00<br></td>
<td bgcolor="#FFFFCC">教育出版社<br></td>
<td bgcolor="#FFFFCC">
<form method="post" action="cart.jsp">
<input type="text" name="num" value="1" size="3">
<input type="submit" name="button7" value="放到购物车">
<input type="hidden" name="sm" value="格林童话">
<input type="hidden" name="cost" value="30.00">
宋茜综艺 <input type="hidden" name="cbs" value="教育出版社">
</form>
</td>
剃须刀什么样的好 </tr>
</table>
</body>
</html>
显示效果如下图:(购买数量的初始值设为1,可通过输入修改;点击“放到购物车”即可
跳转到“我的购物车页面”)
2>cart.jsp:
作用于“我的购物车”页面,代码如下:
<%@ page language="java" contentType="text/html; charset=gb2312"%>
<%@ page import="java.util. * " %>
<%@ include file="hzsb.jsp" %>
车票查询 火车票<html>
<head>
<title>我的购物车</title>
</head>
<body>
<h1 align="center">已 购 商 品</h1>
<% String[] goods=new String[4];
goods[0]=Parameter("sm");
goods[1]=Parameter("cost");
goods[2]=Parameter("cbs");
goods[3]=Parameter("num");
Vector goodslist=(Vector)Attribute("goodscart");
if(goodslist==null)
李晨张馨予分手原因 { goodslist=new Vector();
goodslist.addElement(goods);
}
else
{ goodslist.addElement(goods);
if(Parameter("delgoods")!=null)
{ String delgoods=Parameter("delgoods");
veElementAt(Integer.parseInt(delgoods));
}
}
session.setAttribute("goodscart",goodslist);
%>
<table width="90%" border="0" align="center" cellpadding="10" cellspacing="1" bgcolor="#CC9900">
<tbody><tr>
<td width="30%"> 书名</td>
<td width="10%">单价 </td>
<td width="30%">出版社 </td>
<td width="10%">购买 </td>
<td width="20%">删除 </td>
</tr>
<% if(goodslist!=null)
for(int x=0;x<goodslist.size();x++)
发布评论