package?servlet;import?java.io.IOException;import?java.io.PrintWriter;import?javax.servlet.ServletException;import?javax.servlet.annotation.WebServlet;import?javax.servlet.http.HttpServlet;import?javax.servlet.http.HttpServletRequest;import?javax.servlet.http.HttpServletResponse;import?dao.ItemsDAO;import?entity.Cart;import?entity.Items;/**?*?Servlet?implementation?class?CartServlet?*/@WebServlet("/CartServlet")public?class?CartServlet?extends?HttpServlet?{ private?static?final?long?serialVersionUID?=?1L; private?String?action;//表示購(gòu)物車的動(dòng)作?,add,show,delete private?ItemsDAO?idao?=?new?ItemsDAO();//商品業(yè)務(wù)邏輯類的對(duì)象,比如根據(jù)編號(hào)獲得商品???????????/**?????*?@see?HttpServlet#HttpServlet()?????*/????public?CartServlet()?{????????super();????????//?TODO?Auto-generated?constructor?stub????} /** *?@see?HttpServlet#doGet(HttpServletRequest?request,?HttpServletResponse?response) */ protected?void?doGet(HttpServletRequest?request,?HttpServletResponse?response)?throws?ServletException,?IOException?{ //?TODO?Auto-generated?method?stub doPost(request,?response); } /** *?@see?HttpServlet#doPost(HttpServletRequest?request,?HttpServletResponse?response) */ protected?void?doPost(HttpServletRequest?request,?HttpServletResponse?response)?throws?ServletException,?IOException?{ //?TODO?Auto-generated?method?stub response.setContentType("text/html;charset=utf-8"); PrintWriter?out?=?response.getWriter(); if(request.getParameter("action")!=null) { //把獲得的動(dòng)作賦給action屬性 this.action?=?request.getParameter("action"); if(action.equals("add"))?//如果是添加商品進(jìn)購(gòu)物車 { if(addToCart(request,response)) { request.getRequestDispatcher("/success.jsp").forward(request,?response); } else { request.getRequestDispatcher("/failure.jsp").forward(request,?response); } } if(action.equals("show"))//如果是顯示購(gòu)物車 { request.getRequestDispatcher("/cart.jsp").forward(request,?response); } if(action.equals("delete"))?//如果是執(zhí)行刪除購(gòu)物車中的商品 { if(deleteFromCart(request,response))//如果刪除成功 { request.getRequestDispatcher("/cart.jsp").forward(request,?response); } else { request.getRequestDispatcher("/cart.jsp").forward(request,?response); } } } } //添加商品進(jìn)購(gòu)物車的方法 private?boolean?addToCart(HttpServletRequest?request,?HttpServletResponse?response) { String?id=request.getParameter("id"); String?number=request.getParameter("num"); Items?item=idao.getItemsById(Integer.parseInt(id));//根據(jù)商品id獲取商品資料 //是否第一次給購(gòu)物車添加商品。若是,則session中以前沒有購(gòu)物車對(duì)象 if(request.getSession().getAttribute("cart")==null) { Cart?cart=?new?Cart(); request.getSession().setAttribute("cart",?cart); } //若不是第一次購(gòu)買則直接獲得一個(gè)cart對(duì)象 Cart?cart=(Cart)?request.getSession().getAttribute("cart"); if(cart.addGoodsInCart(item,?Integer.parseInt(number))) { return?true; } else { return?false; } } private?boolean?deleteFromCart(HttpServletRequest?request,?HttpServletResponse?response) { String?id?=?request.getParameter("id"); Cart?cart?=?(Cart)request.getSession().getAttribute("cart"); ????Items?item?=?idao.getItemsById(Integer.parseInt(id)); ????if(cart.removeGoodsInCart(item)) ????{ ???? return?true; ????} ????else ????{ ???? return?false; ????} }}
?<%@?page?language="java"?import="java.util.*"?contentType="text/html;?charset=utf-8"?%><%@?page?import="entity.Items"%><%@?page?import="dao.ItemsDAO"%><%String?path?=?request.getContextPath();String?basePath?=?request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"><html>??<head>????<base?href="<%=basePath%>">????????<title>My?JSP?'details.jsp'?starting?page</title>???? <meta?http-equiv="pragma"?content="no-cache"> <meta?http-equiv="cache-control"?content="no-cache"> <meta?http-equiv="expires"?content="0">???? <meta?http-equiv="keywords"?content="keyword1,keyword2,keyword3"> <meta?http-equiv="description"?content="This?is?my?page"> <!-- <link?rel="stylesheet"?type="text/css"?href="styles.css"> --> <link?href="css/main.css"?rel="stylesheet"?type="text/css"> <script?type="text/javascript"?src="js/lhgcore.js"></script>????<script?type="text/javascript"?src="js/lhgdialog.js"></script>????<script?type="text/javascript">??????function?selflog_show(id)??????{??????????var?num?=??document.getElementById("number").value;??????????J.dialog.get({id:?'haoyue_creat',title:?'購(gòu)物成功',width:?600,height:400,? link:?'<%=path%>/servlet/CartServlet?id='+id+'&num='+num+'&action=add',?cover:true});??????}??????function?add()??????{?????????var?num?=?parseInt(document.getElementById("number").value);?????????if(num<100)?????????{????????????document.getElementById("number").value?=?++num;?????????}??????}??????function?sub()??????{?????????var?num?=?parseInt(document.getElementById("number").value);?????????if(num>1)?????????{????????????document.getElementById("number").value?=?--num;?????????}??????}?????????</script> ????<style?type="text/css"> ???hr{ ????? ?????border-color:FF7F00;? ???} ??? ???div{ ??????float:left; ??????margin-left:?30px; ??????margin-right:30px; ??????margin-top:?5px; ??????margin-bottom:?5px; ????? ???} ???div?dd{ ??????margin:0px; ??????font-size:10pt; ???} ???div?dd.dd_name ???{ ??????color:blue; ???} ???div?dd.dd_city ???{ ??????color:#000; ???} ???div?#cart ???{ ?????margin:0px?auto; ?????text-align:right;? ???} ???span{ ?????padding:0?2px;border:1px?#c0c0c0?solid;cursor:pointer; ???} ???a{ ??????text-decoration:?none;? ???} </style>??</head>????<body>????<h1>商品詳情</h1>????<a?href="index.jsp">首頁</a>?>>?<a?href="index.jsp">商品列表</a>????<hr>????<center>??????<table?width="750"?height="60"?cellpadding="0"?cellspacing="0"?border="0">????????<tr>??????????<!--?商品詳情?-->??????????<%??????????????ItemsDAO?itemDao?=?new?ItemsDAO();?????????????Items?item?=?itemDao.getItemsById(Integer.parseInt(request.getParameter("id")));?????????????if(item!=null)?????????????{??????????%>??????????<td?width="70%"?valign="top">?????????????<table>???????????????<tr>?????????????????<td?rowspan="5"><img?src="images/<%=item.getPicture()%>"?width="200"?height="160"/></td>???????????????</tr>???????????????<tr>?????????????????<td><B><%=item.getName()?%></B></td>????????????????</tr>???????????????<tr>?????????????????<td>產(chǎn)地:<%=item.getCity()%></td>???????????????</tr>???????????????<tr>?????????????????<td>價(jià)格:<%=item.getPrice()?%>¥</td>???????????????</tr>???????????????<tr>?????????????????<td>購(gòu)買數(shù)量:<span?id="sub"?onclick="sub();">-</span><input?type="text"?id="number"?name="number"?value="1"?size="2"/><span?id="add"?onclick="add();">+</span></td>???????????????</tr>??????????????</table>?????????????<div?id="cart">???????????????<img?src="images/buy_now.png">???????????????<a?href="javascript:selflog_show(<%=item.getId()%>)"><img?src="images/in_cart.png"></a>???????????????<a?href="servlet/CartServlet?action=show"><img?src="images/view_cart.jpg"/></a>?????????????</div>??????????</td>??????????<%?????????????}??????????%>??????????<%???????????????String?list?="";??????????????//從客戶端獲得Cookies集合??????????????Cookie[]?cookies?=?request.getCookies();??????????????//遍歷這個(gè)Cookies集合??????????????if(cookies!=null&&cookies.length>0)??????????????{ ??????????????for(Cookie?c:cookies) ??????????????{ ??????????????????if(c.getName().equals("ListViewCookie")) ??????????????????{ ?????????????????????list?=?c.getValue(); ??????????????????} ??????????????} ??????????}????????????????????????????list+=request.getParameter("id")+"#";??????????????//如果瀏覽記錄超過1000條,清零.??????????????String[]?arr?=?list.split("#");??????????????if(arr!=null&&arr.length>0)??????????????{??????????????????if(arr.length>=1000)??????????????????{??????????????????????list="";??????????????????}??????????????}??????????????Cookie?cookie?=?new?Cookie("ListViewCookie",list);??????????????response.addCookie(cookie);????????????????????%>??????????<!--?瀏覽過的商品?-->??????????<td?width="30%"?bgcolor="#EEE"?align="center">?????????????<br>?????????????<b><font?color="#FF7F00">您瀏覽過的商品</font></b><br>?????????????<!--?循環(huán)開始?-->?????????????<%?????????????????ArrayList<Items>?itemlist?=?itemDao.getViewList(list);????????????????if(itemlist!=null&&itemlist.size()>0?)????????????????{???????????????????System.out.println("itemlist.size="+itemlist.size());???????????????????for(Items?i:itemlist)???????????????????{??????????????????????????????????????%>?????????????<div>?????????????<dl>???????????????<dt>?????????????????<a?href="details.jsp?id=<%=i.getId()%>"><img?src="images/<%=i.getPicture()?%>"?width="120"?height="90"?border="1"/></a>???????????????</dt>???????????????<dd?class="dd_name"><%=i.getName()?%></dd>????????????????<dd?class="dd_city">產(chǎn)地:<%=i.getCity()?%> 價(jià)格:<%=i.getPrice()?%>?¥?</dd>??????????????</dl>?????????????</div>?????????????<%????????????????????}????????????????}?????????????%>?????????????<!--?循環(huán)結(jié)束?-->??????????</td>????????</tr>??????</table>????</center>??</body></html>
<%@?page?language="java"?import="java.util.*"?contentType="text/html;?charset=utf-8"?%><%@?page?import="entity.Cart"?%><%@?page?import="entity.Items"?%><%String?path?=?request.getContextPath();String?basePath?=?request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"><html>??<head>????<base?href="<%=basePath%>">????????<title>My?JSP?'cart.jsp'?starting?page</title>???? <meta?http-equiv="pragma"?content="no-cache"> <meta?http-equiv="cache-control"?content="no-cache"> <meta?http-equiv="expires"?content="0">???? <meta?http-equiv="keywords"?content="keyword1,keyword2,keyword3"> <meta?http-equiv="description"?content="This?is?my?page"> <!-- <link?rel="stylesheet"?type="text/css"?href="styles.css"> --> <link?type="text/css"?rel="stylesheet"?href="css/style1.css"?/>????<script?language="javascript"> ????function?delcfm()?{ ????????if?(!confirm("確認(rèn)要?jiǎng)h除?"))?{ ????????????window.event.returnValue?=?false; ????????} ????}???</script>??</head>????<body><h1>我的購(gòu)物車</h1>???<a?href="index.jsp">首頁</a>?<a?href="index.jsp">商品列表</a>???<hr>????<div?id="shopping">???<form?action=""?method=""> <table> <tr> <th>商品名稱</th> <th>商品單價(jià)</th> <th>商品價(jià)格</th> <th>購(gòu)買數(shù)量</th> <th>操作</th> </tr> <%? ???//首先判斷session中是否有購(gòu)物車對(duì)象 ???if(request.getSession().getAttribute("cart")!=null) ???{ %> <!--?循環(huán)的開始?--> ?????<%? ????? ?//先獲得一個(gè)購(gòu)物車 ?????????Cart?cart?=?(Cart)request.getSession().getAttribute("cart"); ?????????//接下來開始遍歷購(gòu)物車 ?????????HashMap<Items,Integer>?goods?=?cart.getGoods(); ?????????//先獲得鍵的集合 ?????????Set<Items>?items?=?goods.keySet(); ?????????Iterator<Items>?it?=?items.iterator(); ????????? ?????????while(it.hasNext()) ?????????{ ????????????Items?i?=?it.next(); ?????%>? <tr?name="products"?id="product_id_1"> <td?class="thumb"><img?src="images/<%=i.getPicture()%>"?/><a?href=""><%=i.getName()%></a></td> <td?class="number"><%=i.getPrice()?%></td> <td?class="price"?id="price_id_1"> <span><%=i.getPrice()*goods.get(i)?%></span> <input?type="hidden"?value=""?/> </td> <td?class="number">????????????????????? <%=goods.get(i)/*獲得否買數(shù)量*/%> </td>????????????????????????????????????????????<td?class="delete"> ??<a?href="servlet/CartServlet?action=delete&id=<%=i.getId()%>"?onclick="delcfm();">刪除</a> ?????????????????? </td> </tr> ?????<%? ?????????} ?????%> <!--循環(huán)的結(jié)束--> </table> <div?class="total"><span?id="total">總計(jì):<%=cart.getTotalPrice()?%>¥</span></div> ??<%? ????} %> <div?class="button"><input?type="submit"?value=""?/></div> </form> </div>??</body></html>
<%@?page?language="java"?import="java.util.*"?contentType="text/html;?charset=utf-8"?%><%String?path?=?request.getContextPath();String?basePath?=?request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"><html>??<head>????<base?href="<%=basePath%>">????????<title>My?JSP?'success.jsp'?starting?page</title>???? <meta?http-equiv="pragma"?content="no-cache"> <meta?http-equiv="cache-control"?content="no-cache"> <meta?http-equiv="expires"?content="0">???? <meta?http-equiv="keywords"?content="keyword1,keyword2,keyword3"> <meta?http-equiv="description"?content="This?is?my?page"> <!-- <link?rel="stylesheet"?type="text/css"?href="styles.css"> -->??</head>????<body>????<center>??????<img?src="images/add_cart_success.jpg"/>??????<hr>??????<%??????????String?id?=?request.getParameter("id");?????????String?num?=?request.getParameter("num");??????%>?????????????您成功購(gòu)買了<%=num%>件商品編號(hào)為<%=id%>的商品 ??????<br>??????<br>??????<br>??????????</center>??</body></html>
2018-09-22
代碼格式整理一下啊。。。這么亂怎么看
2018-11-23
代碼格式太亂了,ctrl+shift+F鍵格式化一下代碼再發(fā)出來吧。