国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

jsp實現購物程序

2024-09-05 00:19:04
字體:
來源:轉載
供稿:網友


下面是我用jsp和數據庫做的購物車的源程序:

注意:
1、重新計費部分還沒有做好,大家自己動手吧!
2、下一版本將用session做。

//shop_cart.jsp

<%@ page contenttype="text/html;charset=gb2312"%>
<%@ page session="true" %>
<%@ page language="java" import="java.sql.*" %>
<jsp:usebean id="bka" scope="page" class="shop.bka" />
<%

string product_type;
string action;
int product_id;
int curpage;

//商品類型
if (request.getparameter("product_type")==null){
product_type="all";
}else{
product_type=request.getparameter("product_type");
}

//頁數和商品類型參數,可以在“繼續購物”時返回到上次購物的頁面
if (request.getparameter("curpage")==null){
curpage=1;
}else{
curpage=java.lang.integer.parseint(request.getparameter("curpage"));
}

//動作
if (request.getparameter("action")==null){
action="view";
}else{
action=request.getparameter("action");
}

//商品編號
if (request.getparameter("product_id")==null){
product_id=0;
}else{
product_id=java.lang.integer.parseint(request.getparameter("product_id"));
}

int bbb;
bbb=1;

integer num = new integer(bbb);

//商店編號
session.putvalue("shop_id",num);
//顧客username
session.putvalue("guest_name","asp2001");

string guest_name=(string)session.getvalue("guest_name");
integer shop_id=(integer)session.getvalue("shop_id");

java.lang.string sql;
java.sql.resultset rs;

if (action.compareto("add")==0) {

sql="select cart_quantity from shop_cart where cart_shop_id=" + shop_id

+ " and cart_guest_id='" + guest_name + "' and cart_product_id=" + product_id ;
rs = bka.executequery(sql);
if (rs.next()){
int cart_quantity;
cart_quantity=java.lang.integer.parseint(rs.getstring("cart_quantity"))+1;
sql="update shop_cart set cart_quantity=" + cart_quantity + " where cart_shop_id="

+ shop_id + " and cart_guest_id='" + guest_name + "' and cart_product_id=" + product_id ;
rs = bka.executequery(sql);}
else
{
sql="insert into shop_cart (cart_shop_id,cart_guest_id,cart_product_id,cart_quantity) values ('" + shop_id + "','"

+ guest_name + "','" + product_id + "',1)";
rs = bka.executequery(sql);
}
}

if (action.compareto("clear")==0) {
sql="delete from shop_cart where cart_shop_id=" + shop_id + " and cart_guest_id='" + guest_name + "'";
rs = bka.executequery(sql);
}

if (action.compareto("delete")==0) {
sql="delete from shop_cart where cart_shop_id=" + shop_id + " and cart_guest_id='"

+ guest_name + "' and cart_product_id=" + product_id ;
rs = bka.executequery(sql);
}
%>
<div align="center"><center>

<table border="0" cellpadding="0" cellspacing="0" width="610"

height="2">
<tr>
<td><form method="post"

action="shop_cart.jsp?action=update&product_type=<%=product_type%>&curp

age=<%=curpage%>">
<table border="0" cellpadding="0" cellspacing="0" width="610"

height="2">
<tr>
<td width="122" height="7"><div align="center"><center><table

border="1" cellpadding="2" cellspacing="0" width="100%" bordercolorlight="#ffb468"

bordercolordark="#ffffff" bgcolor="#ffb468">
<tr>
<td width="100%"><div

align="center"><center><p>購物車</td>
</tr>
</table>
</center></div></td>
<td width="122" height="7" style="border: medium"

align="center"><div align="center"><center><table
border="1" cellpadding="2" cellspacing="0" width="100%"

bordercolorlight="#ffb468"
bordercolordark="#ffffff" bgcolor="#ffb468">
<tr>
<td width="100%"><div align="center"><center><p><a

href="shop_list.jsp?shop_id=<%=shop_id%>&product_type=<%=product_type%>

&curpage=<%=curpage%>">繼續購物</a></td>
</tr>
</table>
</center></div></td>
<td width="122" height="7" style="border: medium"

align="center"><div align="center"><center><table
border="1" cellpadding="2" cellspacing="0" width="100%"

bordercolorlight="#ffb468"
bordercolordark="#ffffff" bgcolor="#ffb468">
<tr>
<td width="100%"><div align="center"><center><p><a

href="javascript: document.forms[0].submit()">重新計費</a></td>
</tr>
</table>
</center></div></td>
<td width="122" height="7" style="border: medium"

align="center"><div align="center"><center><table
border="1" cellpadding="2" cellspacing="0" width="100%"

bordercolorlight="#ffb468"
bordercolordark="#ffffff" bgcolor="#ffb468">
<tr>
<td width="100%"><div align="center"><center><p>

<a href="shop_cart.jsp?action=clear&product_type=<%=product_type%>&curpage=<%=curpage%>">清空購物車</a></td>
</tr>
</table>
</center></div></td>
<td width="122" height="7" style="border: medium" align="center"><div align="center"><center><table
border="1" cellpadding="2" cellspacing="0" width="100%" bordercolorlight="#ffb468"
bordercolordark="#ffffff" bgcolor="#ffb468">
<tr>
<td width="100%"><div align="center"><center><p><a href="shop_order.asp">確認購買</a></td>
</tr>
</table>
</center></div></td>
</tr>
<tr align="center">
<td width="610" height="1" colspan="5"><div align="center"><center>
<table border="1" cellpadding="2" cellspacing="0" width="100%" bgcolor="#fdfee2"

