導航:首頁 > 編程語言 > javabean購物車

javabean購物車

發布時間:2025-09-13 03:03:45

1. 急求一個用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>

2. JAVA中的Bean是指什麼

可以理解為「實體」。這個類里存放的是數據,比如學生信息啊,購物程序中的購回物車啊這類的。
它只包答含空的構造函數,和一些成員,並提供這些成員的get,set方法,其他什麼也不幹。
這是我自己理解的bean,呵呵。

3. 怎麼用jsp的session對象編寫購物車

肯定需要用javabean啊,如果要購買的話就把這個物存入到map類型的cart裡面,再 調用session.setAttribute方法把hashmap類型的cart放到session裡面,然後在購物車那個頁面取出購物車里的東西就行了,
DiscBean bean=data.getItem(itemid);這是選中物品的id
得到session對象
HttpSession session = request.getSession();
得到map類型的購物車
Map car=(Map)session.getAttribute("car");

if(car==null){
car=new HashMap();
session.setAttribute("car", car);
}

Set set=car.keySet();得到鍵的集合
Object[] bea=set.toArray();
boolean isNewDisc = true;
for (Object object : bea) {
DiscItem discitem=(DiscItem)car.get(object);
String discitemid = discitem.getDiscBean().getItemID();
if(itemid.equals(discitemid)){
isNewDisc = false;
discitem.setNumber(discitem.getNumber()+1);
break;
}

}
if(isNewDisc){
car.put(itemid, new DiscItem(bean,1));
}
這個例子就是說我添加一本書的信息,如果是已經在購物車里了,就更新它的數量,如果沒在購物車里,就把這個bean保存到購物車,並且數量設為一

4. JAVA中究竟什麼是bean,它的實質是什麼

http://newblog.sohu.com/members/wekin/517969.html

JavaBean是描述Java的軟體組件模型,有點類似於Microsoft的COM組件概念。在Java模型中,通過JavaBean可以無限擴充Java程序的功能,通過JavaBean的組合可以快速的生成新的應用程序。對於程序員來說,最好的一點就是JavaBean可以實現代碼的重復利用,另外對於程序的易維護性等等也有很重大的意義。
比如說一個購物車程序,要實現購物車中添加一件商品這樣的功能,就可以寫
一個購物車操作的JavaBean,建立一個public的AddItem成員方法,前台Jsp文件裡面直接調用這個方法來實現。如果後來又考慮添加商品的時候需要判斷庫存是否有貨物,沒有貨物不得購買,在這個時候我們就可以直接修改JavaBean的AddItem方法,加入處理語句來實現,這樣就完全不用修改前台jsp程序了。
一個簡單的JavaBean

FirstJavaBean.java

import java.io.*;

public class FirstJavaBean {

private String FirstProperty = new String("");

public FirstJavaBean() {}

public String getFirstProperty() {

return FirstProperty;

}

public void setFirstProperty(String value) {

FirstProperty = value;

}

public static void main(String[] args)

{

System.out.println("My First JavaBean!");

}

}

如果運行這個程序,就會出現下面的結果:

First JavaBean!

這是一個很典型的JavaBean的代表,簡單地解釋一下,FirstProperty是其中的一個屬性(Property),外部通過get/set方法可以對這個屬性進行操作,如果您寫過VB的class的話,對這個就再也熟悉不過了。Main方法是為了測試程序用的,寫JavaBean可以先不必加入到Jsp程序中調用,而直接用main方法來進行調試,調試好以後就可以在Jsp程序中調用了。

http://cnbie.net/print_146048m128642.html

JavaBean 概述

用戶可以使用JavaBean將功能、處理、值、資料庫訪問和其他任何可以用java代碼創造的對象進行打包,並且其他的開發者可以通過內部的JSP頁面、Servlet、其他JavaBean、applet程序或者應用來使用這些對象。用戶可以認為JavaBean提供了一種隨時隨地的復制和粘貼的功能,而不用關心任何改變。

JavaBean 的發展
最初,JavaBean的目的是為了將可以重復使用的軟體代碼打包標准。特別是用與幫助廠家開發在綜合開發環境(IDE)下使用的java軟體部件。這些包括如Grid控制項,用戶可以將該部件拖放到開發環境中。從此,JavaBean就可以擴展為一個java web 應用的標准部件,並且JavaBean部件框架已經擴展為企業版的 Bean(EJB)。

JavaBean需求

JavaBean是java類,屬於某些特定的解碼知道方針,並且擴展了適應性和范圍,允許用戶訪問內部的屬性和方法。通過這些,JavaBean類可以用於下列方法:
1. 在IDE中,JavaBean的功能允許應用開發者瀏覽其中的方法,即使JavaBean是被編譯的,並且無法利用原始的源文件。
2. 在 Remote Method Invocation(RMI) 的分布式風格中,這項功能聽起來並不讓人興奮,但是在未來的包含企業版的JavaBean後,將改變這種情況。
3. 為了JavaBean的屬性值和狀態可以保存到磁碟上。

這里說的有些簡單,如果想了解更多的東西,可以查閱一些資料。

JavaBean設計注意事項

