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

相关文章

springboot集成easypoi导出word换行处理过程

《springboot集成easypoi导出word换行处理过程》SpringBoot集成Easypoi导出Word时,换行符n失效显示为空格,解决方法包括生成段落或替换模板中n为回车,同时需确... 目录项目场景问题描述解决方案第一种:生成段落的方式第二种:替换模板的情况,换行符替换成回车总结项目场景s

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq