欢迎光临
我们一直在努力

jsp实现购物程序-JSP教程,Jsp/Servlet

建站超值云服务器,限时71元/月

下面是我用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;

}

}

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » jsp实现购物程序-JSP教程,Jsp/Servlet
分享到: 更多 (0)

相关推荐

  • 暂无文章