当前位置: 首页 > 编程日记 > 正文

Java项目:前台+后台精品水果商城系统设计和实现(java+Springboot+ssm+mysql+jsp+maven)

源码获取:博客首页 "资源" 里下载!

一、项目简述

本系统主要实现的功能有: 前台用户的登录注册,水果商品的展示,水果的购物车, 购物车新增结算等等,银行卡的支付绑定,收货地址的维护,密码修改等等功能 后台管理的用户管理,商品管理,分类管理,订单管理等等。

二、项目运行

1运行环境

环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

项目技术: Springboot+ SpringMVC + MyBatis + ThymeLeaf + JavaScript + JQuery + Ajax + maven等等

商品信息控制层:

@Controller
@RequestMapping("/goodsInfo")
public class GoodsInfoController  {@Autowiredprivate IGoodsInfoBiz goodsInfoBiz;@RequestMapping("/findAll")@ResponseBodypublic List<GoodsInfo> findAll() {									return goodsInfoBiz.findAll();}@RequestMapping("/find")@ResponseBodypublic GoodsInfo find(String str) {System.out.println(goodsInfoBiz.find(str));return goodsInfoBiz.find(str);}@RequestMapping("/findByTno")@ResponseBodypublic List<GoodsInfo> findByTno(String tno,String start) {return goodsInfoBiz.findByTno(tno,start);}@RequestMapping("/updateBal")@ResponseBodypublic Integer updateBal(String[] gnos,String[] nums) {return goodsInfoBiz.updateBal(gnos,nums);}@RequestMapping("/finds")@ResponseBodypublic List<GoodsInfo> finds() {return goodsInfoBiz.finds();}@RequestMapping("/upload")@ResponseBodypublic Map<String, Object> add(@RequestParam("upload")MultipartFile pic,HttpServletRequest request) {Map<String, Object> map = new HashMap<String, Object>();if(pic.isEmpty()){return map;}try{String savePath = "images/goods";String path = request.getServletContext().getRealPath("");String temp = request.getServletContext().getInitParameter("uploadPath");if(temp != null){savePath = temp;}//在用户上传的文件名的前面加上时间戳savePath += "/" + new Date().getTime() + "_" +pic.getOriginalFilename();File dest = new File(new File(path).getParentFile(),savePath);//将本地图片保存到服务器pic.transferTo(dest);map.put("fileName", pic.getOriginalFilename());map.put("uploaded", 1);map.put("url","../../../"+savePath);}catch(IllegalStateException e){e.printStackTrace();}catch(IOException e){e.printStackTrace();}return map;}//管理员端的商品信息@RequestMapping("/addGood")@ResponseBodypublic int addGood(@RequestParam Map<String,Object> map,@RequestParam MultipartFile pic, HttpServletRequest request){int result =-1;if(pic.isEmpty()){result=-2;//说明没有图片需要上传}String savePath="";try {String path= request.getServletContext().getRealPath("");String temp = request.getServletContext().getInitParameter("uploadpath");if(!StringUtil.checkNull(temp)){savePath = temp;}savePath="images/goods/"+pic.getOriginalFilename();File dest = new File(path, savePath);//将图片存到服务器的指定文件夹pic.transferTo(dest);} catch (IllegalStateException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}map.put("pics", savePath);result=goodsInfoBiz.addGood(map);return result;}@RequestMapping("/findgoods")@ResponseBodypublic List<GoodsInfo> findgoods() {									return goodsInfoBiz.findgoods();}@RequestMapping("/del")@ResponseBodypublic int del(String gno) {			return goodsInfoBiz.del(gno);}@RequestMapping("/getPage")@ResponseBodypublic Integer getPage(String tno) {int total=goodsInfoBiz.getTotal(tno);int page=total%10==0?total/10:total/10+1;return page;}
}

购物车信息控制层:

@Controller
@RequestMapping("/cartInfo")
public class CartInfoController  {@Autowiredprivate ICartInfoBiz cartInfoBiz;@RequestMapping("/finds")@ResponseBodypublic List<GoodsInfo> finds(String mno) {					return cartInfoBiz.finds(mno);}@RequestMapping("/update")@ResponseBodypublic Integer update(String cno, Integer num) {return cartInfoBiz.update(cno, num);}@RequestMapping("/del")@ResponseBodypublic Integer del(String cno) {return cartInfoBiz.del(cno);}@RequestMapping("/add")@ResponseBodypublic Integer add(String mno, String gno, Integer num) {					return cartInfoBiz.add(mno,gno,num);}@RequestMapping("/checkCar")@ResponseBodypublic Integer checkCar(String mno, String gno) {					return cartInfoBiz.checkCar(mno,gno);}@RequestMapping("/dels")@ResponseBodypublic Integer dels(String[]  gnos)throws IOException {return cartInfoBiz.dels(gnos);	}}

订单信息控制层:

@Controller
@RequestMapping("/orderInfo")
public class OrderInfoController  {@Autowiredprivate IOrderInfoBiz orderInfoBiz;@RequestMapping("/addOrderInfo")@ResponseBodypublic Integer addOrderInfo(String ono, String odate, String ano, String price) {Integer in = 0;try {in = orderInfoBiz.addOrderInfo(ono, odate,ano,price);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}return in;}@RequestMapping("/getOrder")@ResponseBodypublic List<OrderInfo> getOrder(String mno) {return orderInfoBiz.getOrder(mno);}@RequestMapping("/getallOrder")@ResponseBodypublic List<OrderInfo> getallOrder(String mno) {return orderInfoBiz.getallOrder(mno);}@RequestMapping("/setStatus")@ResponseBodypublic Integer setStatus(String ono) {System.out.println("修改1");return orderInfoBiz.setStatus(ono);}@RequestMapping("/getOrderByPage")@ResponseBodypublic List<OrderInfo> getOrderByPage(String mno, Integer page) {return orderInfoBiz.getOrderByPage(mno,page);}@RequestMapping("/getPage")@ResponseBodypublic Integer getPage(String mno) {int total=orderInfoBiz.getTotal(mno);int page=total%2==0?total/2:total/2+1;return page;}
}

