Ⅰ 如何用java和jsp做一個簡單的購物車
頁面jsp :
<%@pagelanguage="java"contentType="text/html;charset=utf-8"
pageEncoding="utf-8"%>
<%@taglibprefix="c"uri="
<%@tagliburi="
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""
<htmlxmlns="
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>易買網-首頁</title>
<linktype="text/css"rel="stylesheet"href="${pageContext.request.contextPath}/css/style.css"/>
<scripttype="text/javascript"src="${pageContext.request.contextPath}/js/jquery-2.1.1.js"></script>
<scripttype="text/javascript">
varcontextPath='${pageContext.request.contextPath}'
</script>
<scripttype="text/javascript"src="${pageContext.request.contextPath}/js/shopping.js"></script>
</head>
<body>
<jsp:includepage="top.jsp"/>
<divid="position"class="wrap">
您現在的位置:<ahref="Home">易買網</a>>購物車
</div>
<divclass="wrap">
<divid="shopping">
<formaction=""method="post">
<table>
<tr>
<th>商品名稱</th>
<th>商品價格</th>
<th>購買數量</th>
<th>操作</th>
</tr>
<c:forEachitems="${sessionScope.shopCar}"var="item"varStatus="status">
<trid="proct_id_${item.proId}">
<tdclass="thumb"><imgsrc="${item.proImg}"height="50"width="30"/><ahref="Proct?action=view&entityId=${item.proId}">${item.proName}</a></td>
<tdclass="price"id="price_id_1">
<span><fmt:formatNumbervalue="${item.proPrice}"type="NUMBER"minFractionDigits="2"/></span>
<inputtype="hidden"value="${item.proPrice}"/>
</td>
<tdclass="number">
<dl>
<dt><spanonclick="sub('number_id_${item.proId}','${item.proId}')">-</span><inputid="number_id_${item.proId}"type="text"readonly="readonly"name="number"value="${item.proNum}"/><spanonclick="addNum('number_id_${item.proId}','${item.proId}')">+</span></dt>
</dl>
</td>
<tdclass="delete"><ahref="javascript:deleteItem('proct_id_${item.proId}','${item.proId}')">刪除</a></td>
</tr>
</c:forEach>
</table>
<divclass="button"><inputtype="submit"value=""/></div>
</form>
</div>
</div>
<divid="footer">
Copyright&;kaka292817678itjob遠標培訓.
</div>
</body>
</html>
頁面關聯的js 自己去網上下載一個jquery
/*數量減少*/
functionsub(id,proId){
//購買數量的值
varnum=$('#'+id).val();
if(num>1){
$('#'+id).val(num-1);
}
edit(id,proId);
}
functionedit(id,proId){
varurl=contextPath+'/HomeCarManager'
//修改後的數量,購物明細的商品的id
num=$('#'+id).val();
$.post(url,{"num":num,"proId":proId},function(msg){
/*
if(msg=='true'){
alert('修改成功');
}else{
alert('修改失敗');
}*/
});
}
/**
*數量增加
*@param{}id
*/
functionaddNum(id,proId){
//購買數量的值
varnum=$('#'+id).val();
$('#'+id).val(parseInt(num)+1);
edit(id,proId);
}
/**
*刪除購物明細
*/
functiondeleteItem(trId,proId){
//
//console.log($("#"+trId));
//js刪除頁面節點
//$("#"+trId).remove();
varurl=contextPath+'/HomeCarManager'
$.post(url,{"proId":proId},function(msg){
if(msg=='true'){
//js刪除頁面節點
$("#"+trId).remove();
}
});
}
後台servlet1
packagecom.kaka.web;
importjava.io.IOException;
importjava.io.PrintWriter;
importjava.util.ArrayList;
importjava.util.List;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
/**
*購物車處理類
*@author@authorITJob遠標培訓
*
*/
importcom.kaka.entity.Items;
importcom.kaka.entity.Proct;
importcom.kaka.service.ProctService;
importcom.kaka.service.impl.ProctServiceImpl;
{
=1L;
ProctServiceps=newProctServiceImpl();
@Override
protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{
//獲取商品的id
StringproId=req.getParameter("proId");
resp.setContentType("text/html;charset=UTF-8");
PrintWriterwriter=resp.getWriter();
if(null!=proId&&!"".equals(proId)){
//返回添加購物車成功
//System.out.println("============="+proId);
//根據商品的id查詢商品
try{
IntegerpId=Integer.parseInt(proId);
Proctproct=ps.findProctById(pId);
if(null!=proct){
//查詢到了商品,將商品的相關參數構建一個購物明細放入到購物車
Itemsit=newItems();
it.setProId(proct.getProId());
it.setProName(proct.getProName());
it.setProPrice(proct.getProPrice());
it.setProImg(proct.getProImg());
//先判斷session范圍是否有購物車
List<Items>shopCar=(List<Items>)req.getSession().getAttribute("shopCar");
if(null==shopCar){
//購物車
shopCar=newArrayList<Items>();
}
//將商品加入到購物車之前,判斷購物車中是否已經包含了該購物明細,如果包含了,只需要修改購買的數量
if(shopCar.contains(it)){
intindex=shopCar.indexOf(it);//尋找購物車中包含購物明細在購物車中位置
Itemsitems=shopCar.get(index);//獲取購物車中存在的購物明細
items.setProNum(items.getProNum()+1);
}else{
shopCar.add(it);
}
//將購物車放入到session訪問
req.getSession().setAttribute("shopCar",shopCar);
//返回
writer.print(true);
}else{
writer.print(false);
}
}catch(Exceptione){
e.printStackTrace();
writer.print(false);
}
}else{
writer.print(false);
}
writer.flush();
writer.close();
}
@Override
protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{
doPost(req,resp);
}
}
後台管理servlet
packagecom.kaka.web;
importjava.io.IOException;
importjava.io.PrintWriter;
importjava.util.ArrayList;
importjava.util.List;
importjavax.mail.FetchProfile.Item;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
/**
*購物車修改
*@authorITJob遠標培訓
*
*/
importcom.kaka.entity.Items;
importcom.kaka.entity.Proct;
importcom.kaka.service.ProctService;
importcom.kaka.service.impl.ProctServiceImpl;
{
=1L;
ProctServiceps=newProctServiceImpl();
@Override
protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{
resp.setContentType("text/html;charset=UTF-8");
PrintWriterwriter=resp.getWriter();
//獲取參數
StringproId=req.getParameter("proId");
Stringnum=req.getParameter("num");
if(null!=proId&&null!=num
&&!"".equals(proId)&&!"".equals(num)){
try{
IntegerpId=Integer.parseInt(proId);
FloatpNum=Float.parseFloat(num);
//根據商品的id獲取對應的明細項
//先判斷session范圍是否有購物車
List<Items>shopCar=(List<Items>)req.getSession().getAttribute("shopCar");
for(Itemsit:shopCar){
if(it.getProId()==pId){
it.setProNum(pNum);
}
}
writer.print(true);
}catch(Exceptione){
e.printStackTrace();
}
}else{
//刪除的操作
try{
IntegerpId=Integer.parseInt(proId);
//根據商品的id獲取對應的明細項
//先判斷session范圍是否有購物車
List<Items>shopCar=(List<Items>)req.getSession().getAttribute("shopCar");
Itemsitems=null;
for(Itemsit:shopCar){
if(it.getProId()==pId){
items=it;
break;
}
}
if(null!=items){
shopCar.remove(items);
req.getSession().setAttribute("shopCar",shopCar);
}
writer.print(true);
}catch(Exceptione){
e.printStackTrace();
}
}
writer.flush();
writer.close();
}
@Override
protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{
doPost(req,resp);
}
}
Ⅱ jsp購物車代碼
//shopping.html
<html>
<head><title>shopping stor</title></head>
<body>
<form action="carts.jsp" target="post">
<br>
please select the item that you want to buy
<br>
<select name="item">
<option>book:old man and the sea
<option>x-box game machine
<option>mp3 player
<option>cce
<option>book:jsp programming
<option>cd "the endless love"
<option>dvd "gone with the wind"
</select>
<br>
<input type="submit" name="submit" value="add">
<input type="submit" name="submit" value="remove">
</form>
</body>
</html>
------------------------------------------------------------------
//carts.jsp
<%@page contentType="text/html;charset=ISO8859_1" %>
<html>
<jsp:useBean id="cart" scope="session" class="test.DummyCart"/>
<jsp:setProperty name="cart" property="*"/>
<%
cart.processRequest();
%>
<br>
<ol>
you have chosen these items:
<%
String []items=cart.getItems();
for(int i=0;i<items.length;i++)
{
%>
<li><%=items[i] %></li>
<%
}
%>
</ol>
<hr>
<%@include file="shopping.htm" %>
</html>
---------------------------------------------------------------------//DummyCart.java
package test;
import javax.servlet.http.*;
import java.util.Vector;
import java.util.Enumeration;
public class DummyCart
{
Vector v = new Vector();
String submit=null;
String item= null;
private void addItem(String name)
{
v.addElement(name);
}
private void removeItem(String name)
{
v.removeElement(name);
}
public void setItem(String s)
{
item=s;
}
public void setSubmit(String s)
{
submit=s;
}
public String[] getItems()
{
String []s=new String[v.size()];
v.Into(s);
return s;
}
public void processRequest()
{
if(submit==null)
addItem(item);
if(submit.equals("add"))
addItem(item);
else if (submit.equals("remove"))
removeItem(item);
reset();
}
private void reset()
{
submit=null;
item=null;
}
}
----------------------------------------------------------------------
上面是一個簡單的例子,功能都能實現,對網頁效果要求更漂亮些的可做一些修改。
Ⅲ 急求一個用jsp做的購物網站,可以連接到資料庫,實現注冊,購物車等功能
登錄注冊:
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<html>
<body>
<%
request.setCharacterEncoding("GB2312");
String username=request.getParameter("username");
String password=request.getParameter("password");
String sql="select * from user where username=? and password=?";
pstm=conn.prepareStatement(sql);
pstm.setString(1,username);
pstm.setString(2,password);
rs=pstm.executeQuery();
if(rs.next())
{
session.setAttribute("id",rs.getInt("userid"));
int id=rs.getInt("userid");
session.setAttribute("username",rs.getString("username"));
session.setAttribute("realname",rs.getString("realname"));
session.setAttribute("address",rs.getString("address"));
session.setAttribute("phone",rs.getString("phone"));
}
Integer userid=(Integer)session.getAttribute("id");
// System.out.println(userid);
if(userid==null)
{
%>
<table border=1>
<form action="" method="post">
<tr><td>用戶名:</td><td><input type="text" name="username"></td></tr>
<tr><td>密 碼:</td><td><input type="password" name="password"></td></tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="登錄" name="submit">
<a href="front/addUser.jsp">注冊</a></td>
</tr>
</form>
</table>
<% }
else
{%>
<table border=1>
<tr><td><%= session.getAttribute("username")%>歡迎光顧我的書店</td></tr>
<tr><td><a href="front/updateUser.jsp?userid=<%=userid %>">修改個人信息</a></td></tr>
<tr><td><a href="front/SelectShoppingCart.jsp">查看購物車</a></td></tr>
<tr><td><a href="front/exit.jsp">退出</a></td></tr>
</table>
<%}
%>
</body>
</html>
購物車部分代碼:
<%@ page language="java" import="java.util.*,com.javabean.*" pageEncoding="GB2312"%>
<%
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>
</head>
<body><center>
<a href="front/index.jsp"><img src="images/logo.gif" alt="" title="" border="0" /></a>
<%@ include file="menu.jsp"%>
<%@ include file="/DB.jsp" %>
<%@ include file="leftmenu.jsp"%> <table>
<tr>
<td colspan="8" id=s align="center"><h1>您的購物車</h1></td><br>
</tr>
<tr>
<td align="center">id</td><td align="center">名稱</td><td align="center">作者</td>
<td align="center">出版社</td><td align="center">單價</td><td align="center">數量</td>
<td align="center">總價</td><td align="center">操作</td>
</tr>
<%
int totalNum=0;
double totalMoney=0.0;
ArrayList <ShoppingCartObject> cart=(ArrayList)session.getAttribute("shoppingcart");
Iterator it =null;
if(cart!=null && cart.size()>0){
it=cart.iterator();
while(it.hasNext()){
ShoppingCartObject sco=(ShoppingCartObject)it.next();
totalNum=totalNum+sco.getBooknum();
totalMoney=totalMoney+sco.getSubmoney();
%>
<tr>
<td align="center"><%=sco.getId() %></td>
<td align="center"><%=sco.getName() %></td>
<td align="center"><%=sco.getAuthor()%></td>
<td align="center"><%=sco.getPublisher() %></td>
<td align="center"><%=sco.getUnitprice() %></td>
<td align="center"><%=sco.getBooknum() %></td>
<td align="center">¥<%=sco.getSubmoney() %>元</td>
<td align="center"><a href="front/DelFromShoppingCart.jsp?id=<%=sco.getId()%>">刪除</a>
<a href="front/bookdetail.jsp?id=<%=sco.getId()%>">詳細信息</a></td>
</tr>
<%
}
}
else{ %>
<tr><td colspan="8" align="right">您一共買了<%= totalNum%>本書 總價為¥<%=totalMoney %>元</td></tr>
<tr><td colspan="8" align="center">您的購物車為空</td></tr><%} %>
<tr><td colspan="1" align="center"><a href="front/ClearShoppingCart.jsp">清空購物車</a></td>
<td colspan="4" align="center"><a href="front/allbook.jsp">繼續購物</a></td>
<td colspan="3" align="center"><a href="front/makeorder.jsp">前往結賬</a></td>
</tr>
</table>
</body>
</html>
</body>
</html>
Ⅳ JSP 做網上商城系統時 在購物車上出了問題
你應該用一個集合類型,比如List來存儲你的商品信息。在每次添加新商品的時候,版就往這個集權合裡面添加商品信息!
例如:
List shoplist = new ArrayList();
request.getSession().setAttribute("c", shoplist );
這里做初始化的購物車。
如果添加了新商品,
List lis = request.getSession().setAttribute("c");
lis.add(cart)
request.getSession().setAttribute("c", lis);
這樣說LZ你明白了嗎?
Ⅳ jsp+mysql購物車示例
通過這個方抄法request.getsession().setAttribute("cart",購物車的數據);放入,然後需要提取的時候就通過request.getsession().getAttribute("cart");得到數據,然後在往資料庫裡面插就好了。
Ⅵ jsp+servlet怎樣實現網上購物車功能
利用cookie去寫應該可以
Ⅶ 用JSP做個網站實現購物車功能
建個購物車對象
把購買好的 商品 放到 一個 集合里
再把 集合 存到 session中
然後 增刪改查 都 操作 session中的 集合
就OK了 不是很難 你試著 寫下 這樣 提高才會快
Ⅷ 求jsp的購物車系統論文
希望採納還有表格圖 這里發不了
摘 要:隨著網路技術的發展,人們越來越享受網路給生活帶來的快捷與便利,網路購物是時下最時尚的一種購物方式。本文所述的網路購物 系統是基 於 Intemet的 B2C(BusinesstoConsumers)模式 ,根據 目前網路購物 系統的現狀而開發的一種電子商務 平台 ,介紹 了網路購物系統現狀及開發背景 ,並以JSP為開發平台,MySQL作為後台資料庫構建了簡單的網路購物系統。
關鍵 詞 :網路購物 系統 ;B/S結構 ;JSP;B2C
1網路購物系統概 述
1.1網路購物系統的發展過程與現狀隨著計算機網路化和經濟全球化成為不可抗拒的世界潮流以及信息媒體技術真正得到蓬勃發展而產生的新事物,電子商務有著發展潛力巨大的市場,具有誘人的發展前景。電子商務完備的雙向信息溝通、靈活的交易手段和快速的交貨方式將給我們帶來巨大的經濟效益 ,改進了傳統商務活動的形式,可以減低交易成本,增加貿易機會,簡化貿易流程,提高生產率,改善物流系統,代表著未來貿易方式發展的方向。
網路購物系統的開發成了IT領域的一項新課題,目前在我國主要採用 ASP與 PHP技術 ,而JSP技術最為一項新技術主要興起於國外各大商業網站,在國內尚屬於發展階段,國內門戶網站新浪、中國人等都是用的是 PHP技術,但因其自身存在一定缺陷,作為大型商業類網站的開發平台仍然存在一定弊端;而 ASP和 JSP不存在上述 問題 ,ASP獲取 ActiveX規模支持是通過 Windows的 COM/DCOM,獲取結 構支持是通過 Translation www.siyupaper.com Server;而 JSP則 是通過SUN的Java和 JavaClass獲取規模支持,通過全球各大知名軟體廠商一致認可 的 ApplicationServer獲得結構 支持 。通 過上 述 比較 ,顯然 JSP更具發展優勢,目前全球一些知名度較高的軟體公司對電子商務的解決問題都採用 JSP/Sevrlet。
1.2 網路購物系統開發的意義
當今世界網路 、通信和信息技術的發展,互聯網迅速遍及全球,商業發展空間逐步擴大 ,企業競爭更加激烈,只有不斷滿足客戶 日益增長的需求 ,才能主動佔領商機 ,網路購物時代的來臨迫使商家改變 自身傳統的經營模式 ,以適應新時代、新技術所帶來的商業變。因此,任何一個企業想要生存與發展,就必須迅速地改變傳統的經營觀念,跟上當今世界發展的最新潮流,加入到電子商務大潮中。根據系統描述 、商品特徵等信息測試測試模擬網路購物方式 ,此項測試的目的是發現功能錯誤與紕漏,數據結構不匹配等問題。系統測試包括登陸測試、修改信息測試、商品管理測試 、用戶管理測試等。
總結
本 文 綜 合 運 用 了 JSP、Struts2、Hibernate、Ajax、CSS、HTML、
JavaScript、DBCP/JDBC、XML、Properties、MySQL等技術 ,對 目前 比較
流行的網路購物系統進行了開發與測試,採用 JSP技術來完成表示層的顯示 ,用 Struts2技術來實現控制層 ,用 Hibenrate技術實現數據的持久化,用 Ajax技術實現對表示層頁面的局部刷新,使用 CSS對JSP頁面進行排版和美化,使用 JavaScript對頁面元素進行動態驗證,實驗所開發的應用平台雖然沒有正式投入商業運行,因為該系統還不夠成熟,不夠完善 ,但也提出了一些新的思路,對於該領域的發展與創新起到了一定的積極作用。
網路購物是一種互動式的商業行為,其信息資源可分為靜態和動態兩種,靜態是指那些固有的宣傳模式 ,比如公司概況、經營理念、規章制度等 ;動態信息資源一般指產品信息,比如,新產品發布、商品價格、公司培訓等。網路購物應具有強大地交互功能,使得商家和客戶的信息溝通和問題反饋暢通無阻,這種全新的交易模式真正。
實現了無障礙溝通,節省大部分時間、精力、財力等。
2基 於 JSP的網路購物系統結構設計
本文所述網路購物系統是利用現在比較流行的JSP+MySQL
資料庫的架構實現的,跟其他網路購物系統類似,總體上分為前台
操作和後台數據管理兩部分組成,前台界面美觀大方、友好方便、功
能完善,具有瀏覽、查詢 、訂購、用戶信息管理等功能,後台為站長提
供審核用戶信息、管理用戶、管理商品等操作 ,具有操作簡單 ,可靠
性強等特點。
2.1系統功能分析
經過以上的初步調查和研究 ,並且確定了該平台的可行性,為
了能夠對現行的平台內容進行充分了解,使所要開發的平台更具有
實用性和適應性,設計出該平台功能如圖 l。
2.2系統構架的設計
Ⅸ 在JSP中怎樣實現購物車計數
問題比較怪異~
既然都會做購物車了~那麼計數又又什麼難的?
無非都是統計數字專罷了~
如果是問的購物車中總共又屬多少類商品,那麼只要統計集合中又多少個商品對象就可以了,用count或者size方法(視你所用集合而定)
如果問的是每類商品有多少個,那麼只要再再商品對象中加一個數量的屬性就OK了,無論增加或減小商品數量也只要修改這個屬性的值就可以~
Ⅹ jsp+servlet做的購物網站怎麼綁定用戶和購物車(實現每個用戶有獨立的購物車)
當然是持久化到資料庫中了;
建一個購物車表,用戶ID作為外鍵約束,添加刪除內購物車的時候直接容操作資料庫就行了;
如果要實現用戶不登錄也有購物車的功能,就加一個cookie,把商品存在cookie里,瀏覽器不關閉就都在;