實際應用中,在表現對象或者處理前擴展JavaBean的設計非常有用。通常認為如果提供信息,web開發者將在功能上滿足擁護對JavaBean的需求。例如: HTML中顯示敏感的數據時,用戶可以屏蔽的條目,如密碼、電話號碼等。
良好規劃設計的JavaBean是值得信賴的。

Java 中的 null 不同於 SQL 中的 null

看這樣一道測試程序:

public class NullTest
{
public static void main(String[] args)
{
int I = 0;
// int I = null; // not a valid initialization
String str = null;
String strZeroOutValue = 「」;
StringBuffer sb = new StringBuffer(「Null test: String initialized as null = 「);
sb.append(str);
sb.append(「\n String representing a Zero Out Value:」);
sb.append(strZeroOutValue);
System.out.println(sb.toString());
}
}
這個程序將產生下面的結果:

Null test: String initialized as null = null
String representing a Zero Out Value:

在JavaBean中, 我們將 I 變數聲明為一個 int, 我們必須處理與該變數相關的值,因為I 默認的沒有值,int 類型無法初始化為 null, 如果int 值沒有進行明確的初始化,編譯器將提示錯誤。
執行 NullTest 程序,將驗證在文本中空字元串是空值的替代,用於顯示 SQL 的插入和更新。如果我們需要刪除一些信息,通過刪除表單區域的文本,需要將資料庫發送長度為0的字元串。
盡管大多數資料庫將空字元串作為空值進行操作,如果我們使用的資料庫不支持處理空字元串的話,我們必須寫入附加的java代碼,來創建自己的SQL插入聲明。
例如:
if(test.length==0)
{
sb.append(「null」);
}
else
{
sb.append(test);
}

JavaBean 的范圍:

JavaBean 的范圍。 Scope 是一個具有生命時間的變數。JavaBean的范圍在
<jsp:useBean scope=」….>標志中右邊進行表示。將產生一個JavaBean的快捷參考。

說明:jsp伺服器引擎將剝離<jsp。。。。標記。並且在最終用戶的瀏覽器上無法顯示實際代碼。

存在下面四種范圍: 頁面、 請求、 對話、 應用。

對話范圍:
對話范圍的JavaBean 主要應用與跨多個頁面和時間段: 例如填充 用戶信息。 添加信息並且接受回饋,保存用戶最近執行頁面的軌跡。對話范圍JavaBean保留一些和用戶對話 ID 相關的信息。這些信息來自臨時的對話cookie,並在當用戶關閉瀏覽器時,這個cookie將從客戶端和伺服器刪除。

頁面/請求范圍:
頁面和請求范圍的JavaBean有時類似表單 的bean , 這是因為 他們大豆用與處理表單。表單需要很長的時間來處理用戶的輸入,通常情況下用於頁面接受HTTP/POST或者GET請求。另外頁面和請求范圍的bean可以用於減少大型站點伺服器上的負載,如果使用對話bean,耽擱的處理就可能會消耗掉很多資源。

應用:

應用范圍通常應用於伺服器的部件,例如 JDBC 連接池、應用監視、擁護計數和其他參與用戶行為的類。

在Bean中限制HTML的產生:

理論上,JavaBean 將不會產生任何HTML,因為這是jsp層負責的工作;然而,為了動態消息提供一些預先准備的格式是非常有用的。產生的HTML將被標注的 JavaBean方法返回。
這里有一些非常重要的事情:
1. 不要試圖在JavaBean返回的HTML中放置任何字體尺寸。
並不是所有的瀏覽器都相同。很多瀏覽器無法處理完整的字體尺寸。
2. 不要試圖在JavaBean返回的HTML中放置任何腳本或者DHTML。
向頁面直接輸出腳本或者DHTML相當於自我毀滅,因為某些瀏覽器版本在處理不正確的腳本時會崩潰(非常少但是有)。如果用戶的JavaBean在運行時是動態的推出復雜的HTML語言,用戶將陷入調試的噩夢。另外,復雜的HTML將限制JavaBean的壽命和靈活性。
3. 不要提供任何的選擇。
如果用戶使用不同的系統瀏覽頁面,可以提供一種可以替換的方法。

閱讀全文

與javabean購物車相關的資料

熱點內容
數據結構和演算法要學習哪些內容 瀏覽:262
oraclelinux破解root密碼 瀏覽:886
java實現groupby 瀏覽:692
360殺毒軟體病毒庫升級包 瀏覽:15
divx文件後綴 瀏覽:544
vs2013的sql資料庫項目 瀏覽:287
網路營銷中資料庫 瀏覽:914
虛擬機linux怎麼輸代碼 瀏覽:28
平板pdf文件管理 瀏覽:460
ie64載入項刪除工具 瀏覽:397
qq剪切板的文件代碼 瀏覽:942
淘寶網改密碼鏈接 瀏覽:308
win7歷史記錄文件夾 瀏覽:540
文件夾無法壓縮怎麼辦 瀏覽:20
sd卡壓縮的文件找不到了 瀏覽:964
上單慎符文78版本 瀏覽:950
javabean購物車 瀏覽:29
蘋果4s取消鎖屏密碼設置密碼 瀏覽:11
ios測試wifi的app有哪些 瀏覽:564
ubuntu字體文件 瀏覽:760

友情鏈接