Java项目:汉服文化bbs商城系统(java+SpringBoot+Thymeleaf+html+layui+bootstrap+mysql)

本文主要是介绍Java项目:汉服文化bbs商城系统(java+SpringBoot+Thymeleaf+html+layui+bootstrap+mysql),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

项目介绍

汉服文化bbs商城系统,主要分为前后台。共分两种角色:管理员与普通用户;

管理员可登录前后台,普通用户仅可登录前台;普通用户登录后可发布、修改、删除自己的文章;
前台主要功能包括:
首页:文章列表、公告列表、汉服舞曲;
汉服形制:汉服发展史、汉服名词;
汉服礼仪;
汉服穿搭:汉服妆容、汉服摄影;
汉服活动:汉服事记;
推荐:汉服店铺、汉服推荐、汉服体验;
后台主要功能包括:
文章管理:查询、删除;
店铺推荐:新增推荐店、查看、修改、删除;
汉服体验店推荐:新增体验店、查看、修改、删除;
社团推荐:新增社团、查看、修改、删除;
汉服舞曲:新增舞曲、查看、删除;
公告管理:新增公告、查看、修改、删除;
留言管理:查询、修改、删除;

评论管理:查询、修改、删除;

环境需要

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. 后端:SpringBoot

2. 前端:Thymeleaf+html+layui+jQuery+bootstrap

使用说明

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

 

 

 

 

 

后台管理订单控制层:

@Controller
@RequestMapping("/admin/order")
public class AdminOrderController {@Autowiredprivate OrderService orderService;/*** 打开订单列表页面* @return*/@RequestMapping("/toList.html")public String toList() {return "admin/order/list";}/*** 获取所有订单的总数* @return*/@ResponseBody@RequestMapping("/getTotal.do")public ResultBean<Integer> getTotal() {Pageable pageable = new PageRequest(1, 15, null);int total = (int) orderService.findAll(pageable).getTotalElements();return new ResultBean<>(total);}/*** 获取所有订单* @param pageindex* @param pageSize* @return*/@ResponseBody@RequestMapping("/list.do")public ResultBean<List<Order>> listData(int pageindex,@RequestParam(value = "pageSize", defaultValue = "15") int pageSize) {Pageable pageable = new PageRequest(pageindex, pageSize, null);List<Order> list = orderService.findAll(pageable).getContent();return new ResultBean<>(list);}/*** 获取订单项* @param orderId* @return*/@ResponseBody@RequestMapping("/getDetail.do")public ResultBean<List<OrderItem>> getDetail(int orderId) {List<OrderItem> list = orderService.findItems(orderId);return new ResultBean<>(list);}/*** 发货* @param id* @return*/@ResponseBody@RequestMapping("/send.do")public ResultBean<Boolean> send(int id) {orderService.updateStatus(id,3);return new ResultBean<>(true);}
}

后台用户管理控制层:

