首页 > 分享 > 基于Java网上花店系统设计实现(源码+部署文档)

基于Java网上花店系统设计实现(源码+部署文档)

博主介绍: ✌至今服务客户已经1000+、专注于Java技术领域、项目定制、技术答疑、开发工具、毕业项目实战 ✌
文末获取源码联系
精彩专栏 推荐订阅 不然下次找不到

Java项目精品实战专区https://blog.csdn.net/java18343246781/category_12537229.html Java各种开发工具资源包网站http://62.234.13.119:9000/html/visitor/softwareResourceList.html

系列文章目录

前言

一、运行环境

二、代码示例

三、系统展示

前言

  这个网上花店系统的前端采用了先进的技术,涵盖了多项关键功能,以满足用户在选购鲜花时的各种需求。以下是其中一些主要功能的简要介绍:

商城列表:用户可以通过商城列表轻松浏览各类精选鲜花,系统通过清晰的界面呈现丰富的花卉信息,使用户能够迅速找到心仪的花束。

加入购物车:购物车是用户选购鲜花的中转站,通过简单的操作,用户可以将心仪的花束加入购物车,方便随时查看已选鲜花和进行结算。

登录注册:为了提供个性化的购物服务,系统支持用户注册和登录功能,使用户能够轻松管理个人信息、查看订单历史等。

商品详情:用户可以查看每一款鲜花的详细信息,包括花材、花语等,以更好地了解并选择适合自己或送人的鲜花。

订单列表:用户可以方便地查看自己的订单历史,包括已完成和待处理的订单,提供了全面的订单管理功能。

下单:系统简化了下单流程,用户只需几步操作即可完成购物,享受快捷、愉悦的购物服务。

商品分类:通过合理的商品分类,用户可以迅速找到所需花卉,提高购物效率。

这个网上花店系统通过先进的前端设计,为用户打造了一个直观、美观的购物平台,使得选购鲜花成为一种愉快的体验。希望本系统能够为用户提供更多精彩的花卉选择,让鲜花的美好传递更加便捷、温馨。

一、运行环境

        该系统采用了JDK 1.8作为基础开发环境,并搭建在JavaWeb框架上,利用Servlet、JSP等技术简化了Web应用程序的开发。作为数据存储后端,选择了MySQL数据库,并通过JDBC技术实现与数据库的交互,包括执行SQL查询和更新操作。JSP技术用于动态生成用户界面,将Java代码嵌入HTML页面,提供了更灵活、交互性更强的用户体验。这一组技术的有机结合使得系统具备了完整的Web开发能力,为用户提供高效、稳定的在线服务。

二、代码示例

代码如下(示例):

package com.itbaizhan.servlet;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.List;

import java.util.Map;

import javax.servlet.RequestDispatcher;

import javax.servlet.ServletConfig;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import com.itbaizhan.bean.Dingdan;

import com.itbaizhan.bean.Fenlei;

import com.itbaizhan.bean.Gonggao;

import com.itbaizhan.bean.Product;

import com.itbaizhan.bean.User;

import com.itbaizhan.dao.DingdanDao;

import com.itbaizhan.dao.FenleiDao;

import com.itbaizhan.dao.GonggaoDao;

import com.itbaizhan.dao.ProductDao;

import com.itbaizhan.dao.UserDao;

import com.itbaizhan.util.Util;

import com.jspsmart.upload.SmartUpload;

import com.jspsmart.upload.SmartUploadException;

public class ManageServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

public void init(ServletConfig config) throws ServletException {

super.init(config);

}

public void destroy() {

super.destroy();

}

protected void doGet(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

this.doPost(req, resp);

}

protected void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

request.setCharacterEncoding("utf-8");

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

response.setCharacterEncoding("utf-8");response.setContentType("text/html; charset=utf-8");

PrintWriter writer = response.getWriter();

String uri = request.getRequestURI();

String[] s = uri.split("/");

String method = s[3];

String url ="";

int pagenum = 1;

int pagesize = 15;

UserDao userDao = new UserDao();

FenleiDao fenleiDao = new FenleiDao();

ProductDao productDao = new ProductDao();

GonggaoDao gonggaoDao = new GonggaoDao();

DingdanDao dingdanDao = new DingdanDao();

