作者主页:夜未央5788

简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

茶叶溯源系统,分为前台与后台。普通用户可在前台通过18位的编码查询茶叶的出售历史。

后台分为两种角色,管理员与经销商;

管理员主要功能包括:

主界面;
管理员管理:管理员列表、添加管理员;
分类管理:茶叶类型的添加、删除、修改;
茶叶管理:茶叶列表、添加、删除、修改茶叶;
大包装管理:大包装列表、添加、删除、修改大包装;
单品管理:售出统计、单品信息修改;

经销商主要功能包括:

主界面;

售出单品:确认售出单品;

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目

6.数据库:MySql 5.7版本;

技术栈

1. 后端:Spring SpringMVC MyBatis

2. 前端:JSP+bootstrap+jQuery+layUI

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置;
3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;

4. 运行项目,输入localhost:8080/tea-web/ 登录

运行截图

相关代码

管理端控制器

@Controller
public class AdminController {@Autowired AdminService as;/** 重复代码块,用来进行插入和更改时的时候对其进行调用。*/public Admin getParameter(HttpServletRequest request)throws Exception{Admin record=new Admin();record.setUname(request.getParameter("uname"));record.setPwd(request.getParameter("pwd"));record.setNickname(request.getParameter("nickname"));return record;}@RequestMapping("/AdminLogin") public String  AdminLogin(HttpServletRequest request,HttpServletResponse response,HttpSession session) throws UnknownHostException{String uname=request.getParameter("uname");String password=request.getParameter("pwd");Admin admin = as.selectByUname(uname);System.out.print("************************");if(uname==null){request.setAttribute("msg", "管理员不存在");System.out.print("管理员不存在");return "views/login";}if(!admin.getPwd().equals(password)){System.out.print("密码不存在");request.setAttribute("msg", "密码不存在");return "views/login";}session.setAttribute("admin", admin); session.setAttribute("adminname", admin.getNickname());return "views/index";}@RequestMapping("/AdminLoginPage") public String  AdminLoginPage(HttpServletRequest request,HttpServletResponse response,HttpSession session) throws UnknownHostException{return "views/admin_login";}//查询并分页@RequestMapping("/AdminPage")public ModelAndView AdminPage(@RequestParam(defaultValue="1") Integer currentPage,Map<String,Object> map){System.out.println("已到达");PageHelper.startPage(currentPage,8);List<Admin> list=as.selectAll();PageInfo<Admin> pageInfo=new PageInfo<Admin>(list,8);map.put("pageInfo", pageInfo);return new ModelAndView("views/admin");}@RequestMapping("/InsertAdmin")public ModelAndView addAdmin(HttpServletRequest request,String uname,String pwd,String nickname)throws Exception {Admin record=new Admin();record.setUname(uname);record.setPwd(nickname);record.setNickname(nickname);as.insert(record);return new ModelAndView("redirect:AdminPage");}//根据主键删除id@RequestMapping("/DeleteByAdminId")@ResponseBodypublic String deleteByPrimaryKey(@Param("id") int id) {as.delete(id);return "ok";}@RequestMapping(value="/ToUpdateAdmin")public String ToUpdateAdmin(HttpServletRequest request,int id) {Admin admin=as.findById(id);request.setAttribute("admin", admin);return "views/update_admin";}@RequestMapping("/UpdateAdmin")public ModelAndView UpdateAdmin(HttpServletRequest request,int id,String uname,String pwd,String nickname)throws Exception {Admin record=new Admin();record.setUname(uname);record.setPwd(pwd);record.setNickname(nickname);as.update(record,id);return new ModelAndView("redirect:AdminPage");}/*//模糊查询@RequestMapping("/selectByName")public String findByName(@RequestParam(defaultValue="1") Integer currentPage,HttpServletRequest request,Map<String,Object> map) {String Adminname=request.getParameter("search");System.out.println(Adminname);PageHelper.startPage(currentPage,8);List<Admin> list=AdminService.selectByName(Adminname);PageInfo<Admin> pageInfo=new PageInfo<Admin>(list,8);map.put("pageInfo", pageInfo);return "/Admin/showAdmin";}*/}

类型管理控制器

@Controller
public class TypeController {@Autowired TypeService ts;/** 重复代码块,用来进行插入和更改时的时候对其进行调用。*/public Type getParameter(HttpServletRequest request)throws Exception{Type record=new Type();record.settName(request.getParameter("tName"));return record;}@RequestMapping("/TypePage")public ModelAndView TypePage(@RequestParam(defaultValue="1") Integer currentPage,HttpServletRequest request,Map<String,Object> map){System.out.println("已到达");PageHelper.startPage(currentPage,8);List<Type> list=ts.selectAll();PageInfo<Type> pageInfo=new PageInfo<Type>(list,8);map.put("pageInfo", pageInfo);return new ModelAndView("/views/list_type");}@RequestMapping("/TypeWebPage")public ModelAndView TypeWebPage(@RequestParam(defaultValue="1") Integer currentPage,HttpServletRequest request,Map<String,Object> map){System.out.println("已到达");PageHelper.startPage(currentPage,5);List<Type> list=ts.selectAll();PageInfo<Type> pageInfo=new PageInfo<Type>(list,8);map.put("pageInfo", pageInfo);return new ModelAndView("/web/main");}@RequestMapping("/InsertType")public ModelAndView InsertType(HttpServletRequest request)throws Exception {Type record=new TypeController().getParameter(request);        ts.insert(record);return new ModelAndView("redirect:TypePage");}@RequestMapping("/getTypes.do")@ResponseBodypublic List<Type> getLesson(){List<Type> list=ts.selectAll();return list;}@RequestMapping(value="/ToUpdateType")public String ToUpdateType(HttpServletRequest request,int id) {Type record=ts.findById(id);request.setAttribute("type", record);return "views/update_type";}@RequestMapping("/UpdateType")public ModelAndView UpdateType(HttpServletRequest request,int id)throws Exception {Type record=new TypeController().getParameter(request);        ts.update(record, id);return new ModelAndView("redirect:TypePage");}//根据主键删除id@RequestMapping("/DeleteByTypeId")@ResponseBodypublic String deleteByTypeId(@Param("id") Integer id) {ts.delete(id);return "ok";}}

工具类

@Controller
public class PackController {@AutowiredPackService pa;@AutowiredItemService it;public static String getRandomUUID() {//1、创建时间戳java.util.Date dateNow = new java.util.Date();SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");String dateNowStr = dateFormat.format(dateNow);StringBuffer sb = new StringBuffer(dateNowStr);//2、创建随机对象Random rd = new Random();//3、产生4位随机数String n = "";int rdGet; //取得随机数do {rdGet = Math.abs(rd.nextInt()) % 10 + 48; //产生48到57的随机数(0-9的键位值)// rdGet=Math.abs(rd.nextInt())%26+97; //产生97到122的随机数(a-z的键位值)char num1 = (char) rdGet;String dd = Character.toString(num1);n += dd;} while (n.length() < 4);// 假如长度小于4sb.append(n);//4、返回唯一码return sb.toString();}public Pack getParameter(HttpServletRequest request)throws Exception{Pack record=new Pack();record.setPackId(request.getParameter("packId"));record.setMakeAdress(request.getParameter("makeAdress"));record.setTeaMaker(request.getParameter("teaMaker"));record.setMakePicture(request.getParameter("makePicture"));record.settId(Integer.parseInt(request.getParameter("tId")));record.setRetId(Integer.parseInt(request.getParameter("retId")));return record;}@RequestMapping("/PackPage")public ModelAndView TeasPage(@RequestParam(defaultValue="1") Integer currentPage,Map<String,Object> map){System.out.println("已到达");PageHelper.startPage(currentPage,8);List<Pack> list=pa.selectAll();PageInfo<Pack> pageInfo=new PageInfo<Pack>(list,8);map.put("pageInfo", pageInfo);return new ModelAndView("/views/list_pack");}@RequestMapping("/InsertPack")public ModelAndView InsertPack(HttpServletRequest request,MultipartFile makePicture)throws Exception {Pack record=new Pack();record.setPackId(getRandomUUID());;record.setMakePicture(UploadUtil.fileUpload(makePicture));record.setMakeAdress(request.getParameter("makeAdress"));record.setTeaMaker(request.getParameter("teaMaker"));record.setRetId(Integer.parseInt(request.getParameter("retId")));record.settId(Integer.parseInt(request.getParameter("tId")));      pa.insert(record);for(int i =0; i< 10;i++) {Item item=new Item();item.setItemId(getRandomUUID());item.setSaled(0);item.setPackId(record.getPackId());it.insert(item);}return new ModelAndView("redirect:PackPage");}@RequestMapping("/DeletePack")@ResponseBodypublic String deletePack(@Param("packId") String packId) {System.out.println(" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");System.out.print(packId);System.out.print(" 66666666666666666666666666666666666666666");it.deleteByPackId(packId);pa.delete(packId);return "ok";}
}

如果也想学习本系统,下面领取。关注并回复:059ssm

Java项目:ssm茶叶溯源系统相关推荐

