Java项目:118SpringBoot手工艺术品商城

2024-01-12 06:28

本文主要是介绍Java项目:118SpringBoot手工艺术品商城,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

博主主页:Java旅途
简介:分享计算机知识、学习路线、系统源码及教程
文末获取源码

一、项目介绍

手工艺术品商城是由SpringBoot+Mybatis开发的,是一个简易商城,代码简而整洁,满足商城的需求又没有繁琐的代码,分为前台和后台,前台为用户浏览,后台进行数据管理

后台功能如下:

  • 用户管理
  • 分类管理
  • 商品管理
  • 订单管理
  • 订单发货

前台功能如下:

  • 商品浏览
  • 购物车管理
  • 下单
  • 模拟支付
  • 订单详情
  • 订单收货
  • 我的订单

二、技术框架

  • 后端:SpringBoot,jpa
  • 前端:jquery

三、安装教程

  1. 用idea打开项目

  2. 在idea中配置jdk环境

  3. 配置maven环境并下载依赖

  4. 新建数据库,导入数据库文件

  5. 在application.properties文件中将数据库账号密码改成自己本地的

  6. 启动运行

四、项目截图

image-20230719144446305

image-20230719144415329

image-20230719144427929

22lhost

image-20230719144548663

image-20230719144605786

五、相关代码

ProductController