if("login".equals(method)){

String username = request.getParameter("username");

String password = request.getParameter("password");

User bean = userDao.selectBean(" where username='"+username+"' and password ='"+password+"' and role=1 ");

if(bean!=null){

HttpSession session = request.getSession();

session.setAttribute("manage", bean);

writer.print("<script language='javascript'>alert('登录成功');window.location.href='"+basePath+"manage/index.jsp'; </script>");

}else{

writer.print("<script language='javascript'>alert('用户名或者密码错误');window.location.href='"+basePath+"manage/login.jsp';</script>");

}

}

else if("loginout".equals(method)){

HttpSession session =request.getSession();

session.removeAttribute("manage");

writer.print("<script language='javascript'>alert('退出成功');window.location.href='"+basePath+"manage/login.jsp';</script>");

}

else if("passwordupdate".equals(method)){

request.setAttribute("biaoti", "修改密码");

request.setAttribute("url", "manageServlet/passwordupdate2");

RequestDispatcher dispatcher = request.getRequestDispatcher("/manage/passwordupdate.jsp");

dispatcher.forward(request, response);

}

else if("passwordupdate2".equals(method)){

String password1 = request.getParameter("password1");

String password2 = request.getParameter("password2");

HttpSession session = request.getSession();

User user = (User)session.getAttribute("manage");

User u = userDao.selectBean(" where username='"+user.getUsername()+"' and password='"+password1+"' ");

if(u!=null){

u.setPassword(password2);

userDao.updateBean(u);

writer.print("<script language='javascript'>alert('操作成功');window.location.href='"+basePath+"manageServlet/passwordupdate'; </script>");

}else{

writer.print("<script language='javascript'>alert('操作失败,原密码错误!');window.location.href='"+basePath+"manageServlet/passwordupdate'; </script>");

}

}

else if("fenleilist".equals(method)){

url = "manageServlet/fenleilist";

String fname = request.getParameter("fname");

StringBuffer sb = new StringBuffer();

sb.append(" where ");

if(fname!=null&&!"".equals(fname)){

sb.append(" fname like '%"+fname+"%' ");

sb.append(" and ");

request.setAttribute("fname", fname);

}

sb.append(" 1=1 order by id desc ");

String where = sb.toString();

if(request.getParameter("pagenum")!=null){

pagenum = Integer.parseInt(request.getParameter("pagenum"));

}

Map<String,List<Fenlei>> map = fenleiDao.getList(pagenum,pagesize,url,where);

String pagerinfo = map.keySet().iterator().next();

List<Fenlei> list = map.get(pagerinfo);

request.setAttribute("pagerinfo", pagerinfo);

request.setAttribute("list", list);

request.setAttribute("biaoti", "分类信息列表");

request.setAttribute("url", "manageServlet/fenleilist");

request.setAttribute("url2", "manageServlet/fenlei");

RequestDispatcher dispatcher = request.getRequestDispatcher("/manage/fenlei/fenleilist.jsp");

dispatcher.forward(request, response);

}

else if("fenleiadd".equals(method)){

request.setAttribute("biaoti", "添加分类信息");

request.setAttribute("url", "manageServlet/fenleiadd2");

RequestDispatcher dispatcher = request.getRequestDispatcher("/manage/fenlei/fenleiadd.jsp");

dispatcher.forward(request, response);

}

else if("fenleiadd2".equals(method)){

String fname = request.getParameter("fname");

Fenlei bean = new Fenlei();

bean.setFname(fname);

fenleiDao.insertBean(bean);

writer.print("<script language='javascript'>alert('操作成功');window.location.href='"+basePath+"manageServlet/fenleilist'; </script>");

}

else if("fenleiupdate".equals(method)){

String id = request.getParameter("id");

Fenlei bean = fenleiDao.selectBean(" where id= "+id);

request.setAttribute("bean", bean);

request.setAttribute("biaoti", "更新分类信息");

request.setAttribute("url", "manageServlet/fenleiupdate2?id="+bean.getId());

RequestDispatcher dispatcher = request.getRequestDispatcher("/manage/fenlei/fenleiupdate.jsp");

dispatcher.forward(request, response);

}

else if("fenleiupdate2".equals(method)){

String fname = request.getParameter("fname");

String id = request.getParameter("id");

Fenlei bean = fenleiDao.selectBean(" where id= "+id);

bean.setFname(fname);

fenleiDao.updateBean(bean);

writer.print("<script language='javascript'>alert('操作成功');window.location.href='"+basePath+"manageServlet/fenleilist'; </script>");

}