 源码获取:博客首页 "资源" 里下载!

相关文章:

Android屏幕像素密度适配详解

讲到像素密度&#xff0c;我们先要搞明白什么是像素密度&#xff0c;像素密度的字面上的意思为手机屏幕上一定尺寸区域内像素的个数。在Android开发中&#xff0c; 我们一般会使用每英寸像素密度&#xff08;dpi&#xff09;这样一个单位来表示手机屏幕的像素密度&#xff0c;d…

如让自己想学不好shell编程都困难?

众所周知&#xff0c;shell是linux运维必备的技术&#xff0c;必须要掌握&#xff0c;但是shell语法复杂&#xff0c;灵活&#xff0c;网友掌握了语法也不知道如何应用到实际运维中&#xff0c;老男孩培训shell编程给所有linux运维人员带来了学好shell的法宝,老男孩培训2014最新…

sqlserver可将字符转成数字再进行sum,如果varchar类型中存放的都是数字

sqlserver语法&#xff1a; select sum(cast(score as int)) as score from 表名; 注意&#xff1a;int是整型&#xff0c;在实际操作中根据自己需要的类型转换。转载于:https://www.cnblogs.com/MisMe/p/10690748.html

LSM 优化系列(六)-- 【ATC‘20】MatrixKV : NVM 的PMEM 在 LSM-tree的write stall和写放大上的优化

文章目录LSM 问题背景MatrixKV 设计细节整体架构介绍Matrix Container介绍ReceiverRowTableCompactorSpace managementColumn Compaction介绍对于Column Compaction的总结读加速 Cross-row Hint SearchMatrixKv 写入完整流程MatrixKV 读取完整流程MatrixKV 性能总结这篇论文大家…

Java项目:前台+后台在线考试系统设计和实现(java+Springboot+ssm+mysql+jsp+maven)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 本系统主要实现的功能有&#xff1a; 学生以及老师的注册登录&#xff0c;在线考试&#xff0c;错题查询&#xff0c;学生管理&#xff0c;问题管理&#xff0c;错题管理&#xff0c;错题查询…

修改nginx服务器类型

通常nginx服务器不隐藏服务器类型及版本信息 curl -I http://www.aaa.com 获取web服务器的类型和版本代码 HTTP/1.1 200 OK Server: nginx nginx/0.8.53 Date: Tue, 14 Dec 2010 08:10:06 GMT Content-Type: text/html Content-Length: 151 Last-Modified: Mon, 13 Dec 2…

JS 自带函数

JS数组方法汇总 array数组元素的添加和删除js数组元素的添加和删除一直比较迷惑&#xff0c;今天终于找到详细说明的资料了&#xff0c;先给个我测试的代码^-^var arr new Array();arr[0] "aaa";arr[1] "bbb";arr[2] "ccc";//alert(arr.leng…

Flink学习笔记:Operators之CoGroup及Join操作

本文为《Flink大数据项目实战》学习笔记&#xff0c;想通过视频系统学习Flink这个最火爆的大数据计算框架的同学&#xff0c;推荐学习课程&#xff1a; Flink大数据项目实战&#xff1a;http://t.cn/EJtKhaz 1. Window CoGroup与Join 1.1回顾RDBMS各种join 假设有两个表A和B 1.…

Rocksdb 的优秀代码(二)-- 工业级 打点系统 实现分享

文章目录前言数据结构选型打点代码设计耗时打点请求计数打点打点总结前言 一个完善的分布式系统一定是需要完善的打点统计&#xff0c;不论是对系统内核 还是 对系统使用者都是十分必要的。系统的客户需要直观得看到这个系统的性能相关的指标来决定是否使用以及如何最大化使用…

JVM中可生成的最大Thread数量

最近想测试下Openfire下的最大并发数&#xff0c;需要开大量线程来模拟客户端。对于一个JVM实例到底能开多少个线程一直心存疑惑&#xff0c;所以打算实际测试下&#xff0c;简单google了把&#xff0c;找到影响线程数量的因素有下面几个&#xff1a; -Xms intial java heap s…

Java项目:在线电影售票系统设计和实现(java+Springboot+ssm+mysql+jsp+maven)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 前台&#xff1a; 1、正在上映的电影浏览查看。 2、影院信息浏览查看。 3、新闻咨询信息浏览查看。 4、地域信息查看切换。 5、用户注册登录。 6、电影排期查看。 7、在线选座生成…

matlab正态分布

normrnd(mu, sigma, m,n) 返回m x n的随机数&#xff0c;正态分布均值mu&#xff0c;标准差sigma。 mvnrnd(mu, sigma, m) 返回m个随机数&#xff08;点&#xff09;&#xff0c;是多元正太分布&#xff0c;mu是均值向量&#xff0c;sigma是协方差。 x normrnd(0,4,1,100000);…

MYSQL语句

-- 一、管理数据库-- 1.1 创建数据库CREATE DATABASE day15; SHOW DATABASES; CREATE TABLE student( id INT, NAME VARCHAR(20), age INT); -- 查看表SHOW TABLES; -- 二、管理数据-- 1.1插入数据&#xff08;insert into&#xff09;-- 需求&#xff1a; 往学生表插入数据INS…

Intel Optane PMEM 概览

文章目录前言基本架构编程模型PMDK接口架构接口概览pmdk 安装开发文档汇总PMEM性能官方性能实测性能前言 随着以PCM 为存储单元的3D XPoint 非易失存储介质 不断精进的工艺&#xff0c;以及 上层硬件协议栈的飞速发展&#xff0c;为非易失内存这样硬件的出现提供了技术工艺基础…

Java项目:新闻发布系统(java+Springboot+ssm+mysql+maven)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 功能&#xff1a; 区分为管理员用户和普通用户&#xff0c;管理员用户能删除评论&#xff0c; 调整新闻显示/隐藏&#xff0c;修改新闻&#xff0c;删除普通用户&#xff0c;普通用户能 登陆浏…

Linux下搭建Lotus Domino集群

Linux下搭建Lotus Domino 集群本文内容是Linux平台下Lotus Domino服务器部署案例&#xff08;http://chenguang.blog.51cto.com/350944/1334595&#xff09;的另一个模块&#xff0c;所以大家首先要有以上基础之后然后继续实验。集群是 Lotus Domino Server 提供的最重要特性之…

Centos下卸载openjdk并安装自定义jdk

1、查看是否安装了openjdk java -version 2、查看需要卸载的openjdk信息&#xff0c;其中只需要删除红色框标记的地方 rpm -qa | grep java 3、删除openjdk rpm -e --nodeps 需要删除的java组件 4、创建文件夹java mkdir java 5、到官网下载linux版本的jdk&#xff08;如果不能…

pmdk -- libpmemlog 介绍

文章目录1. libpmemlog 应用背景2. libpmemlog 使用方式2.1 基本接口2.2 接口使用3. Libpmemlog 性能3.1 write sys call 性能3.2 libpmemlog 性能1. libpmemlog 应用背景 本文介绍的是英特尔 傲腾持久化内存 pmdk中 的一个持久化日志的库。 我们正常系统中会将日志 形成一个…

Java项目:家庭财务管理系统(java+Springboot+ssm+mysql+maven)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 功能&#xff1a; 家庭财务管理系统&#xff0c;具有收入统计&#xff0c;支出统计&#xff0c;汇总报 表&#xff0c;工资录入&#xff0c;其他收入等录入开支信息&#xff0c;echart图标插 …

(原创)c++primer(第五版)--1.3 注释简介

注释可以帮助人类读者理解程序。注释通常用于概述算法&#xff0c;确定变量的用途&#xff0c;或者结束晦涩难懂的代码段。编译器会忽略注释&#xff0c;因此注释对程序的行为或者性能不会有任何影响。 虽然编辑器会忽略注释&#xff0c;但读者并不会。即使系统文档的其他部分已…

BZOJ 1503 郁闷的出纳员(splay)

题目链接&#xff1a;http://www.lydsy.com/JudgeOnline/problem.php?id1503 题意&#xff1a;给出一个数列&#xff08;初始为空&#xff09;&#xff0c;给出一个最小值Min&#xff0c;当数列中的数字小于Min时自动删除。四种操作&#xff1a;&#xff08;1&#xff09;数列…

javascript ES6 新特性之 扩展运算符 三个点 ...

对于 ES6 新特性中的 ... 可以简单的理解为下面一句话就可以了&#xff1a; 对象中的扩展运算符(...)用于取出参数对象中的所有可遍历属性&#xff0c;拷贝到当前对象之中。 作用类似于 Object.assign() 方法&#xff0c;我们先来看一下 Object.assign() 方法&#xff1a; Obje…

字符串匹配算法 -- BM(Boyer-Moore) 和 KMP(Knuth-Morris-Pratt)详细设计及实现

文章目录1. 算法背景2. BM&#xff08;Boyer-Moore&#xff09;算法2.1 坏字符规则(bad character rule)2.2 好后缀规则(good suffix shift)2.3 复杂度及完整代码3. KMP&#xff08;Knuth Morris Pratt&#xff09;算法3.1 好前缀 和 坏字符规则3.2 高效构建 失效函数3.3 复杂度…

Java项目:中小医院信息管理系统(java+Springboot+ssm+mysql+maven+jsp)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 本系统功能包括&#xff1a;实现了挂号收费&#xff0c;门诊管理&#xff0c;划价收 费&#xff0c;药房取药&#xff0c;体检管理&#xff0c;药房管理&#xff0c;系统维护等各个模块功能&a…

DB2load遇到SQL3508N错误

SQL3508N装入或装入查询期间&#xff0c;当存取类型为 "<文件类型>" 的文件或路径时出错。原因码&#xff1a;"<原因码>"。路径&#xff1a;"<路径&#xff0f; 文件>"。 [more]解释: 装入或装入查询处理期间&#xff0c;在尝…

【cocos2d-x 手游研发小技巧(3)Android界面分辨率适配方案】

先感叹一下吧~~android的各种分辨率各种适配虐我千百遍&#xff0c;每次新项目我依旧待它如初恋 每家公司都有自己项目工程适配的方案&#xff0c;这种东西就是没有最好&#xff0c;只有最适合&#xff01;&#xff01;&#xff01; 这次新项目专项针对android&#xff0c;目的…

git submodule 使用场景汇总

文章目录1. 前言2. 基础命令介绍2.1 场景一&#xff1a;已有仓库&#xff0c;添加一个子模块2.2 场景二&#xff1a;已有仓库&#xff0c;添加一个子模块的特定分支2.3 场景三&#xff1a;已有仓库&#xff0c;更新子模块内容2.4 场景四&#xff1a;已有仓库&#xff0c;变更子…

Java项目:在线商城系统(前后端分离+java+vue+Springboot+ssm+mysql+maven+redis)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 本系统功能包括&#xff1a; 前台展示后台管理&#xff0c;包括最基本的用户登录注册&#xff0c;下单&#xff0c; 购物车&#xff0c;购买&#xff0c;结算&#xff0c;订单查询&#xff0c…

自定义参数解析器,减少10%的代码

*** 赋值调用方法* 如果为空,默认调用name()方法* 该方法必须是一个不含参数的方法,否则将会调用失败* @return*/value() : value用于绑定请求参数和方法参数名一致时的对应关系。比如user?statusNo=1。方法的参数写法如下:getUser(@EnumParam(value=“statusNo”) int status) 或者 getUser(@EnumParam() int statusNo)valueMethod() : 赋值时调用枚举中的方法。

微服务全做错了!谷歌提出新方法,成本直接降9倍!

一位DataDog的客户收到6500万美元的云监控账单的消息,也再次让业界无数人惊到了。事实上有些团队在将集中式单体应用拆分为微服务时,首先进行的往往不是建立领域模型,而只是按照业务功能将原来单体应用的一个软件包拆分成多个所谓的“微服务”软件包,而这些“微服务”内的代码高度耦合,逻辑边界不清晰,长期以来,不管大厂还是小厂,微服务都被认为是云原生服务应用程序架构的事实标准,然而2023,不止那位37signals的DHH决心下云,放弃微服务,就连亚马逊和谷歌等这些云巨头,正在带头开始革了微服务的命。