package priv.jesse.mall.web.user;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import priv.jesse.mall.entity.Classification;
import priv.jesse.mall.entity.OrderItem;
import priv.jesse.mall.entity.Product;
import priv.jesse.mall.entity.pojo.ResultBean;
import priv.jesse.mall.service.ClassificationService;
import priv.jesse.mall.service.ProductService;
import priv.jesse.mall.service.ShopCartService;import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;@Controller
@RequestMapping("/product")
public class ProductController {@Autowiredprivate ProductService productService;@Autowiredprivate ClassificationService classificationService;@Autowiredprivate ShopCartService shopCartService;/*** 获取商品信息** @param id* @return*/@RequestMapping("/get.do")public ResultBean<Product> getProduct(int id) {Product product = productService.findById(id);return new ResultBean<>(product);}/*** 打开商品详情页面** @param id* @param map* @return*/@RequestMapping("/get.html")public String toProductPage(int id, Map<String, Object> map) {Product product = productService.findById(id);map.put("product", product);return "mall/product/info";}/*** 查找热门商品** @return*/@ResponseBody@RequestMapping("/hot.do")public ResultBean<List<Product>> getHotProduct() {List<Product> products = productService.findHotProduct();return new ResultBean<>(products);}/*** 查找最新商品** @param pageNo* @param pageSize* @return*/@ResponseBody@RequestMapping("/new.do")public ResultBean<List<Product>> getNewProduct(int pageNo, int pageSize) {Pageable pageable = new PageRequest(pageNo, pageSize);List<Product> products = productService.findNewProduct(pageable);return new ResultBean<>(products);}/*** 打开分类查看商品页面** @return*/@RequestMapping("/category.html")public String toCatePage(int cid, Map<String, Object> map) {Classification classification = classificationService.findById(cid);map.put("category", classification);return "mall/product/category";}@RequestMapping("/toCart.html")public String toCart(){return "mall/product/cart";}/*** 按一级分类查找商品** @param cid* @param pageNo* @param pageSize* @return*/@ResponseBody@RequestMapping("/category.do")public ResultBean<List<Product>> getCategoryProduct(int cid, int pageNo, int pageSize) {Pageable pageable = new PageRequest(pageNo, pageSize);List<Product> products = productService.findByCid(cid, pageable);return new ResultBean<>(products);}/*** 按二级分类查找商品** @param csId* @param pageNo* @param pageSize* @return*/@ResponseBody@RequestMapping("/categorySec.do")public ResultBean<List<Product>> getCategorySecProduct(int csId, int pageNo, int pageSize) {Pageable pageable = new PageRequest(pageNo, pageSize);List<Product> products = productService.findByCsid(csId, pageable);return new ResultBean<>(products);}/*** 根据一级分类查询它所有的二级分类* @param cid* @return*/@ResponseBody@RequestMapping("/getCategorySec.do")public ResultBean<List<Classification>> getCategorySec(int cid){List<Classification> list = classificationService.findByParentId(cid);return new ResultBean<>(list);}/*** 加购物车** @param productId* @param request* @return*/@ResponseBody@RequestMapping("/addCart.do")public ResultBean<Boolean> addToCart(int productId, HttpServletRequest request) throws Exception {shopCartService.addCart(productId, request);return new ResultBean<>(true);}/*** 移除购物车** @param productId* @param request* @return*/@ResponseBody@RequestMapping("/delCart.do")public ResultBean<Boolean> delToCart(int productId, HttpServletRequest request) throws Exception {shopCartService.remove(productId, request);return new ResultBean<>(true);}/*** 查看购物车商品* @param request* @return*/@ResponseBody@RequestMapping("/listCart.do")public ResultBean<List<OrderItem>> listCart(HttpServletRequest request) throws Exception {List<OrderItem> orderItems = shopCartService.listCart(request);return new ResultBean<>(orderItems);}}
package priv.jesse.mall.web.user;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import priv.jesse.mall.entity.User;
import priv.jesse.mall.entity.pojo.ResultBean;
import priv.jesse.mall.service.UserService;
import priv.jesse.mall.service.exception.LoginException;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;@Controller
@RequestMapping("/user")
public class UserController {@Autowiredprivate UserService userService;/*** 打开注册页面** @return*/@RequestMapping("/toRegister.html")public String toRegister() {return "mall/user/register";}/*** 打开登录页面** @return*/@RequestMapping("/toLogin.html")public String toLogin() {return "mall/user/login";}/*** 登录** @param username* @param password*/@RequestMapping("/login.do")public void login(String username,String password,HttpServletRequest request,HttpServletResponse response) throws IOException {User user = userService.checkLogin(username, password);if (user != null) {//登录成功 重定向到首页request.getSession().setAttribute("user", user);response.sendRedirect("/mall/index.html");} else {throw new LoginException("登录失败! 用户名或者密码错误");}}/*** 注册*/@RequestMapping("/register.do")public void register(String username,String password,String name,String phone,String email,String addr,HttpServletResponse response) throws IOException {User user = new User();user.setUsername(username);user.setPhone(phone);user.setPassword(password);user.setName(name);user.setEmail(email);user.setAddr(addr);userService.create(user);// 注册完成后重定向到登录页面response.sendRedirect("/mall/user/toLogin.html");}/*** 登出*/@RequestMapping("/logout.do")public void logout(HttpServletRequest request, HttpServletResponse response) throws IOException {request.getSession().removeAttribute("user");response.sendRedirect("/mall/index.html");}/*** 验证用户名是否唯一* @param username* @return*/@ResponseBody@RequestMapping("/checkUsername.do")public ResultBean<Boolean> checkUsername(String username){List<User> users = userService.findByUsername(username);if (users==null||users.isEmpty()){return new ResultBean<>(true);}return new ResultBean<>(false);}/*** 如发生错误 转发到这页面** @param response* @param request* @return*/@RequestMapping("/error.html")public String error(HttpServletResponse response, HttpServletRequest request) {return "error";}
}

大家点赞、收藏、关注、评论啦 、👇🏻点开下方卡片👇🏻关注后回复 104

这篇关于Java项目:118SpringBoot手工艺术品商城的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/597065

相关文章

SpringBoot基于沙箱环境实现支付宝支付教程

《SpringBoot基于沙箱环境实现支付宝支付教程》本文介绍了如何使用支付宝沙箱环境进行开发测试,包括沙箱环境的介绍、准备步骤、在SpringBoot项目中结合支付宝沙箱进行支付接口的实现与测试... 目录一、支付宝沙箱环境介绍二、沙箱环境准备2.1 注册入驻支付宝开放平台2.2 配置沙箱环境2.3 沙箱

Nginx实现高并发的项目实践

《Nginx实现高并发的项目实践》本文主要介绍了Nginx实现高并发的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录使用最新稳定版本的Nginx合理配置工作进程(workers)配置工作进程连接数(worker_co

使用Java发送邮件到QQ邮箱的完整指南

《使用Java发送邮件到QQ邮箱的完整指南》在现代软件开发中,邮件发送功能是一个常见的需求,无论是用户注册验证、密码重置,还是系统通知,邮件都是一种重要的通信方式,本文将详细介绍如何使用Java编写程... 目录引言1. 准备工作1.1 获取QQ邮箱的SMTP授权码1.2 添加JavaMail依赖2. 实现

Java嵌套for循环优化方案分享

《Java嵌套for循环优化方案分享》介绍了Java中嵌套for循环的优化方法,包括减少循环次数、合并循环、使用更高效的数据结构、并行处理、预处理和缓存、算法优化、尽量减少对象创建以及本地变量优化,通... 目录Java 嵌套 for 循环优化方案1. 减少循环次数2. 合并循环3. 使用更高效的数据结构4

java两个List的交集,并集方式

《java两个List的交集,并集方式》文章主要介绍了Java中两个List的交集和并集的处理方法,推荐使用Apache的CollectionUtils工具类,因为它简单且不会改变原有集合,同时,文章... 目录Java两个List的交集,并集方法一方法二方法三总结java两个List的交集,并集方法一

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI集成DeepSeek实现流式输出的操作方法

《SpringAI集成DeepSeek实现流式输出的操作方法》本文介绍了如何在SpringBoot中使用Sse(Server-SentEvents)技术实现流式输出,后端使用SpringMVC中的S... 目录一、后端代码二、前端代码三、运行项目小天有话说题外话参考资料前面一篇文章我们实现了《Spring

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

Springboot的自动配置是什么及注意事项

《Springboot的自动配置是什么及注意事项》SpringBoot的自动配置(Auto-configuration)是指框架根据项目的依赖和应用程序的环境自动配置Spring应用上下文中的Bean... 目录核心概念:自动配置的关键特点:自动配置工作原理:示例:需要注意的点1.默认配置可能不适合所有场景

使用Apache POI在Java中实现Excel单元格的合并

《使用ApachePOI在Java中实现Excel单元格的合并》在日常工作中,Excel是一个不可或缺的工具,尤其是在处理大量数据时,本文将介绍如何使用ApachePOI库在Java中实现Excel... 目录工具类介绍工具类代码调用示例依赖配置总结在日常工作中,Excel 是一个不可或缺的工http://