else if("fenleidelete".equals(method)){

String id = request.getParameter("id");

Fenlei bean = fenleiDao.selectBean(" where id= "+id);

fenleiDao.deleteBean(bean);

writer.print("<script language='javascript'>alert('操作成功');window.location.href='"+basePath+"manageServlet/fenleilist'; </script>");

}

else if("fenleiupdate3".equals(method)){

request.setAttribute("biaoti", "查看分类信息");

String id = request.getParameter("id");

Fenlei bean = fenleiDao.selectBean(" where id= "+id);

request.setAttribute("bean", bean);

RequestDispatcher dispatcher = request.getRequestDispatcher("/manage/fenlei/fenleiupdate3.jsp");

dispatcher.forward(request, response);

}

else if("productlist".equals(method)){

url = "manageServlet/productlist";

String fname = request.getParameter("fname");

request.setAttribute("fenleilist", fenleiDao.getList(""));

String pname = request.getParameter("pname");

StringBuffer sb = new StringBuffer();

sb.append(" where ");

if(fname!=null&&!"".equals(fname)){

sb.append(" fname like '%"+fname+"%' ");

sb.append(" and ");

request.setAttribute("fname", fname);

}

if(pname!=null&&!"".equals(pname)){

sb.append(" pname like '%"+pname+"%' ");

sb.append(" and ");

request.setAttribute("pname", pname);

}

sb.append(" 1=1 order by id desc ");

String where = sb.toString();

if(request.getParameter("pagenum")!=null){

pagenum = Integer.parseInt(request.getParameter("pagenum"));

}

Map<String,List<Product>> map = productDao.getList(pagenum,pagesize,url,where);

String pagerinfo = map.keySet().iterator().next();

List<Product> list = map.get(pagerinfo);

request.setAttribute("pagerinfo", pagerinfo);

request.setAttribute("list", list);

request.setAttribute("biaoti", "商品信息列表");

request.setAttribute("url", "manageServlet/productlist");

request.setAttribute("url2", "manageServlet/product");

RequestDispatcher dispatcher = request.getRequestDispatcher("/manage/product/productlist.jsp");

dispatcher.forward(request, response);

}

else if("productadd".equals(method)){

request.setAttribute("biaoti", "添加商品信息");

request.setAttribute("url", "manageServlet/productadd2");

request.setAttribute("fenleilist", fenleiDao.getList(""));

RequestDispatcher dispatcher = request.getRequestDispatcher("/manage/product/productadd.jsp");

dispatcher.forward(request, response);

}

else if("productadd2".equals(method)){

String fenleiid = request.getParameter("fenleiid");

String jiage = request.getParameter("jiage");

String miaoshu = request.getParameter("miaoshu");

String pname = request.getParameter("pname");

String count = request.getParameter("count");

System.out.println("count=>"+count);

Fenlei fenlei = fenleiDao.selectBean(" where id= "+fenleiid);

Product bean = new Product();

bean.setCreatetime(Util.getTime());

bean.setDianjishu(0);

bean.setFenleiid(fenlei.getId()+"");

bean.setFname(fenlei.getFname());

bean.setJiage(Double.parseDouble(jiage));

bean.setMiaoshu(miaoshu);

bean.setPname(pname);

bean.setTuijian("未推荐");

bean.setXiaoliang(0);

bean.setCount(Integer.parseInt(count));

productDao.insertBean(bean);

writer.print("<script language='javascript'>alert('操作成功');window.location.href='"+basePath+"manageServlet/productlist'; </script>");

}

else if("productupdate".equals(method)){

String id = request.getParameter("id");

Product bean = productDao.selectBean(" where id= "+id);

request.setAttribute("fenleilist", fenleiDao.getList(""));

request.setAttribute("bean", bean);

request.setAttribute("biaoti", "更新商品信息");

request.setAttribute("url", "manageServlet/productupdate2?id="+bean.getId());

RequestDispatcher dispatcher = request.getRequestDispatcher("/manage/product/productupdate.jsp");

dispatcher.forward(request, response);

}