bordercolorlight="#ffb468" bordercolordark="#ffffff" height="40">
<tr>
<td width="20%" height="8" align="left">商品名稱</td>
<td width="10%" height="8" align="left">市場價</td>
<td width="10%" height="8" align="left">優惠價</td>
<td width="10%" height="8" align="left">數量</td>
<td width="14%" height="8" align="left">小計</td>
<td width="12%" height="8" align="left">定金比例</td>
<td width="17%" height="8" align="left">定金小計</td>
<td width="17%" height="8" align="left">刪除</td>
</tr>
<%
sql="select shop_product.product_id,shop_product.product_name,shop_product.product_price,

shop_product.product_discount,shop_cart.cart_quantity,shop_product.product_first from shop_cart,shop_product where shop_cart.cart_shop_id=" + shop_id + " and shop_cart.cart_guest_id='" + guest_name + "' and shop_cart.cart_product_id=shop_product.product_id";
rs = bka.executequery(sql);
int total;
int total_first;
total=0;
total_first=0;
string product_name;
int product_price;
int product_discount;
int product_first;
int cart_quantity;

if (rs.next()){
while (rs.next()) {
product_id=java.lang.integer.parseint(rs.getstring(1));
product_name=rs.getstring(2);
product_price=java.lang.integer.parseint(rs.getstring(3));
product_discount=java.lang.integer.parseint(rs.getstring(4));
cart_quantity=java.lang.integer.parseint(rs.getstring(5));
product_first=java.lang.integer.parseint(rs.getstring(6));
%>

<tr>
<td width="10%" height="1" align="left"><%=product_name%></td>
<td width="10%" height="1" align="left"><%=product_price%></td>
<td width="10%" height="1" align="left"><%=product_discount%></td>
<td width="10%" height="1" align="left"><input type="text" name="<%= "t" + product_id %>" size="3" value="<%=cart_quantity%>"></td>
<td width="14%" height="1" align="left"><%=product_discount*cart_quantity%></td>
<td width="12%" height="1" align="left"><%=product_first + "%"%></td>
<td width="17%" height="1" align="left"><%=product_first*product_discount*cart_quantity/100.0%></td>
<td width="17%" height="1"><div align="center"><center><p><a href="shop_cart.jsp?action=delete&product_id=<%=product_id%>">delete</a></td>
</tr>

<%
total=total+product_discount*cart_quantity;
total_first=total_first+product_discount*cart_quantity*product_first/100;
}
%>

<tr align="center">
<td width="72%" colspan="6" height="16"><div align="right"><p>總計</td>
<td width="36%" colspan="2" height="16"><div align="left"><%=total%></td>
</tr>
<tr align="center">
<td width="72%" colspan="6" height="16"><div align="right"><p>定金總計</td>
<td width="36%" colspan="2" height="16"><div align="left"><%=total_first%></td>
</tr>
<tr align="center">
<td width="72%" colspan="6" height="16"><div align="right"><p>結余</td>
<td width="36%" colspan="2" height="16"><div align="left"><%=total-total_first%></td>
</tr>
</table>
</center></div>

<%
}else{
%>
<p align="center">購物車為空!</p>
<%
}
%>

數據庫操作部分

程序用到兩個表:
1 shop_cart表
cart_id int 購物車編號 自動編號
cart_shop_id nvarchar 商店編號
cart_product_id nvarchar 商品編號
cart_quantity int 商品數量
臨時存放購物車數據

2 shop_product表
product_id int 商品編號 自動編號
shop_id nvarchar 商店編號
product_name nvarchar 商品名稱
product_bb nvarchar 商品介紹
product_price int 市場價
product_discount int 優惠價
product_img img 圖片
product_status nvarchar 狀態
product_first int 定金比例
product_type nvanchar 商品類型
存放商品資料

使用bka.java制成的javabean:bka.class可以提供對數據庫的操作。

另外,需在控制面板的系統dsn中注冊bka.dsn,
從而可使jsp通過jdbc-odbc來調用sql數據庫。
在頁面中調用javabean,基本上可采用以下方式:

<%@ page language="java" import="java.sql.*" %>
<jsp:usebean id="registerbean" scope="page" class="shop.bka" />
<%
string sql="select * from xxx";
resultset rs = registerbean.executequery(sql);
if(rs.next()) {
rs.close();
registerbean.closestmt();
session.putvalue("register_message","duplicate name found!");
}
%>
注意應在使用后將rs關閉。

以下是bka.java的源程序。注意在使用前需用javac加以編譯成為class文件即javabean.

--shop/bka.java--

package shop;
import java.sql.*;

public class bka {
string sdbdriver = "sun.jdbc.odbc.jdbcodbcdriver";
string sconnstr = "jdbc:odbc:bka";
connection conn = null;
resultset rs = null;

public bka() {
try {
class.forname(sdbdriver);
}
catch(java.lang.classnotfoundexception e) {
system.err.println("bka(): " + e.getmessage());
}
}

public resultset executequery(string sql) {
rs = null;
try {
conn = drivermanager.getconnection(sconnstr,"xxx","yyy");
statement stmt = conn.createstatement();
rs = stmt.executequery(sql);
}
catch(sqlexception ex) {
system.err.println("aq.executequery: " + ex.getmessage());
}
return rs;
}
}




發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永丰县| 揭西县| 临泉县| 定陶县| 通城县| 沂南县| 岳普湖县| 沙河市| 九龙坡区| 特克斯县| 永平县| 都江堰市| 西盟| 介休市| 城市| 韶关市| 湖州市| 巨鹿县| 招远市| 镇江市| 赤水市| 通州市| 会昌县| 屯昌县| 平昌县| 腾冲县| 华亭县| 泸水县| 剑阁县| 荔波县| 梧州市| 东平县| 平顺县| 涿州市| 白银市| 通山县| 上饶县| 靖边县| 靖边县| 永兴县| 隆昌县|