  1. ssm茶叶溯源系统、

    下载地址:https://download.csdn.net/download/Gouzi99/23887654 项目介绍: ssm茶叶溯源系统. 系统说明: 项目引见 茶叶溯源系统,分为前台与后台. ...

  2. Java项目茶叶溯源系统(java+SSM+JSP+bootstrap+layUI+mysql)

    项目介绍 茶叶溯源系统,分为前台与后台.普通用户可在前台通过18位的编码查询茶叶的出售历史. 后台分为两种角色,管理员与经销商: 管理员主要功能包括: 主界面: 管理员管理:管理员列表.添加管理员: ...

  3. 基于javaweb的茶叶溯源系统(java+ssm+jsp+bootstrap+layui+mysql)

    基于javaweb的茶叶溯源系统(java+ssm+jsp+bootstrap+layui+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/ide ...

  4. 基于javaweb+mysql的茶叶溯源系统(java+SSM+JSP+bootstrap+layUI+mysql)

    项目介绍 茶叶溯源系统,分为前台与后台.普通用户可在前台通过18位的编码查询茶叶的出售历史. 后台分为两种角色,管理员与经销商: 管理员主要功能包括: 主界面: 管理员管理:管理员列表.添加管理员: ...

  5. 基于java项目ssm二手书交易平台设计与实现(论文+程序设计源码+数据库文件)

    1 绪论 4 1.1 项目开发背景 4 1.2 项目开发意义 5 1.3 项目主要的内容 5 2 相关技术介绍及系统环境开发条件 6 2.1相关技术介绍 6 2.2系统环境开发条件 7 3 系统的需求 ...

  6. Java用ssm开发家教系统家教网站家教兼职系统功能很齐全

    简介: 用户可以注册成为学员也可以是教员.教员发布家教信息,学员根据自己的要求查找符合自己的教员.学员预约教员的某一天去家教,教员可以在个人中心里查看,是否接受该预约.在教员接受或拒绝之前,学员随时可 ...

  7. Java项目-SSM实现完整的BBS论坛

    作者主页:编程指南针 简介:Java领域优质创作者.CSDN博客专家  Java项目.简历模板.学习资料.面试题库.技术互助 文末获取源码 项目编号:BS-PT-002 这个论坛功能开发的比较完整,论 ...

  8. java项目部署到linux上面,把我的Java项目部署到Linux系统

    以前,还未毕业,凭借自己三脚猫的功夫,只会在Windows环境中使用tomcat容器把项目跑起来. 以前的操作是,利用Eclipse把项目导出成War包,放到tomcat的webApp文件夹中,鼠标点 ...

  9. Java项目ssm企业工资管理系统源码

    Java版ssm企业工资管理系统,源码免费分享,需要可私信. 项目技术:jsp+mysql+Spring+mybatis 运行环境:最好是java jdk 1.8,我们在这个平台上运行的.其他版本理论 ...

最新文章

  1. FileOutPutStream in 创新实训 自然语言交流系统
  2. 豆瓣评分 9.0,超 10 万开发者的入门选择,这本经典好书终于升级啦!
  3. Docker镜像相关命令
  4. 老师:你根本不知道我有多想逃课
  5. 对!这就是你要的pandas练习题(❤️❤️)
  6. create-react-app入门教程
  7. bootstrap-table 列属性_Bootstrap Table 列参数columns使用总结
  8. MATLAB数据拟合中的若干问题(待续)
  9. 莫烦python进化算法_使用遗传算法解决TSP问题(莫烦python 学习笔记)
  10. 【华为_数通】常用命令备忘
  11. 图片转Excel表格在线工具,分享几款不错的工具!
  12. c语言wakeup函数,关于RTC时钟RTC_Set_WakeUp(u32 wksel,u16 cnt)函数的疑惑
  13. 18650圆柱锂电池comsol5.6模型 参数已配置,电化学生热研究,三种放电倍率,
  14. visual studio创立上位机软件(C#)(定时器)
  15. AD中的机械尺寸定位的使用
  16. BUUCTF warmup_csaw_2016 writeup
  17. 计算机英语的文章,计算机英语 文章
  18. 腾讯云服务器是独立IP吗?独立IP有什么好处?
  19. DFINITY乘风归来,能否「重启互联网」?
  20. 《消防设施操作员(中级检测维修保养)鉴定在线仿真考试系统》(应试版)上线合作!

热门文章

  1. 零基础AI商业插画全能班教程
  2. java创建5个类的对象_java 面像对象中, 定义一个学生类,可以创建五个学生对象,自动产生...
  3. 《莫问收获,但问耕耘》
  4. 如何通过点击iPhone的后背来打开手电筒
  5. 南理工计算机导论老师,南京理工大学教师信息
  6. php 讯飞语音评测_人工AI语音新高度:讯飞翻译机3.0测评体验
  7. 豆豆趣事[2012年10月]
  8. python判断能否组成三角形_任意输入3个数,判断能否组成三角形(python)
  9. 小米 13摄像头参数怎么样 小米 13防水性能 小米13电池续航怎么样
  10. 少儿零基础编程 设计制作游戏 动画全搞定视频教程