else if("productupdate2".equals(method)){

String fenleiid = request.getParameter("fenleiid");

String imgpath = request.getParameter("imgpath");

String jiage = request.getParameter("jiage");

String miaoshu = request.getParameter("miaoshu");

String pname = request.getParameter("pname");

String count = request.getParameter("count");

Fenlei fenlei = fenleiDao.selectBean(" where id= "+fenleiid);

String id = request.getParameter("id");

Product bean = productDao.selectBean(" where id= "+id);

bean.setFenleiid(fenlei.getId()+"");

bean.setFname(fenlei.getFname());

bean.setImgpath(imgpath);

bean.setJiage(Double.parseDouble(jiage));

bean.setMiaoshu(miaoshu);

bean.setPname(pname);

bean.setCount(Integer.parseInt(count));

productDao.updateBean(bean);

writer.print("<script language='javascript'>alert('操作成功');window.location.href='"+basePath+"manageServlet/productlist'; </script>");

}

else if("productupdate5".equals(method)){

String id = request.getParameter("id");

Product bean = productDao.selectBean(" where id= "+id);

request.setAttribute("bean", bean);

request.setAttribute("biaoti", "上传商品图片");

request.setAttribute("url", "manageServlet/productupdate6?id="+bean.getId());

RequestDispatcher dispatcher = request.getRequestDispatcher("/manage/product/productupdate5.jsp");

dispatcher.forward(request, response);

}

else if("productupdate6".equals(method)){

SmartUpload su = new SmartUpload();

su.initialize(this.getServletConfig(), request, response);

su.setMaxFileSize(1500000*8);

su.setAllowedFilesList("jpg,gif,bmp,JPG,GIF,BMP");

String imgpath="";

try {

su.upload();

com.jspsmart.upload.File file = su.getFiles().getFile(0);

if (!file.isMissing())

{

java.text.SimpleDateFormat dateFormatter = new java.text.SimpleDateFormat("yyyyMMddHHmmss");

String sNowTime = dateFormatter.format(new java.util.Date());

imgpath = sNowTime+"."+ file.getFileExt();

file.saveAs("/uploadfile/"+imgpath);

}

} catch (SmartUploadException e) {

e.printStackTrace();

}

String id = request.getParameter("id");

Product bean = productDao.selectBean(" where id= "+id);

bean.setImgpath(imgpath);

productDao.updateBean(bean);

writer.print("<script language='javascript'>alert('操作成功');window.location.href='"+basePath+"manageServlet/productlist'; </script>");

}

else if("productdelete".equals(method)){

String id = request.getParameter("id");

Product bean = productDao.selectBean(" where id= "+id);

productDao.deleteBean(bean);

writer.print("<script language='javascript'>alert('操作成功');window.location.href='"+basePath+"manageServlet/productlist'; </script>");

}

else if("productdelete2".equals(method)){

String id = request.getParameter("id");

Product bean = productDao.selectBean(" where id= "+id);

bean.setTuijian("已推荐");

productDao.updateBean(bean);

writer.print("<script language='javascript'>alert('操作成功');window.location.href='"+basePath+"manageServlet/productlist'; </script>");

}

else if("productdelete3".equals(method)){

String id = request.getParameter("id");

Product bean = productDao.selectBean(" where id= "+id);

bean.setTuijian("未推荐");

productDao.updateBean(bean);

writer.print("<script language='javascript'>alert('操作成功');window.location.href='"+basePath+"manageServlet/productlist'; </script>");

}

else if("productupdate3".equals(method)){

request.setAttribute("biaoti", "查看商品信息");

String id = request.getParameter("id");

Product bean = productDao.selectBean(" where id= "+id);

request.setAttribute("bean", bean);

RequestDispatcher dispatcher = request.getRequestDispatcher("/manage/product/productupdate3.jsp");

dispatcher.forward(request, response);

}

