基于JSP和MySQL实现的易买网电商网站设计

基于JSP和MySQL实现的易买网电商网站设计 1,项目简介 学习目标 1,1 什么是电商 电子商务项目是通过电子商务模式为主导开展起来的项目

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

基于JSP和MySQL实现的易买网电商网站设计

1.项目简介

学习目标

1.1 什么是电商

电子商务项目是通过电子商务模式为主导开展起来的项目,电子商务项目也指用电子手段来装备一切商务活动过程的种种努力。电子商务项目可应用于任何一个拥有电子商务平台的个人或企业、公司。

1.2 电商的模式

我国的电子商务商业模式大致可以按照交易对象分为五类:

  • 商业机构对商业机构的电子商务B2B

  • 商业机构对消费者的电子商务B2C

  • 商业机构对政府管理部门的电子商务B2G

  • 消费者对政府管理部门的电子商务C2G

  • 消费者对消费者的电子商务C2C

其中B2G、C2G是政府的电子商务行为,不以盈利为目的,主要包括政府采购、网上报关、报税等,对整个电子商务行业不会产生大的影响。

以下了解的是B2C、C2C、B2B这三种商业行为的电子商务模式。

B2C

B2C中的B是Business,即商业供应方(泛指企业),2(two)则是to的谐音,C是Consumer,即消费者。B2C电子商务是按电子商务交易主体划分的一种电子商务模式,即表示企业对消费者的电子商务,具体是指通过信息网络以及电子数据信息的方式实现企业或商家机构与消费者之间的各种商务活动,交易活动、今日活动和综合服务活动,是消费者利益Internet直接参与经济活动的形式。

B2C是企业对消费者直接开展使用活动的一种电子商务模式,这种形式的电子商务一部以直接面向客户开展零售业务为主,主要借助于互联网开展在线销售活动,故又称为电子零售(电子销售)或网络销售。

目前典型的有:京东、苏宁、亚马孙、易迅、1号店、国美、当当、凡客等。

B2B

B2B(BTB 是Business - to - Business的缩写) 是指企业与企业之间的通过专用网络或Internet,进行数据信息的交换、传递、开展交易活动的商业模式。它将企业内部网和企业的产品及服务,通过B2B网站或移动客户端与客户端紧密结合起来,通过网络的快速反应,为客户提供更好的服务,从而出尽企业的业务发展。

目前典型的有:阿里巴巴、中国制造网、中国供应商、世界工厂网、马可波罗、生意宝、一比多、勤加缘网、网络114、慧聪网等

C2C

C2C实际是电子商务的专业用语,是个人与个人之间的电子商务,其中C之的是消费者,因为消费者的因为单词是Customer(Consumer),所以简写C,又因为英文中的2的发音同to,所以C to C 简写为C2C,C2C即 Customer(Consumer) to Customer(Consumer) 。

C2C的意思就是消费者个人间的电子商务行为。比如一个消费者有一台电脑,通过网络进行交易,把他出售给另外一个消费者,此种交易类型就称为C2C电子商务。

目前典型的有:淘宝网、易趣网、1拍网、雅宝网、嘉德在线、大中华拍卖网、易必得拍卖网等

在直观上,业界将电商分为广义和侠义的:

  • 侠义的电商是指实现贸易过程中各个阶段贸易的活动的电子化

  • 广义的是指利用网络实现所有的商务活动业务流程的电子化

1.3 项目概述

本次项目是一个大家常见B2C电商网站。企业通过互联网为消费者提供一个新型的购物环境,消费者通过网络在网上购物、在网上支付。大大提高了交易效率,特别对于工作忙碌的上班族,这种模式可以为其节省宝贵的时间。

本次项目通过首页展示、一级二级导航、商品详情、购物车、搜索业务、订单、用户模块组成电商核心模块

1.4 技术栈

  • Servlet

  • JSP

  • EL

  • JSTL

  • HTML

  • JQuery

  • JavaScript

  • Bootstrap

  • My97DatePicker时间插件

Servlet

Server Applet 是Java Servlet的简写,是运行在服务器端的Java小程序;是动态的生成web内容的!

主要功能:在交互式的浏览和生成数据

JSP

JavaServer Pages :是由sun公司倡导的,许多公司参与一起建立的一种动态的网页技术!asp技术和java程序段和jsp标记形成的*.jsp,jsp 和 java Servlet 一样。

EL表达式

Expression Language,ECMAScript 和 XPath 让我们开发人员更加简单化!

JSTL

JSP的标准标签库(JSP Standard Tag Library)。JSTL 的作用:

  • 提供给JAVAWEB 开发人员一个标准的用过标签函数库和 EL 来取代传统的在页面上嵌入 java 程序的做法

  • 提高程序的可读性,维护性、方便性

