Java项目:springboot汉服文化bbs商城系统(计算机毕业设计)

作者主页:Java毕设网

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

文末获取源码

一、项目介绍

汉服文化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.数据库:MySql 5.7版本;

6.是否Maven项目:是;

三、技术栈

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/ 登录

五、运行截图


六、相关代码

文章管理控制器

@RequestMapping("article")
@RestController
@Scope("prototype")
public class ArticleController {
    @Autowired
    private ArticleService articleService;
    @Value("${web.upload-path}")
    private String path;

    @RequestMapping("/findPage")
    public ObjDat<Article> findPage(Article article, @RequestParam(value="page", defaultValue="1") int page, @RequestParam(value="limit", defaultValue="10") int limit){
        return articleService.findPage(article,page-1,limit);
    }

    /*查询出最热门的前6篇文章*/
    @RequestMapping("/findByHot")
    public JsonResult findByHot(@RequestParam(value="number", defaultValue="6")int number){
        return articleService.findByHot(number);
    }

    /*汉服穿搭热门查询*/
    @RequestMapping("/findByWear")
    public JsonResult findByWear(@RequestParam(value="number", defaultValue="6")int number){
        return articleService.findByWear(number);
    }

    /*汉服形制热门查询*/
    @RequestMapping("/findByShape")
    public JsonResult findByShape(@RequestParam(value="number", defaultValue="6")int number){
        return articleService.findByShape(number);
    }

    /*汉服活动热门查询*/
    @RequestMapping("/findByActivity")
    public JsonResult findByActivity(@RequestParam(value="number", defaultValue="6")int number){
        return articleService.findByActivity(number);
    }


    /*按类型查询分页查询*/
    @RequestMapping("/findPageByType")
    public ObjDat<Article> findPageByType(Article article, @RequestParam(value="page", defaultValue="1") int page, @RequestParam(value="limit", defaultValue="10") int limit){
        return articleService.findPageByType(article,page-1,limit);
    }

    /*按类型查询分页查询*/
    @RequestMapping("/findArticleByUid")
    public JsonResult findArticleByUid(int uid){
        return articleService.findArticleByUid(uid);
    }

    @RequestMapping("/edit")
    public JsonResult edit(MultipartFile head, Article article,HttpServletRequest request) throws IOException {
        User user=(User)request.getSession().getAttribute("user");
        if(article.getId()==null){
            article.setUid(user.getId());
        }
        if(head!=null){
            File file = new File(path);
            if (!file.exists()) {
                file.mkdirs();
            }
            String imgname= UUID.randomUUID().toString() + head.getOriginalFilename();
            path = path + imgname;
            file = new File(path);
            head.transferTo(file);
            article.setPath(imgname);
        }
        String str=articleService.edit(article);
        if(str.equals("成功")){
            return JsonResult.success("操作成功");
        }else{
            return JsonResult.error("操作失败");
        }
    }

    @RequestMapping("/delById")
    public JsonResult delById(Integer id){
        return articleService.delById(id);
    }


    @RequestMapping("/findById")
    public JsonResult findById(Integer id){
        return articleService.findById(id);
    }


    //上传图片
    @RequestMapping(value = "upload",method = RequestMethod.POST)
    public @ResponseBody
    String uploads(HttpServletRequest request, @RequestParam("myFileName")MultipartFile head) throws JSONException, IOException {
        if(head!=null){
            File file = new File(path);
            if (!file.exists()) {
                file.mkdirs();
            }
            String imgname= UUID.randomUUID().toString() + head.getOriginalFilename();
            path = path + imgname;
            file = new File(path);
            head.transferTo(file);
            //根据wangEditor的服务端接口,造一个JSON对象返回
            JSONObject json = new JSONObject();
            JSONArray array = new JSONArray();
            array.put(imgname);//将图片的引用url放入JSON返回给富文本编辑器进行回显
            json.put("errno",0);
            json.put("data",array);
            return json.toString();
        }else{
            return null;
        }
    }
}

用户管理控制器

@RequestMapping("/user")
@RestController
@Scope("prototype")
public class UserController {
    @Autowired
    private UserService userService;

    @Value("${web.upload-path}")
    private String path;


    @RequestMapping("/edit")
    public JsonResult edit(MultipartFile head, User user) throws IOException {
        String str=userService.edit(user);
        if(str.equals("成功")){
            return JsonResult.success("操作成功");
        }else{
            return JsonResult.error("操作失败");
        }
    }

    @RequestMapping("/login")
    public JsonResult login(User user, HttpServletRequest request) throws Exception{
        return userService.login(user,request);
    }

    @RequestMapping("/registered")
    public JsonResult registered(User user){
        return userService.registered(user);
    }

    @RequestMapping("/getUser")
    public JsonResult getUser(HttpServletRequest request){
        return JsonResult.success(request.getSession().getAttribute("user"));
    }


}

七、如果也想学习本系统,下面领取。关注并回复:050sb

  • 15
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值