else if("gonggaolist".equals(method)){

url = "manageServlet/gonggaolist";

String biaotibiaoti = request.getParameter("biaotibiaoti");

StringBuffer sb = new StringBuffer();

sb.append(" where ");

if(biaotibiaoti!=null&&!"".equals(biaotibiaoti)){

sb.append(" biaoti like '%"+biaotibiaoti+"%' ");

sb.append(" and ");

request.setAttribute("biaoti", biaotibiaoti);

}

sb.append(" 1=1 order by id desc ");

String where = sb.toString();

if(request.getParameter("pagenum")!=null){

pagenum = Integer.parseInt(request.getParameter("pagenum"));

}

Map<String,List<Gonggao>> map = gonggaoDao.getList(pagenum,pagesize,url,where);

String pagerinfo = map.keySet().iterator().next();

List<Gonggao> list = map.get(pagerinfo);

request.setAttribute("pagerinfo", pagerinfo);

request.setAttribute("list", list);

request.setAttribute("biaoti", "公告信息列表");

request.setAttribute("url", "manageServlet/gonggaolist");

request.setAttribute("url2", "manageServlet/gonggao");

RequestDispatcher dispatcher = request.getRequestDispatcher("/manage/gonggao/gonggaolist.jsp");

dispatcher.forward(request, response);

}

else if("gonggaoadd".equals(method)){

request.setAttribute("biaoti", "添加公告信息");

request.setAttribute("url", "manageServlet/gonggaoadd2");

RequestDispatcher dispatcher = request.getRequestDispatcher("/manage/gonggao/gonggaoadd.jsp");

dispatcher.forward(request, response);

}

else if("gonggaoadd2".equals(method)){

String biaoti = request.getParameter("biaoti");

String neirong = request.getParameter("neirong");

Gonggao bean = new Gonggao();

bean.setBiaoti(biaoti);

bean.setNeirong(neirong);

bean.setShijian(Util.getTime());

gonggaoDao.insertBean(bean);

writer.print("<script language='javascript'>alert('操作成功');window.location.href='"+basePath+"manageServlet/gonggaolist'; </script>");

}

else if("gonggaoupdate".equals(method)){

String id = request.getParameter("id");

Gonggao bean = gonggaoDao.selectBean(" where id= "+id);

request.setAttribute("bean", bean);

request.setAttribute("biaoti", "更新公告信息");

request.setAttribute("url", "manageServlet/gonggaoupdate2?id="+bean.getId());

RequestDispatcher dispatcher = request.getRequestDispatcher("/manage/gonggao/gonggaoupdate.jsp");

dispatcher.forward(request, response);

}

else if("gonggaoupdate2".equals(method)){

String biaoti = request.getParameter("biaoti");

String neirong = request.getParameter("neirong");

String id = request.getParameter("id");

Gonggao bean = gonggaoDao.selectBean(" where id= "+id);

bean.setBiaoti(biaoti);

bean.setNeirong(neirong);

gonggaoDao.updateBean(bean);

writer.print("<script language='javascript'>alert('操作成功');window.location.href='"+basePath+"manageServlet/gonggaolist'; </script>");

}

else if("gonggaodelete".equals(method)){

String id = request.getParameter("id");

Gonggao bean = gonggaoDao.selectBean(" where id= "+id);

gonggaoDao.deleteBean(bean);

writer.print("<script language='javascript'>alert('操作成功');window.location.href='"+basePath+"manageServlet/gonggaolist'; </script>");

}

else if("gonggaoupdate3".equals(method)){

request.setAttribute("biaoti", "查看公告信息");

String id = request.getParameter("id");

Gonggao bean = gonggaoDao.selectBean(" where id= "+id);

request.setAttribute("bean", bean);

RequestDispatcher dispatcher = request.getRequestDispatcher("/manage/gonggao/gonggaoupdate3.jsp");

dispatcher.forward(request, response);

}

else if("dingdanlist".equals(method)){

url = "manageServlet/dingdanlist";

String status = request.getParameter("status");

String orderid = request.getParameter("orderid");

StringBuffer sb = new StringBuffer();

sb.append(" where ");

if(orderid!=null&&!"".equals(orderid)){

sb.append(" orderid like '%"+orderid+"%' ");

sb.append(" and ");

request.setAttribute("orderid", orderid);

}

if(status!=null&&!"".equals(status)){

sb.append(" status like '%"+status+"%' ");

sb.append(" and ");

request.setAttribute("status", status);

}

sb.append(" 1=1 order by id desc ");

String where = sb.toString();

if(request.getParameter("pagenum")!=null){

pagenum = Integer.parseInt(request.getParameter("pagenum"));

}

Map<String,List<Dingdan>> map = dingdanDao.getList(pagenum,pagesize,url,where);

String pagerinfo = map.keySet().iterator().next();

List<Dingdan> list = map.get(pagerinfo);

request.setAttribute("pagerinfo", pagerinfo);

request.setAttribute("list", list);

request.setAttribute("biaoti", "订单信息列表");

request.setAttribute("url", "manageServlet/dingdanlist");

request.setAttribute("url2", "manageServlet/dingdan");

RequestDispatcher dispatcher = request.getRequestDispatcher("/manage/dingdan/dingdanlist.jsp");

dispatcher.forward(request, response);

}