HTML

Hypertext Markup Language 超文本标记性语言

1.5 开发环境

Eclipse + Mysql +Navicat + Windows + JDK1.8 + Tomcat9

  • JDK 下载地址 :https://www.oracle.com/index.html

  • Mysql 下载地址 :https://www.mysql.com/downloads

  • Eclipse 下载地址 :http://www.eclipse.org/downloads

  • Navicat 下载地址 :https://www.navicat.com/en/products

2.数据库设计

2.1 表结构

2.1.1 用户表

2.1.2热门标签表

2.1.3新闻表

2.1.4 公告表

2.1.5 留言表

2.1.6 商品大分类表

2.1.7 商品小分类表

2.1.8 商品表

2.1.9 订单表

2.1.10订单商品表

2.2ER图

3.项目实现

流程图

编写实体类

```java package com.xxx.vo; import java.util.ArrayList; import java.util.Date; import java.util.List; import com.xxx.vo.OrderProduct; //商品实体类 public class Product { private int id; // id private String name;// 商品名称 private int price; // 价钱 private int hot; //商品热度 private Date hotTime;//商品热度时间 private int stock; //库存 private String proPic; //商品路劲 private String description;//商品描述 private int specialPrice; //特价的 private Date specialPriceTime;//特价时间 private ProductBigType bigType;//所属大类型的 private ProductSmallType smallType;//所属小类型的 private List orderProductList=new ArrayList ();//中间表

public List getOrderProductList() { return orderProductList; } public void setOrderProductList(List orderProductList) { this.orderProductList = orderProductList; } public Product() { // TODO Auto-generated constructor stub } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } public int getHot() { return hot; } public void setHot(int hot) { this.hot = hot; } public Date getHotTime() { return hotTime; } public void setHotTime(Date hotTime) { this.hotTime = hotTime; } public int getStock() { return stock; } public void setStock(int stock) { this.stock = stock; } public String getProPic() { return proPic; } public void setProPic(String proPic) { this.proPic = proPic; } public Date getSpecialPriceTime() { return specialPriceTime; } public void setSpecialPriceTime(Date specialPriceTime) { this.specialPriceTime = specialPriceTime; } public ProductBigType getBigType() { return bigType; } public void setBigType(ProductBigType bigType) { this.bigType = bigType; } public ProductSmallType getSmallType() { return smallType; } public void setSmallType(ProductSmallType smallType) { this.smallType = smallType; } public int getSpecialPrice() { return specialPrice; } public void setSpecialPrice(int specialPrice) { this.specialPrice = specialPrice; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; }

} ```

编写商品接口实现类(implements),实现接口方法具体功能(数据库交互)

```java package com.xxx.service.impl; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import com.xxx.service.ProductService; import com.xxx.util.DBUtil; import com.xxx.vo.Product; public class ProductServiceImpl implements ProductService {

@Override // 热度商品的列表展示 public List findSpecialPrice() { List productList = new ArrayList (); Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = DBUtil.getConn(); String sql = "SELECT * FROM T_PRODUCT WHERE SPECIALPRICE = 1 AND ID < 41 ORDER BY SPECIALPRICETIME DESC"; pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); while (rs.next()) { Product product = new Product(); product.setId(rs.getInt("id")); product.setDescription(rs.getString("description")); product.setHot(rs.getInt("hot")); product.setHotTime(rs.getDate("hotTime")); product.setName(rs.getString("name")); product.setPrice(rs.getInt("price")); product.setProPic(rs.getString("proPic")); product.setSpecialPrice(rs.getInt("specialPrice")); product.setSpecialPriceTime(rs.getDate("specialPriceTime")); product.setStock(rs.getInt("stock")); productList.add(product); } return productList; } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.closeAll(conn, pstmt, rs); } return null; } @Override // 特价商品列表展示 public List findHotProductList() { List productList = new ArrayList (); // 声明链接 Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = DBUtil.getConn(); String sql ="SELECT * FROM T_PRODUCT WHERE HOT = 1 AND ID < 17 ORDER BY HOTTIME DESC"; pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); while (rs.next()) { Product product = new Product(); product.setId(rs.getInt("id")); product.setDescription(rs.getString("description")); product.setHot(rs.getInt("hot"));product.setHotTime(rs.getDate("hotTime")); product.setName(rs.getString("name")); product.setPrice(rs.getInt("price")); product.setProPic(rs.getString("proPic")); product.setSpecialPrice(rs.getInt("specialPrice")); product.setSpecialPriceTime(rs.getDate("specialPriceTime")); product.setStock(rs.getInt("stock")); productList.add(product); } return productList; } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.closeAll(conn, pstmt, rs); } return null; } } ```

