• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    jsp实现购物程序
    下面是我用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=updateproduct_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=clearproduct_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=deleteproduct_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;
    }
    }

    上一篇:用JSP/ASP创建WAP应用
    下一篇:jsp计数器制作
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    jsp实现购物程序 jsp,实现,购物,程序,jsp,实现,