用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 itemName=itemsSelected[i]; System.out.println(itemName); itemCount=new Integer(itemCount.intValue()+1); //购买的条目 session.putValue("item"+itemCount,itemName); //总条目 session.putValue("itemCount",itemCount); } } out.println("<html>"); out.println("<title>"); out.println("item list"); out.println("</title>"); out.println("<body><hr>Session List:</h4><br><br>"); for(int i=1;i<=itemCount.intValue();i++){ out.println((String)session.getValue("item"+i)+"<hr>"); } out.println("</body>"); out.println("</html>"); out.close(); } }
|
本例程序实现了一个简单的购物车程序,目的是通过购物车程序让网友了解HttpSession类在servlet中
的用法和实现一个购物车的基本思路。
打包下载源程序文件