基于SSM实现的水果销售网站、农产品销售管理系统、水果在线交易管理系统、生鲜在线销售管理系统,附源码+数据库

1、项目介绍

该系统主要分为前台和后台两大功能模块,共包含三个角色:农户、经销商和管理员。

具体的系统功能如下:

1.前台功能

前台首页、用户注册、用户登录、新闻公告、水果行情、查看水果、水果详情、加入购物车、加入收藏、购买水果、付款结算、添加评论、留言交流、个人中心、我的订单、我的收藏、意见反馈、发布水果、我的销售等功能。

2.后台功能

后台系统登陆、用户管理、管理员管理、网站内容管理、水果类型管理、水果信息管理、采购订单管理、用户评价管理、意见反馈管理、留言交流管理等功能。

该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的应用价值。

2、技术框架

编程语言:Java

系统架构:B/S

后端框架:SSM

前端框架:JSP、jQuery 、H-ui

数据库:MySQL

Maven项目:否

运行环境:JDK8+Tomcat8.5+MySQL5.6+Idea

3、运行视频

B站地址:

基于SSM实现的水果销售网站、农产品销售管理系统、水果在线交易管理系统、生鲜在线销售管理系统,附源码+数据库,适合课程设计、毕设

基于SSM实现的水果销售网站、农产品销售管理系统、水果在线交易管理系统、生鲜在线销售管理系统,附源码+数据库,适合课程设计、毕设_哔哩哔哩_bilibili

4、项目截图

4.1、项目首页

4.2、农户和经销商-登录

4.3、农户和经销商-注册

4.4、新闻公告

4.5、全部水果

4.6、农户-水果详情

4.7、农户-留言交流

4.8、农户-用户中心

4.9、农户-用户信息

4.10、农户-修改信息

4.11、农户-发布水果

4.12、农户-我的水果

4.13、农户-我的销售

4.14、农户-我的收藏

4.15、农户-意见反馈

4.16、农户-我的意见反馈

4.17、经销商-加入购物车

4.18、经销商-我的购物车

4.19、经销商-付款

4.20、管理员-登录

4.21、管理员-管理员信息管理

4.22、管理员-网站用户信息管理

4.23、管理员-网站栏目信息管理

4.24、管理员-网站内容信息管理

4.25、管理员-水果类型信息管理

4.26、管理员-水果信息管理

4.27、管理员-采购订单信息管理

4.28、管理员-用户评价信息管理

4.29、管理员-意见反馈信息管理

4.30、管理员-留言交流信息管理

4.31、留言信息回复管理

5、代码示例

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>

<!doctype html>
<html lang="zh_CN">
<head>
<base href="<%=basePath%>" />
<title>${title }</title>
<script type="text/javascript" src="js/jquery-1.3.2.min.js" charset="utf-8"></script>
<script type="text/javascript" src="js/selimage.js" charset="utf-8"></script>
<script type="text/javascript" src="js/ajax.js" charset="utf-8"></script>
</head>

<body>
	<jsp:include page="header.jsp"></jsp:include>
	<div class="block box">
		<div class="blank"></div>
		<div id="ur_here">
			当前位置: <a href="<%=basePath%>">首页</a>
			<code> &gt; </code>
			发布水果
		</div>
	</div>
	<div class="blank"></div>

	<div class="blank"></div>
	<div class="block clearfix">

		<div class="AreaL">
			<div class="box">
				<div class="box_1">
					<div class="userCenterBox">
						<jsp:include page="usermenu.jsp"></jsp:include>
					</div>
				</div>
			</div>
		</div>


		<div class="AreaR">
			<div class="box">
				<div class="box_1">
					<div class="userCenterBox boxCenterList clearfix" style="_height: 1%;">
						<h5>
							<span>发布水果</span>
						</h5>
						<div class="blank"></div>
						<form action="index/addGoods.action" name="myform" method="post">
							<table width="100%" border="0" cellpadding="5" cellspacing="1" bgcolor="#dddddd">
								<tr>
									<td width="15%" align="right" bgcolor="#FFFFFF">水果名称:</td>
									<td width="85%" align="left" bgcolor="#FFFFFF"><input name="goodsname" type="text" size="25"
										class="inputBg" id="goodsname" placeholder="请输入水果名称" /></td>
								</tr>
								<tr>
									<td width="15%" align="right" bgcolor="#FFFFFF">水果类型:</td>
									<td width="85%" align="left" bgcolor="#FFFFFF"><select name="cateid" class="inputBg" id="cateid"><c:forEach
												items="${cateList}" var="cate">
												<option value="${cate.cateid}">${cate.catename }</option>
											</c:forEach></select></td>
								</tr>
								<tr>
									<td width="15%" align="right" bgcolor="#FFFFFF">图片:</td>
									<td width="85%" align="left" bgcolor="#FFFFFF"><input name="image" type="text" size="25" class="inputBg"
										id="image" onclick="selimage();" placeholder="请选择图片" readonly="readonly" /></td>
								</tr>
								<tr>
									<td width="15%" align="right" bgcolor="#FFFFFF">单价:</td>
									<td width="85%" align="left" bgcolor="#FFFFFF"><input name="price" type="text" size="25" class="inputBg"
										id="price" placeholder="请输入单价" /></td>
								</tr>
								<tr>
									<td width="15%" align="right" bgcolor="#FFFFFF">库存数:</td>
									<td width="85%" align="left" bgcolor="#FFFFFF"><input name="storage" type="text" size="25" class="inputBg"
										id="storage" placeholder="请输入库存数" /></td>
								</tr>
								<tr>
									<td width="15%" align="right" bgcolor="#FFFFFF">水果介绍:</td>
									<td align="left" bgcolor="#FFFFFF"><script type="text/javascript" src="ckeditor/ckeditor.js"></script> <textarea
											cols="80" name="contents" id="contents" rows="10">在此添加内容 </textarea> <script type="text/javascript">
												CKEDITOR.replace('contents', {
													language : 'zh-cn'
												});
											</script></td>
								</tr>
								<tr>
									<td colspan="2" align="center" bgcolor="#FFFFFF"><input type="submit" class="bnt_blue_1"
										style="border: none;" value="确认发布" /></td>
								</tr>
							</table>
						</form>

					</div>
				</div>
			</div>
		</div>

	</div>
	<div class="blank"></div>
	<jsp:include page="footer.jsp"></jsp:include>
