一起学习
用servlet实现一个简单的购物车程序
作者:jackliu
e-mail:suntoday@eyou.com
理解Servelt的Session对象
使用Java Servlet API的会话对象为每个用户提供了跟踪会话的方式,其中有一种方式的实现是利用
HttpSession对象,HttpSession对象用来在当前servlet环境中存储会话数据,HttpSession对象由
HttpSession接口定义,HttpSession对象可以使用HttpServletRequest对象的getSession()方法获得。
HttpSession对象的方法列表:
_________________________________________________________________
方法 描述
long getCreationTime() 返回会话创建时间
String getID() 返回会话ID
long getLastAccessedTime() 返回上一次携带这个ID的请求时间
void invalidate() 删除当前会话
boolean isNew() 如果会话已创建并未发送到浏览器返回true
String[] getValueNames() 返回为本次会话存储的所有值的名字数组
object getValue(string name) 返回给定名字的值
void putValue(String name,object value) 将一个值增加到会话
void removeValue(String name) 从会话中删除一个条目
int setMaxInactiveInterval(int interval)设置请求之间的会话存活时间
int getMaxInactiveInterval() 返回请求之间的会话存活时间
_________________________________________________________________
购物车样例
假定一个Web顾客通过网页访问一个商店的销售商品目录,当看到感兴趣商品后,放到自己的购物车中
,系统应该记录下一个顾客所购买的全部商品清单。
实现这样一个功能的servlet,首先我们需要设计一个Web页面,用来列出商店中所有的商品目录:
shop.html文件清单:
当顾客点击"buy now"按钮后,将请求提交给一个Servlet,servlet程序用来对顾客的操作进行处理,
记录下顾客所购买的商品,并显示出目前顾客将要购买的所有商品清单。
ShoppingCart.java
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class ShoppingCart extends HttpServlet {
public void doPost(HttpServletRequest req,HttpServletResponse res) throws
ServletException ,IOException{
//取得Session对象
//如果Session不存在,为本次会话创建此对象
HttpSession session =req.getSession(true);
Integer itemCount=(Integer)session.getValue("itemCount");
//如果session是新的
if (itemCount==null)
itemCount=new Integer(0);
PrintWriter out=res.getWriter();
res.setContentType("text/html");
//接收传来的参数
String[] itemsSelected;
String itemName;
itemsSelected=req.getParameterValues("item");
if(itemsSelected !=null){
for(int i=0;i");
out.println("");
out.println("item list");
out.println("");
out.println(" Session List:
");
for(int i=1;i<=itemCount.intValue();i ){
out.println((String)session.getValue("item" i) " ");
}
out.println("
");
out.println("
|