• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

jsp实现购物程序

java 搞代码 4年前 (2022-01-05) 36次浏览 已收录 0个评论
下面是我用JSP和数据库做的购物车的源程序:

注意:
1、重新计费部分还没有做好,大家自己动手吧!
2、下一版本将用session做。

//shop_cart.jsp

<%

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);
}
%>

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

height=”2″>

<form method="POST"

action=”shop_cart.jsp?action=update&product_type=&curp

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

height=”2″>

<table

border=”1″ cellpadding=”2″ cellspacing=”0″ width=”100%” bordercolorlight=”#FFB468″

bordercolordark=”#FFFFFF” bgcolor=”#FFB468″>

<div

align=”center”>

购物车

<td width="122" height="7" style="border: medium"

align=”center”>

<table
border=”1″ 来源gao($daima.com搞@代@#码网cellpadding=”2″ cellspacing=”0″ width=”100%”

bordercolorlight=”#FFB468″
bordercolordark=”#FFFFFF” bgcolor=”#FFB468″>

href=”shop_list.jsp?shop_id=&product_type=

&curpage=”>继续购物

<td width="122" height="7" style="border: medium"

align=”center”>

<table
border=”1″ cellpadding=”2″ cellspacing=”0″ width=”100%”

bordercolorlight=”#FFB468″
bordercolordark=”#FFFFFF” bgcolor=”#FFB468″>

href=”javascript: document.forms[0].submit()”>重新计费

<td width="122" height="7" style="border: medium"

align=”center”>

<table
border=”1″ cellpadding=”2″ cellspacing=”0″ width=”100%”

bordercolorlight=”#FFB468″
bordercolordark=”#FFFFFF” bgcolor=”#FFB468″>

&curpage=”>清空购物车

<table
border=”1″ cellpadding=”2″ cellspacing=”0″ width=”100%” bordercolorlight=”#FFB468″
bordercolordark=”#FFFFFF” bgcolor=”#FFB468″>

确认购买

<table border="1" cellpadding="2" cellspacing="0" width="100%" bgcolor="#FDFEE2"   

bordercolorlight=”#FFB468″ bordercolordark=”#FFFFFF” height=”40″>

商品名称

市场价

优惠价

数量

小计

定金比例

定金小计

删除

<%
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));
%>

<input type="text" name="” size=”3″ value=””>

“>delete

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

总计

定金总计

结余

<%
}else{
%>

购物车为空!

<%
}
%>

数据库操作部分

程序用到两个表:
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,基本上可采用以下方式:

<%
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;
}
}

以上就是jsp实现购物程序的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:jsp实现购物程序

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址