資源簡介
初學者專用session會話對象做的購物車,就簡單是添加到購物車查詢,刪除商品等。。。

代碼片段和文件信息
package?action;
import?java.io.IOException;
import?java.util.ArrayList;
import?java.util.List;
import?javax.servlet.ServletException;
import?javax.servlet.http.HttpServlet;
import?javax.servlet.http.HttpServletRequest;
import?javax.servlet.http.HttpServletResponse;
import?javax.servlet.http.HttpSession;
import?entity.Cart;
import?entity.CartPO;
/**
?*?購物車應用
?*?@author?Administrator
?*
?*/
public?class?CartAction?extends?HttpServlet?{
???//1在Servlet中定義購物車數據集合對象
????List?list=null;
????public?void?doGet(HttpServletRequest?request?HttpServletResponse?response)
throws?ServletException?IOException?{
???? ?//6生成會話對象
????
HttpSession?session1=request.getSession();
HttpSession?session2=request.getSession(true);
HttpSession?session3=request.getSession(false);
/**
?*?httpsession會話對象
?*???創建時有兩種方法即
?*?????request.getSession()
?*?????request.getSession(boolean)
?*?????
?*???當getSession()無參時與getSession(true)時,功能一樣
?*???即,無論原來是否有會話產生,都會在本次給予session對象
?*???如果,原來有session對象,就直接調用
?*???如果,原來沒有session對象,就在服務器中新生成一個會話對象
?*???
?*???getSession(false)時,
?*???如果原來有session對象,就直接調用
?*???如果原來沒有就返回一個null值,給當前HttpSession對象
?*???
?*/
/**
?*?HttpSession對象的應用
?*?1?取值,存值,刪除值
?*?2?設定session的生命周期,與時間長度
?*?3?session對象失效
?*/
//1存值
/**
?*?將購物車對象,保存進入會話之中
?*/
session1.setAttribute(“cart“?list);
//2取值
//Type?mismatch:?cannot?convert?from?object?to?List
List?tempList=(List)session1.getAttribute(“cart“);
//3刪除
session1.removeAttribute(“cart“);
//4生命周期
//表示,當前session1會話對象可存活30分鐘
session1.setMaxInactiveInterval(30);
//5失效
?/**
??*?失效分為三種
??*???1?第一種,當生命周期時間過了,自動失效
??*???2?第二種,關閉當前瀏覽器窗口,session也會失效
??*???3?第三種,通過方法,將服務器中所有的session失效
??*?????方法:invalidate()?
??*?????
??*/
session1.invalidate();
????}
public?void?doPost(HttpServletRequest?request?HttpServletResponse?response)
throws?ServletException?IOException?{
??????//2設定字符集
request.setCharacterEncoding(“UTF-8“);
??//3開始獲取show.jsp中隱藏域中的sid值
String?sid=request.getParameter(“sid“);
String?number1=request.getParameter(“number1“);
??//4通過編號來查找
Cart?c=dao.cartDao.queryCart(Integer.parseInt(sid));
??//5開始封裝cartPo對象,即放入購物車時的商品對象
CartPO?cp=new?CartPO();
cp.setC(c);//將商品對象注入
cp.setNumber1(Integer.parseInt(number1));//將選購本商品的數量,注入
??//6?生成一個會話對象
HttpSession?session=request.getSession();
??//7進行判斷
if(session.getAttribute(“Cart“)==null){
//為null表示,當前購物行為,為第一次
//第一次購物時,我們需要對list,進行接口調用
list=new?ArrayList();
}else{
//不為null表示,當前購物行為,已經不是第一次了
//將會話對象中,保存的原有購物車對象,取出賦予當前list對象,以便進行購物操作
list=(List)session.getAttribute(“Cart“);
}
??//8將當前選購的商品對象,放入購物車對象中
boolean?flag=false;//表示新選購的商品對象不在購物車中
//開始循環購物車對象
for(CartPO?c2:list){
//如果購物車中的商品對象編號與新選購的商品對象編號一致
?if(c2.getC().getSId()==cp.getC().getSId()){
?//為真,表示選購數量增加即可
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????432??2011-07-07?11:34??cart\.classpath
?????文件????????285??2011-07-12?14:43??cart\.myme
?????文件???????1222??2011-07-07?11:46??cart\.project
?????文件????????615??2011-07-07?12:29??cart\SQLQuery1.sql
?????文件???????3907??2011-07-12?15:00??cart\src\action\CartAction.java
?????文件????????879??2011-07-07?11:56??cart\src\action\CartInitAction.java
?????文件???????1079??2011-07-10?12:40??cart\src\action\RemoveAction.java
?????文件???????1678??2011-07-07?11:30??cart\src\dao\cartDao.java
?????文件???????1171??2011-07-07?11:19??cart\src\dao\DBU.java
?????文件????????876??2011-07-07?12:13??cart\src\entity\Cart.java
?????文件????????413??2011-07-07?12:18??cart\src\entity\CartPO.java
?????文件??????28521??2011-07-07?11:07??cart\WebRoot\image\Blue?hills.jpg
?????文件??????71189??2011-07-07?11:07??cart\WebRoot\image\Sunset.jpg
?????文件??????83794??2011-07-07?11:07??cart\WebRoot\image\Water?lilies.jpg
?????文件?????105542??2011-07-07?11:07??cart\WebRoot\image\Winter.jpg
?????文件????????752??2011-07-07?11:50??cart\WebRoot\index.jsp
?????文件?????????39??2011-07-07?11:05??cart\WebRoot\me
?????文件???????1613??2011-07-10?12:35??cart\WebRoot\payList.jsp
?????文件???????1594??2011-07-07?12:10??cart\WebRoot\show.jsp
?????文件???????2810??2011-07-12?15:00??cart\WebRoot\WEB-INF\classes\action\CartAction.class
?????文件???????1325??2011-07-12?14:43??cart\WebRoot\WEB-INF\classes\action\CartInitAction.class
?????文件???????1531??2011-07-12?14:43??cart\WebRoot\WEB-INF\classes\action\RemoveAction.class
?????文件???????2416??2011-07-12?14:43??cart\WebRoot\WEB-INF\classes\dao\cartDao.class
?????文件???????1635??2011-07-12?14:43??cart\WebRoot\WEB-INF\classes\dao\DBU.class
?????文件???????1494??2011-07-12?14:43??cart\WebRoot\WEB-INF\classes\entity\Cart.class
?????文件????????691??2011-07-12?14:43??cart\WebRoot\WEB-INF\classes\entity\CartPO.class
?????文件?????231949??2011-07-07?11:34??cart\WebRoot\WEB-INF\lib\sqljdbc.jar
?????文件???????1185??2011-07-10?12:26??cart\WebRoot\WEB-INF\web.xm
?????目錄??????????0??2011-07-20?00:30??cart\WebRoot\WEB-INF\classes\action
?????目錄??????????0??2011-07-20?00:30??cart\WebRoot\WEB-INF\classes\dao
............此處省略16個文件信息
評論
共有 條評論