利用JSP与JS实现简易购物车

自己编写的一个简易购物网站示例:
这里写图片描述

示例代码运行的结果:

购物车简易示例

carts.jsp文件

<%@ page contentType="text/html;charset=GBK" %>
<%@ page import="java.util.*,java.sql.*" %>
<%      
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String spath="login.mdb";   //需要访问的数据库地址
    String dbpath=application.getRealPath(spath);
    String dbuser="";
    String dbpw="";
    String url="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+dbpath;
    Connection conn=DriverManager.getConnection(url,dbuser,dbpw);
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

    String sql;     //定义存储数据库语句的变量
    ResultSet rs;   //定义存储查询结果的变量

    request.setCharacterEncoding("GBK");        //设置请求的编码
    String user=request.getParameter("user");   //从请求中得到用户名
%>
<html>
<head>
    <title>联邦商城</title>
    <meta http-equiv="Content-Type" content="text/html;charset=GBK" />
</head>
<body>
    <h1 id="user" value="<%=user%>">用户:<%=user%></h1>
    <h2>购物车</h2>
    <table id="carts"><!--如果想要点击各个按钮后有反应,需要利用javascript对按钮点击事件进行监听,再利用jQuery动态生成表单并提交-->
        <input class="btn btn-default" type="button" value="清空"/>
        <input class="btn btn-default" type="button" value="结算"/>
        <tr><th>商品名</th><th>价格</th><th>数量</th>
        <%
            try{
                sql="select carts.Cname,carts.Count,commodities.Price from carts,commodities where carts.Cname=commodities.Cname and  User='"+user+"'"; //设置数据库查询语句
                rs=stmt.executeQuery(sql);  //在数据库中执行sql语句
                String Cname="";    //定义商品名称
                int Price=0;        //定义商品价格
                int Count=0;        //定义商品数量

                if(rs!=null)        //判断sql语句是否执行成功
                {
                    while(rs.next())    //循环遍历查询结果
                    {
                        Cname=rs.getString("Cname");//从结果中得到商品名称
                        Price=rs.getInt("Price");//从结果中得到商品价格
                        Count=rs.getInt("Count");//从结果中得到商品数量
                        %>
                        <tr >
                            <td>
                                <%=Cname%>
                            </td>
                            <td>
                                <%=Price%>
                            </td>
                            <td>
                                <%=Count%>
                            </td>
                            <td>
                                <input type="button" name="<%=Cname%>" value="删除">
                            </td>
                        </tr>
                        <%
                    }
                }else {
                    out.println("获取商品数据失败!");
                }
            }catch(Exception e)
            {
                out.print("操作数据库失败!");
                out.println(e.getMessage());
            }
        %>
</form>
</body>
<script src='js/jquery-3.2.1.min.js'></script>
<script src='js/carts.js'></script>
</html>
<%
stmt.close();
conn.close();   //关闭数据库连接
%>

carts.js文件

    function addFormCarts(e){
    if(e.target.tagName=="INPUT")
    {
        //创建表单
        form = $("<form></form>");
        form.attr('method','post');
        //创建传输user的元素
        input0= $("<input type='text'/>");
        input0.attr('value',elUser.getAttribute('value'));
        input0.attr('name',"user");

        if(e.target.getAttribute('value')=="删除")
        {
            //创建传输商品名的元素
            input = $("<input type='text'/>");
            input.attr('value',e.target.name);
            input.attr('name',"Cname");

            form.attr('action','delete.jsp');//设置提交到的页面
            form.append(input);
        }
        else if(e.target.getAttribute('value')=="结算")
        {
            form.attr('action','pay.jsp');//设置提交到的页面
        }else
        {
            form.attr('action','deleteAll.jsp');//设置提交到的页面
        }
        form.append(input0);
        form.appendTo("body");
        form.css('display','none');
        form.submit();      //提交表单
    }
}


var elUser=document.getElementById('user');
var elCarts = document.getElementById('carts');

elCarts.addEventListener('click', addFormCarts, false);

ACCESS中的carts表结构:
carts表

  • 4
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值