</body>
</html>
package com.controller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.entity.Complains;
import com.service.ComplainsService;
import com.entity.Users;
import com.service.UsersService;
import com.util.PageHelper;
//定义为控制器
@Controller
// 设置路径
@RequestMapping(value = "/complains" , produces = "text/plain;charset=utf-8")
public class ComplainsController extends BaseController {
	// 注入Service 由于标签的存在 所以不需要getter setter
	@Autowired
	private ComplainsService complainsService;
	@Autowired
	private UsersService usersService;

	// 准备添加数据
	@RequestMapping("createComplains.action")
	public String createComplains() {
		List<Users> usersList = this.usersService.getAllUsers();
		this.getRequest().setAttribute("usersList", usersList);
		return "admin/addcomplains";
	}
	// 添加数据
	@RequestMapping("addComplains.action")
	public String addComplains(Complains complains) {
		this.complainsService.insertComplains(complains);
		return "redirect:/complains/createComplains.action";
	}

	// 通过主键删除数据
	@RequestMapping("deleteComplains.action")
	public String deleteComplains(String id) {
		this.complainsService.deleteComplains(id);
		return "redirect:/complains/getAllComplains.action";
	}

	// 批量删除数据
	@RequestMapping("deleteComplainsByIds.action")
	public String deleteComplainsByIds() {
		String[] ids = this.getRequest().getParameterValues("complainsid");
		for (String complainsid : ids) {
			this.complainsService.deleteComplains(complainsid);
		}
		return "redirect:/complains/getAllComplains.action";
	}

	// 更新数据
	@RequestMapping("updateComplains.action")
	public String updateComplains(Complains complains) {
		this.complainsService.updateComplains(complains);
		return "redirect:/complains/getAllComplains.action";
	}

	// 更新状态
	@RequestMapping("status.action")
	public String status(String id) {
		String status = "";
		Complains complains = this.complainsService.getComplainsById(id);
		if (status.equals(complains.getStatus())) {
			status = "";
		}
		complains.setStatus(status);
		this.complainsService.updateComplains(complains);
		return "redirect:/complains/getAllComplains.action";
	}

	// 显示全部数据
	@RequestMapping("getAllComplains.action")
	public String getAllComplains(String number) {
		List<Complains> complainsList = this.complainsService.getAllComplains();
		PageHelper.getPage(complainsList, "complains", null, null, 10, number, this.getRequest(), null);
		return "admin/listcomplains";
	}

	// 按条件查询数据 (模糊查询)
	@RequestMapping("queryComplainsByCond.action")
	public String queryComplainsByCond(String cond, String name, String number) {
		Complains complains = new Complains();
		if(cond != null){
			if ("usersid".equals(cond)) {
				complains.setUsersid(name);
			}
			if ("title".equals(cond)) {
				complains.setTitle(name);
			}
			if ("contents".equals(cond)) {
				complains.setContents(name);
			}
			if ("addtime".equals(cond)) {
				complains.setAddtime(name);
			}
			if ("status".equals(cond)) {
				complains.setStatus(name);
			}
			if ("reps".equals(cond)) {
				complains.setReps(name);
			}
		}

		List<String> nameList = new ArrayList<String>();
		List<String> valueList = new ArrayList<String>();
		nameList.add(cond);
		valueList.add(name);
		PageHelper.getPage(this.complainsService.getComplainsByLike(complains), "complains", nameList, valueList, 10, number, this.getRequest(), "query");
		name = null;
		cond = null;
		return "admin/querycomplains";
	}

