基于javaWeb实现的购物商城设计

基于javaWeb实现的购物商城设计 1,项目简介 1,1总体结构 src文件 model:定义的是商品类Goodselement和用户类Member tools:定义CheckCode验证码处理的servlet

本文包含相关资料包-----> 点击直达获取<-------

基于javaWeb实现的购物商城设计

1.项目简介

1.1总体结构

src文件

model:定义的是商品类Goodselement和用户类Member tools:定义CheckCode验证码处理的servlet,Chstr字符转换处理,connDB连接数据库 dao:实现数据库用户表的查询和插入操作

数据库文件 两个sql server的数据库文件,直接用sql server manager的导入可以添加数据库

前端页面

login:登录界面 register:注册界面 cart:购物车界面 common:网页上下栏目 goodsDetail:商品详情 leftHotGoods:左边栏显示热门商品 relateGoods:下边栏显示相关商品 agreement.html:网站注册协议

index:主页面

1.2主页面

最新商品显示 打折商品显示 热门商品显示 详细实现见:http://blog.csdn.net/u013948010/article/details/78675164

1.3商品详情页面

详细实现见:http://blog.csdn.net/u013948010/article/details/78694181

1.4购物车

1.5登录和注册

登录

注册

2.数据库连接

数据库采用的是sql server数据库,连接数据库用到的方法写进一个类connDB当中(类放在com.tools当中),每次需要访问数据库时,实例化这个类,并调用它封装的方法。数据库是已经在sql server创建好的db_shop 成员变量:

java public Connection conn = null; // 数据库连接对象 public Statement stmt = null; // statement对象,用于执行Sql语句 public ResultSet rs = null; // 结果对象集 // 驱动类的类名 private static String dbClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; private static String dbUrl = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=db_shop"; private static String dbUser = "sa"; // 登录sql的用户名 private static String dbPwd = "****"; // 登录sql的密码

2.1创建连接