编写新闻接口并构建方法(NewsService)

java package com.xxx.service; import java.util.List; import com.xxx.vo.News; public interface NewsService { //查询所有新闻信息 List<News> findAll(); }

** 编写新闻接口实现类(implements),实现接口方法具体功能(数据库交互)**

java package com.xxx.service.impl; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import com.xxx.service.NewsService; import com.xxx.util.DBUtil; import com.xxx.vo.News; public class NewServiceImpl implements NewsService { @Override // 查询所有新闻信息 public List<News> findAll() { List<News> newsList = new ArrayList<News>(); Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = DBUtil.getConn(); String sql ="SELECT * FROM T_NEWS WHERE ID < 7"; pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); while (rs.next()) { News news = new News(); news.setId(rs.getInt("id")); news.setContent(rs.getString("content")); news.setCreateTime(rs.getDate("createTime")); news.setTitle(rs.getString("title")); newsList.add(news); } return newsList; } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.closeAll(conn, pstmt, rs); } return null; } }

** 编写公告接口并构建方法(NoticeService)**

java package com.xxx.service; import java.util.List; import com.xxx.vo.Notice; public interface NoticeService { //查询所有公告 List<Notice> findAll(); }

编写公告接口实现类(implements),实现接口方法具体功能(数据库交互)

java package com.xxx.service.impl; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import com.xxx.service.NoticeService; import com.xxx.util.DBUtil; import com.xxx.vo.Notice; public class NoticeServiceImpl implements NoticeService { @Override public List<Notice> findAll() { List<Notice> noticeList = new ArrayList<Notice>(); Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = DBUtil.getConn(); String sql ="SELECT * FROM T_NOTICE WHERE ID < 7"; pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); while (rs.next()) { Notice notice = new Notice(); notice.setId(rs.getInt("id")); notice.setContent(rs.getString("content")); notice.setCreateTime(rs.getDate("createTime")); notice.setTitle(rs.getString("title")); noticeList.add(notice); } return noticeList; } catch (SQLException e) { e.printStackTrace(); }finally { DBUtil.closeAll(conn, pstmt, rs); } return null; } }

编写InitController(完成上面的具体业务)

java package com.xxx.controller; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.xxx.service.NewsService; import com.xxx.service.NoticeService; import com.xxx.service.ProductBigTypeService; import com.xxx.service.ProductService; import com.xxx.service.TagService; import com.xxx.service.impl.NewsServiceImpl; import com.xxx.service.impl.NoticeServiceImpl; import com.xxx.service.impl.ProductBigTypeServiceImpl; import com.xxx.service.impl.ProductServiceImpl; import com.xxx.service.impl.TagServiceImpl; import com.xxx.vo.News; import com.xxx.vo.Notice; import com.xxx.vo.Product; import com.xxx.vo.ProductBigType; import com.xxx.vo.Tag; /** * 请求初始化拦截 */ public class InitController extends HttpServlet { private static final long serialVersionUID = 1L; // 多态--通过接口,以及接口的实例化来降低耦合度、让程序更加容易拓展! private ProductBigTypeService bigTypeService = new ProductBigTypeServiceImpl(); // 热门标签 private TagService tagService = new TagServiceImpl(); // 公告 private NoticeService noticeService=new NoticeServiceImpl(); // 新闻 private NewsService newsService=new NewsServiceImpl(); // 商品 private ProductService productService=new ProductServiceImpl(); @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 查询类别信息存放到作用域中 List<ProductBigType> bigTypeList = bigTypeService.findAllBigType(); System.out.println(bigTypeList + "bigTypeList"); // 查询热门标签导航栏 List<Tag> tagList = tagService.findAll(); //获取公告 List<Notice> noticeList = noticeService.findAll(); //获取新闻 List<News> newList = newsService.findAll(); //获取特价商品 List<Product> specialPriceProductList = productService.findSpecialPrice(); //获取热门商品 List<Product> hotProductList = productService.findHotProductList(); // 将查询结果放到域对象里面 req.setAttribute("bigTypeList", bigTypeList); req.setAttribute("tagList", tagList); req.setAttribute("noticeList", noticeList); req.setAttribute("newsList", newList); req.setAttribute("specialPriceProductList", specialPriceProductList); req.setAttribute("hotProductList", hotProductList); req.getRequestDispatcher("/index.jsp").forward(req, resp); } }

前台获取数据,并显示数据(index.jsp) 显示内容:特价&热卖&新闻&公告栏

```html <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

Insert title here

今日特价

最新公告

新闻动态

热卖推荐

```

5.项目展示

首页

导航栏

分类

用户注册

登陆与注销

新闻公告

分类查询与模糊查询

商品详情和最近浏览

购物车和下单

用户订单查询

后台管理

参考文献

  • 郑州华中食品城网上购物中心的设计与实现(电子科技大学·王民川)
  • 网购平台的设计与实现(吉林大学·王萱筠)
  • 基于J2EE构架下的典型网上交易平台实现技术(南京工业大学·于磊)
  • 基于PHP+MySQL的图书在线销售系统的设计与实现(吉林大学·万颖)
  • 电子产品网络购物系统的设计与实现(电子科技大学·李睿)
  • 电子商务门户网站的研究与实现(大庆石油学院·戴庆)
  • 郑州华中食品城网上购物中心的设计与实现(电子科技大学·王民川)
  • Go购电子商城的设计与实现(大连理工大学·赵楠)
  • 基于J2EE构架下的典型网上交易平台实现技术(南京工业大学·于磊)
  • 基于.NET的网上购物系统的设计与实现(电子科技大学·朱照坤)
  • 基于JSP的儿童购物网站的设计与实现(河北工业大学·陈顺通)
  • WEB数据库——基于JSP技术实现电子商务网站的设计(吉林大学·孙明磊)
  • WEB数据库——基于JSP技术实现电子商务网站的设计(吉林大学·孙明磊)
  • 翼百公司网上购物系统设计与实现(大连理工大学·赵斌)
  • 翼百公司网上购物系统设计与实现(大连理工大学·赵斌)

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

相关推荐

  • 基于SpringBoot框架的IT技术交流分享平台

    这是一份采用Java语言构建的🔥🔥SpringBoot核心框架的IT技术讨论平台源代码项目🔥🔥,我们利用SpringBoot和Vue,js技术栈进行开发,并在Idea或Eclipse环境下进行操作
    2024年05月23日
    3 1 1
  • 中药实验管理系统

    这是一个🔥🔥基于SpringBoot框架的中药实验管理系统设计与实现🔥🔥的项目源码,开发语言Java,框架使用的SpringBoot+vue技术,开发环境Idea/Eclipse
    2024年05月23日
    2 1 1
  • 基于Java+SSM的失物招领平台

    这是一个🔥🔥基于SSM的失物招领平台🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 失物招领平台开发技术栈为SSM项目,可以作为毕业设计课程设计作业基于Java+SSM框架实现一个失物招领平台
    2024年05月23日
    7 1 3
  • 基于JSP实现的学生成绩管理系统

    基于JSP实现的学生成绩管理系统 1 引言 1,1 任务简介 多用户管理:用户分管理员,学生 网页界面设计:利用HTML和CSS实现客户端前台设计 类间关系的设计
    2024年05月14日
    6 1 1
  • 基于python实现的比价网站

    1,项目简介 1,1你低我低 是什么? (Introduction) 你低我低 致力于建设绝无人工干预的比价网站 现支持淘宝,亚马逊 支持自定义排序方式 1
    2024年05月14日
    2 1 1
  • 基于SSM框架的考勤签到请假系统

    基于SSM框架的考勤签到请假系统是一种基于web的员工管理系统,旨在解决传统考勤管理方式中存在的效率低下等问题,随着信息技术的发展,企业管理逐渐向数字化,网络化方向转变
    2024年05月07日
    16 1 4
  • 新闻稿件管理系统

    这是一个🔥🔥基于SpringBoot框架的新闻稿件管理系统设计与实现🔥🔥的项目源码,开发语言Java,框架使用的SpringBoot+vue技术,开发环境Idea/Eclipse
    2024年05月23日
    3 1 1
  • 基于SpringBoot框架的个人博客系统

    这是一套采用Java语言构建的🔥🔥SpringBoot为核心的个人博客系统源代码🔥🔥,项目中应用了SpringBoot框架和Vue技术,开发工具为Idea或Eclipse
    2024年05月23日
    15 1 2
  • 中医藏象辨证量化诊断系统之Python

    中医藏象辨证量化诊断系统 1,内容 对深度学习,集成学习等算法进行深入研究,探索利用相关算法开展中医辨证的创新研究与应用,利用相关算法实现临床数据采集,量化诊断和可视化结果展示
    2024年05月14日
    48 1 10
  • 基于springboot+vue框架实现的在线教育系统

    基于springboot+vue框架实现的在线教育系统 一,引言 1,编写目的 希望给广大程序员们提供一个分享交流的平台,主要提供视频与文档的上传共享功能
    2024年05月14日
    16 1 3

发表回复

登录后才能评论