	// 按主键查询数据
	@RequestMapping("getComplainsById.action")
	public String getComplainsById(String id) {
		Complains complains = this.complainsService.getComplainsById(id);
		this.getRequest().setAttribute("complains", complains);
		List<Users> usersList = this.usersService.getAllUsers();
		this.getRequest().setAttribute("usersList", usersList);
		return "admin/editcomplains";
	}


}
package com.controller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.entity.Rebbs;
import com.service.RebbsService;
import com.entity.Users;
import com.entity.Bbs;
import com.service.UsersService;
import com.service.BbsService;
import com.util.PageHelper;
//定义为控制器
@Controller
// 设置路径
@RequestMapping(value = "/rebbs" , produces = "text/plain;charset=utf-8")
public class RebbsController extends BaseController {
	// 注入Service 由于标签的存在 所以不需要getter setter
	@Autowired
	private RebbsService rebbsService;
	@Autowired
	private UsersService usersService;
	@Autowired
	private BbsService bbsService;

	// 准备添加数据
	@RequestMapping("createRebbs.action")
	public String createRebbs() {
		List<Users> usersList = this.usersService.getAllUsers();
		this.getRequest().setAttribute("usersList", usersList);
		List<Bbs> bbsList = this.bbsService.getAllBbs();
		this.getRequest().setAttribute("bbsList", bbsList);
		return "admin/addrebbs";
	}
	// 添加数据
	@RequestMapping("addRebbs.action")
	public String addRebbs(Rebbs rebbs) {
		this.rebbsService.insertRebbs(rebbs);
		return "redirect:/rebbs/createRebbs.action";
	}

	// 通过主键删除数据
	@RequestMapping("deleteRebbs.action")
	public String deleteRebbs(String id) {
		this.rebbsService.deleteRebbs(id);
		return "redirect:/rebbs/getAllRebbs.action";
	}

	// 批量删除数据
	@RequestMapping("deleteRebbsByIds.action")
	public String deleteRebbsByIds() {
		String[] ids = this.getRequest().getParameterValues("rebbsid");
		for (String rebbsid : ids) {
			this.rebbsService.deleteRebbs(rebbsid);
		}
		return "redirect:/rebbs/getAllRebbs.action";
	}

	// 更新数据
	@RequestMapping("updateRebbs.action")
	public String updateRebbs(Rebbs rebbs) {
		this.rebbsService.updateRebbs(rebbs);
		return "redirect:/rebbs/getAllRebbs.action";
	}

	// 显示全部数据
	@RequestMapping("getAllRebbs.action")
	public String getAllRebbs(String number) {
		List<Rebbs> rebbsList = this.rebbsService.getAllRebbs();
		PageHelper.getPage(rebbsList, "rebbs", null, null, 10, number, this.getRequest(), null);
		return "admin/listrebbs";
	}

	// 按条件查询数据 (模糊查询)
	@RequestMapping("queryRebbsByCond.action")
	public String queryRebbsByCond(String cond, String name, String number) {
		Rebbs rebbs = new Rebbs();
		if(cond != null){
			if ("usersid".equals(cond)) {
				rebbs.setUsersid(name);
			}
			if ("bbsid".equals(cond)) {
				rebbs.setBbsid(name);
			}
			if ("contents".equals(cond)) {
				rebbs.setContents(name);
			}
			if ("addtime".equals(cond)) {
				rebbs.setAddtime(name);
			}
		}

		List<String> nameList = new ArrayList<String>();
		List<String> valueList = new ArrayList<String>();
		nameList.add(cond);
		valueList.add(name);
		PageHelper.getPage(this.rebbsService.getRebbsByLike(rebbs), "rebbs", nameList, valueList, 10, number, this.getRequest(), "query");
		name = null;
		cond = null;
		return "admin/queryrebbs";
	}

	// 按主键查询数据
	@RequestMapping("getRebbsById.action")
	public String getRebbsById(String id) {
		Rebbs rebbs = this.rebbsService.getRebbsById(id);
		this.getRequest().setAttribute("rebbs", rebbs);
		List<Users> usersList = this.usersService.getAllUsers();
		this.getRequest().setAttribute("usersList", usersList);
		List<Bbs> bbsList = this.bbsService.getAllBbs();
		this.getRequest().setAttribute("bbsList", bbsList);
		return "admin/editrebbs";
	}


}

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java源码集合

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值