@Controller
@RequestMapping("/admin/user")
public class AdminUserController {@Autowiredprivate UserService userService;/*** 打开用户列表页面* @return*/@RequestMapping("/toList.html")public String toList() {return "admin/user/list";}/*** 打开编辑页面* @param id* @param map* @return*/@RequestMapping("/toEdit.html")public String toEdit(int id, Map<String, Object> map) {User user = userService.findById(id);map.put("user", user);return "admin/user/edit";}/*** 获取所有用户列表** @param pageindex* @return*/@ResponseBody@RequestMapping("/list.do")public ResultBean<List<User>> findAllUser(int pageindex,@RequestParam(value = "pageSize", defaultValue = "15") int pageSize) {Pageable pageable = new PageRequest(pageindex, pageSize, null);List<User> users = userService.findAll(pageable).getContent();return new ResultBean<>(users);}@ResponseBody@RequestMapping("/getTotal.do")public ResultBean<Integer> geTotal() {Pageable pageable = new PageRequest(1, 15, null);int total = (int) userService.findAll(pageable).getTotalElements();return new ResultBean<>(total);}@ResponseBody@RequestMapping("/del.do")public ResultBean<Boolean> del(int id) {userService.delById(id);return new ResultBean<>(true);}@ResponseBody@RequestMapping(method = RequestMethod.POST, value = "/update.do")public ResultBean<Boolean> update(int id,String username,String password,String name,String phone,String email,String addr) {// 更新前先查询User user = userService.findById(id);user.setId(id);user.setName(name);user.setUsername(username);user.setPassword(password);user.setAddr(addr);user.setEmail(email);user.setPhone(phone);userService.update(user);return new ResultBean<>(true);}
}

前台用户订单管理:

@Controller
@RequestMapping("/order")
public class OrderController {@Autowiredprivate OrderService orderService;/*** 打开订单列表页面** @return*/@RequestMapping("/toList.html")public String toOrderList() {return "mall/order/list";}/*** 查询用户订单列表** @param request* @return*/@RequestMapping("/list.do")@ResponseBodypublic ResultBean<List<Order>> listData(HttpServletRequest request) {List<Order> orders = orderService.findUserOrder(request);return new ResultBean<>(orders);}/*** 查询订单详情** @param orderId* @return*/@RequestMapping("/getDetail.do")@ResponseBodypublic ResultBean<List<OrderItem>> getDetail(int orderId) {List<OrderItem> orderItems = orderService.findItems(orderId);return new ResultBean<>(orderItems);}/*** 提交订单** @param name* @param phone* @param addr* @param request* @param response*/@RequestMapping("/submit.do")public void submit(String name,String phone,String addr,HttpServletRequest request,HttpServletResponse response) throws Exception {orderService.submit(name, phone, addr, request, response);}/*** 支付方法** @param orderId*/@RequestMapping("pay.do")@ResponseBodypublic ResultBean<Boolean> pay(int orderId, HttpServletResponse response) throws IOException {orderService.pay(orderId);return new ResultBean<>(true);}/*** 确认收货* @param orderId* @param response* @return* @throws IOException*/@RequestMapping("receive.do")@ResponseBodypublic ResultBean<Boolean> receive(int orderId, HttpServletResponse response) throws IOException {orderService.receive(orderId);return new ResultBean<>(true);}}

前台商品控制层:

@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);}}

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

这篇关于Java项目:汉服文化bbs商城系统(java+SpringBoot+Thymeleaf+html+layui+bootstrap+mysql)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java实现Excel与HTML互转

《Java实现Excel与HTML互转》Excel是一种电子表格格式,而HTM则是一种用于创建网页的标记语言,虽然两者在用途上存在差异,但有时我们需要将数据从一种格式转换为另一种格式,下面我们就来看看... Excel是一种电子表格格式,广泛用于数据处理和分析,而HTM则是一种用于创建网页的标记语言。虽然两

java图像识别工具类(ImageRecognitionUtils)使用实例详解

《java图像识别工具类(ImageRecognitionUtils)使用实例详解》:本文主要介绍如何在Java中使用OpenCV进行图像识别,包括图像加载、预处理、分类、人脸检测和特征提取等步骤... 目录前言1. 图像识别的背景与作用2. 设计目标3. 项目依赖4. 设计与实现 ImageRecogni

Java中Springboot集成Kafka实现消息发送和接收功能

《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

Java访问修饰符public、private、protected及默认访问权限详解

《Java访问修饰符public、private、protected及默认访问权限详解》:本文主要介绍Java访问修饰符public、private、protected及默认访问权限的相关资料,每... 目录前言1. public 访问修饰符特点:示例:适用场景:2. private 访问修饰符特点:示例:

Mysql虚拟列的使用场景

《Mysql虚拟列的使用场景》MySQL虚拟列是一种在查询时动态生成的特殊列,它不占用存储空间,可以提高查询效率和数据处理便利性,本文给大家介绍Mysql虚拟列的相关知识,感兴趣的朋友一起看看吧... 目录1. 介绍mysql虚拟列1.1 定义和作用1.2 虚拟列与普通列的区别2. MySQL虚拟列的类型2

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

mysql数据库分区的使用

《mysql数据库分区的使用》MySQL分区技术通过将大表分割成多个较小片段,提高查询性能、管理效率和数据存储效率,本文就来介绍一下mysql数据库分区的使用,感兴趣的可以了解一下... 目录【一】分区的基本概念【1】物理存储与逻辑分割【2】查询性能提升【3】数据管理与维护【4】扩展性与并行处理【二】分区的

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J