else if("dingdandelete".equals(method)){

String id = request.getParameter("id");

Dingdan bean = dingdanDao.selectBean(" where id= "+id);

bean.setStatus("已处理");

dingdanDao.updateBean(bean);

writer.print("<script language='javascript'>alert('操作成功');window.location.href='"+basePath+"manageServlet/dingdanlist'; </script>");

}

else if("dingdanupdate3".equals(method)){

request.setAttribute("biaoti", "查看订单信息");

String id = request.getParameter("id");

Dingdan bean = dingdanDao.selectBean(" where id= "+id);

request.setAttribute("bean", bean);

RequestDispatcher dispatcher = request.getRequestDispatcher("/manage/dingdan/dingdanupdate3.jsp");

dispatcher.forward(request, response);

}

else if("userlist".equals(method)){

url = "manageServlet/userlist";

String username = request.getParameter("username");

StringBuffer sb = new StringBuffer();

sb.append(" where ");

if(username!=null&&!"".equals(username)){

sb.append(" username like '%"+username+"%' ");

sb.append(" and ");

request.setAttribute("username", username);

}

sb.append(" role=0 order by id desc ");

String where = sb.toString();

if(request.getParameter("pagenum")!=null){

pagenum = Integer.parseInt(request.getParameter("pagenum"));

}

Map<String,List<User>> map = userDao.getList(pagenum,pagesize,url,where);

String pagerinfo = map.keySet().iterator().next();

List<User> list = map.get(pagerinfo);

request.setAttribute("pagerinfo", pagerinfo);

request.setAttribute("list", list);

request.setAttribute("biaoti", "用户信息列表");

request.setAttribute("url", "manageServlet/userlist");

request.setAttribute("url2", "manageServlet/user");

RequestDispatcher dispatcher = request.getRequestDispatcher("/manage/user/userlist.jsp");

dispatcher.forward(request, response);

}

else if("userdelete".equals(method)){

String id = request.getParameter("id");

User bean = userDao.selectBean(" where id= "+id);

userDao.deleteBean(bean);

writer.print("<script language='javascript'>alert('操作成功');window.location.href='"+basePath+"manageServlet/userlist'; </script>");

}

}

}

三、系统展示

网上花店首页:展示花店商品信息,可以通过名称和价格模糊查询。能够加入购物车、查看商品详情、观察价格以及库存数量、可以按照分类来查询商品。

网上花店详情页面:包含商品介绍、价格、点击次数、并且可以加入购物车。

订单详情页面:可以查看订单信息。

订单列表:查看历史订单

分类管理:维护分类信息。

订单管理:管理所有用户下单的订单信息。

商品管理:管理员可以在后台进行商品发布

系统公告:管理员可在后端发布公告通知。

用户管理:管理员可以对所有用户进行管理。

相关知识

基于java(ssm)线上花店管理系统设计与实现(源码+lw+部署文档+讲解等)
Java+JSP网上花店系统设计与源码实现
【附源码】JAVA计算机毕业设计网上花店管理系统(源码+mysql+文档)
基于Java网上花店系统设计实现(源码+lw+部署文档+讲解等)
基于Java毕业设计新型冠状病毒防控咨询网站2020源码+系统+mysql+lw文档+部署软件
基于Java技术的网上花店系统设计与实现(源码+lw+部署文档+讲解等)
基于JAVA馥郁花艺网站mp4计算机毕业设计源码+数据库+lw文档+系统+部署
基于php花店订购管理系统设计与实现(源码+lw+部署文档+讲解等)
Java实现鲜花销售系统
网上花店管理系统(源码+开题)

网址: 基于Java网上花店系统设计实现(源码+部署文档) https://m.huajiangbk.com/newsview901513.html

所属分类:花卉
上一篇: 关于金鱼吊兰的养殖方法和注意事项
下一篇: 基于springboot鲜花销售