java /* * 创建与数据库的连接 */ public static Connection getConnection() { Connection conn = null; try { Class.forName(dbClassName).newInstance(); // 装在数据库驱动 // 获取数据库连接对象 conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd); } catch (Exception e) { e.printStackTrace(); } if (conn == null) { System.err.println("DbConnectionManger.getConnection():" + dbClassName + "\r\n" + dbUrl + "\r\n" + dbUser + "/" + dbPwd); } else { System.out.println("数据库连接成功"); } return conn; }

2.2更新数据

java /* * 更新数据功能 */ public int executeUpdate(String sql) { int result = 0; // 更新数据的记录条数 try { conn = getConnection(); // 获取数据库连接 // 创建用于执行SQL语句的statement对象 stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); result = stmt.executeUpdate(sql); } catch (SQLException e) { // TODO: handle exception result = 0; e.printStackTrace(); // 输出异常信息 } try { stmt.close(); } catch (SQLException e) { // TODO: handle exception e.printStackTrace(); } return result; }

2.3查询数据

java /* * 根据指定的sql语句查询数据 */ public ResultSet executeQuery(String sql) { try { conn = getConnection(); // 获取数据库连接 // 创建用于执行SQL语句的statement对象 stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); rs = stmt.executeQuery(sql); // 执行SQL语句 } catch (SQLException e) { // TODO: handle exception e.printStackTrace(); } return rs; }

2.4关闭数据库连接

java /* * 关闭数据库 */ public void close() { try { if (rs != null) { rs.close(); } if (stmt != null) { stmt.close(); } if (conn != null) { conn.close(); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(System.err); } }

2.5测试一下

写好之后,需要将sql server的jdbc连接jar包导入,这里用到 sqljdbc42.jar ,然后写一个junit测试方法单独试一下

java @Test public void test() { if (getConnection() != null) { System.out.println("测试连接成功"); } }

3.商品显示

3.1数据库

后台数据库用到了sql server,建立了商品表tb_goods和商品分类表tb_subType 商品分类表: 商品表:

3.2获得最新商品

java /* 最新上架商品信息 */ ResultSet rs_new = conn.executeQuery( "select top 12 t1.ID, t1.GoodsName,t1.price,t1.picture,t2.TypeName " +"from tb_goods t1,tb_subType t2 where t1.typeID=t2.ID and " +"t1.newGoods=1 order by t1.INTime desc"); //查询最新上架商品信息 int new_ID=0; //保存最新上架商品的id变量 String new_goodsname=""; //保存最新上架商品名称的变量 float new_nowprice=0; //保存最新上架商品的价格变量 String new_picture=""; //保存最新上架商品的图片变量 String typeName=""; //保存最新上架商品的分类变量

前端页面循环显示

```html

<% while(rs_new.next()){ new_ID=rs_new.getInt(1); //最新上架商品的id new_goodsname=rs_new.getString(2); //最新上架商品的名称 new_nowprice=rs_new.getFloat(3); //最新上架商品当前价格 new_picture=rs_new.getString(4); //最新上架商品的图片 typeName=rs_new.getString(5); //最新上架商品的类别

%> <%}%> ```

3.2获得打折商品

```java ResultSet rs_sale = conn.executeQuery( "select top 12 t1.ID, t1.GoodsName,t1.price,t1.nowPrice,t1.picture,t2.TypeName " +"from tb_goods t1,tb_subType t2 where t1.typeID=t2.ID and t1.sale=1 " +"order by t1.INTime desc"); //查询打折商品信息

int sale_ID=0;  //保存打折商品的id变量
String s_goodsname="";  //保存打折商品名称的变量
float s_nowprice=0; //保存打折商品现在的价格变量
float s_price=0;    //保存打折商品的原价格变量
String s_picture="";    //保存打折商品的图片变量
String s_introduce="";      //保存打折商品简介

```

前端显示

```java

<% while(rs_sale.next()){ sale_ID=rs_sale.getInt(1); //打折商品的id s_goodsname=rs_sale.getString(2); //打折商品的名称 s_price=rs_sale.getFloat(3); //打折商品原价格 s_nowprice=rs_sale.getFloat(4); //打折商品当前价格 s_picture=rs_sale.getString(5); //打折商品的图片 typeName=rs_sale.getString(6); //最新上架商品的类别 %> <%}%> ```

3.3获得两条热门商品

查询数据库并得到结果

java ResultSet rs_hot =conn .executeQuery("select top 2 ID,GoodsName,nowprice,picture " +"from tb_goods order by hit desc"); //查询热门商品信息 int hot_ID = 0; //保存热门商品ID的变量 String hot_goodsName = ""; //保存热门商品名称的变量 float hot_nowprice = 0; //保存热门商品价格的变量 String hot_picture = ""; //保存热门商品图片的变量

前端显示:

```html

<% while(rs_hot.next()){ hot_ID=rs_hot.getInt(1); //获取热门商品id hot_goodsName=rs_hot.getString(2); //获取热门商品名 hot_nowprice=rs_hot.getFloat(3); //热门商品当前价格 hot_picture=rs_hot.getString(4); //热门商品图片 %> <%}%> ```

4.商品详情:

html <a href="goodsDetail.jsp?ID=<%=hot_ID%>">1

商品详情数据库表tb_goods:

建立goodsDetail.jsp页面

4.1访问数据库获取商品

根据页面跳转传递的商品ID访问数据库获得商品详情。

```java

<% int typeSystem=0; int ID=Integer.parseInt(request.getParameter("ID")); //获取商品ID if(ID>0){ ResultSet rs=conn.executeQuery("select ID,GoodsName,Introduce,nowprice,picture," + " price,typeID from tb_goods where ID=" + ID); //根据ID查询商品信息 String goodsName = ""; //保存商品名称的变量 float nowprice = (float) 0.0; //保存商品现价的变量 float price = (float) 0.0; //保存商品原价的变量 String picture = ""; //保存商品图片的变量 String introduce = ""; //保存商品描述的变量 if(rs.next()){ goodsName=rs.getString(2); introduce=rs.getString(3); nowprice=rs.getFloat(4); picture=rs.getString(5); price=rs.getFloat(6); typeSystem=rs.getInt(7); } conn.close(); %>

<!-- 显示商品详情html代码 -->

<%}else{//获取到的ID不合法 out.println(" "); } %>

```

4.2相关商品显示

商品详情页面,同时显示同一商品类别的6个同类商品。相关商品显示页面调用relatedGoods.jsp,typeSystem由上文得到为商品类别,根据类别查询数据库。

```java

```

4.3related.jsp设计

获取类别,初始化变量

jsp <% int typeSystem = Integer.parseInt(request.getParameter("typeSystem")); int hot_ID = 0; String hot_goodsName = ""; float hot_nowprice = 0; String hot_picture = ""; %>

4.4查询数据库

```jsp <% ResultSet rs_relate = conn.executeQuery( "select top 6 ID,GoodsName,nowprice,picture from tb_goods where typeID=" + typeSystem + " "); int relate_ID = 0; String relate_goodsName = ""; float relate_nowprice = 0; String relate_picture = "";

    int s3 = 0;
    while (rs_relate.next()) {
        relate_ID = rs_relate.getInt(1);
        relate_goodsName = rs_relate.getString(2);
        relate_nowprice = rs_relate.getFloat(3);
        relate_picture = rs_relate.getString(4);

%> ```

详情页面:

其中左边是热门商品,下面是相关商品

4.5热门商品显示

商品详情页面,同时显示同一商品类别的7个高点击率的人商品。热门商品显示页面调用leftHotGoods.jsp,typeSystem由上文得到为商品类别,根据类别查询数据库,并根据点击量返回商品排序。

```jsp

<jsp:param name="typeSystem" value="<%=typeSystem %>" />

```

4.6leftHotGoods.jsp设计

访问数据库获取热门商品

ABAP <% int hot_ID = 0; String hot_goodsName = ""; float hot_nowprice = 0; String hot_picture = ""; String sql=""; if(request.getParameter("type")!=null && request.getParameter("type")!=""){ int type=Integer.parseInt(request.getParameter("type")); sql="select top 7 t1.ID,t1.GoodsName,t1.nowprice,t1.picture from tb_goods t1,tb_subType t2 where t1.typeID=t2.ID and t2.superType=" + type + " order by t1.hit desc,t1.ID asc"; }else if(request.getParameter("typeSystem")!=null && request.getParameter("typeSystem")!=""){ int typeSystem = Integer.parseInt(request.getParameter("typeSystem")); sql="select top 7 ID,GoodsName,nowprice,picture from tb_goods where typeID=" + typeSystem + " order by hit desc,ID asc"; }else{ sql="select top 7 ID,GoodsName,nowprice,picture from tb_goods order by hit desc"; } %>

执行查询并显示

```java

<% ResultSet rs_hot = conn.executeQuery(sql); int s2 = 0; while (rs_hot.next()) { hot_ID = rs_hot.getInt(1); hot_goodsName = rs_hot.getString(2); hot_nowprice = rs_hot.getFloat(3); hot_picture = rs_hot.getString(4); %> <% s2++; } %>

```

参考文献

  • 基于eGo商城系统的设计与实现(电子科技大学·冯川洋)
  • 电子商务平台—购物网站的设计与实现(山东大学·彭向峰)
  • 基于JSP网上购物系统的实现与应用(南昌大学·曾磊)
  • 基于推荐子系统的电子商城设计与实现(电子科技大学·栾培远)
  • 基于SSM框架的B2C网上商城系统的设计与实现(湖南大学·陈峰)
  • 基于J2EE的在线购物网站设计与实现(江西农业大学·夏超)
  • 基于SSM框架的B2C网上商城系统的设计与实现(湖南大学·陈峰)
  • 基于JSP的网络购物系统分析设计与实现(电子科技大学·杨青)
  • 网上购物模拟系统(吉林大学·郭秋野)
  • 基于J2EE的在线购物网站设计与实现(江西农业大学·夏超)
  • 基于J2EE的网络购物中心设计和实现(电子科技大学·张晓军)
  • 网上商城系统的设计(云南大学·张昆)
  • 基于JSP技术的网上购物系统设计与实现(电子科技大学·包敏)
  • 积分商城的设计与实现(北京邮电大学·王威)
  • 基于SSM框架的B2C网上商城系统的设计与实现(湖南大学·陈峰)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:源码工坊 ,原文地址:https://bishedaima.com/yuanma/35663.html

相关推荐

发表回复

登录后才能评论