我正在開發一個購物項目。我想要做的是存儲用戶點擊「添加到購物車」的產品的產品ID(pid)在java servlet中恢復cookie中存儲的pid的值
我在所有調用servlet的產品上都有此類html代碼「Cart.java 「,各自的PIDS:
Product1: <a href=Cart?product=1>add to cart?</a> //here 1 is the pid
Product2: <a href=Cart?product=2>add to cart?</a> //here 2 is the pid
單個網頁上有多個產品,有不同類型的產品(該頁面使用JDBC動態創建的)相關聯的不同的網頁。
我想要的是所有在其用戶點擊「加入購物車」的產品,PID被存儲的地方(我使用的cookie,因爲我認爲這將工作..會嗎?) 後來我應該能夠在另一個頁面上獲得所有這些PID(當用戶點擊「帶我去我的購物車」),以便我可以從數據庫中顯示他們的詳細信息,並詢問用戶是否想要購買它們。
的「帶我到我的車」超鏈接調用另一個servlet ViewCart:
<a href="ViewCart">Take me to my cart</a>
上的servlet cart.java該Cookie代碼:
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id=request.getParameter("product").trim();
Cookie ck=new Cookie("pid",id);//creating cookie object
response.addCookie(ck);
RequestDispatcher rd=request.getRequestDispatcher("product.jsp");
rd.include(request, response);
}
「product.jsp 「是顯示產品的頁面。
代碼在servlet的ViewCart.java是:
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
Cookie ck[]=request.getCookies();
for(Cookie i: ck)
{
if(i.getName().equals("pid"))
out.print(ck.toString()+"</br>");
}
RequestDispatcher rd=request.getRequestDispatcher("cart.jsp");
rd.include(request, response);
}
但這不工作我是初學者所以不知道是不是我做錯了。我也想在用戶註銷後立即銷燬cookie中的值。也告訴我,如果不是餅乾,我還應該使用什麼?
我想我搞砸了一切。 :(
什麼問題?您可以將任何您想要的方法添加到Cart類,getItem(),getTotalPrice(),您可以將其命名。 req.getSession()爲您提供當前用戶的HttpSession,並且您可以將Cart對象放入並從中取出 – Raffaele
不,我在問我的答案有什麼問題,因爲我無法簡化它。您的用戶有一個會話,會話有一個購物車,並提供兩個servlet將物品放入購物車並查看其內容 – Raffaele
您的手臂上有一張地圖,一張清單,一個紋身,無論您爲什麼工作 – Raffaele