Java项目:117SpringBoot动漫论坛网站

博主主页:Java旅途

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

117SpringBoot动漫论坛网站

一、项目介绍

动漫论坛网站是由SpringBoot+Mybatis开发的,旅游网站分为前台和后台,前台为用户浏览,后台进行数据管理

后台功能如下:

  • 帖子管理
  • 分类管理
  • 标签管理

前台功能如下:

  • 帖子浏览
  • 帖子搜索
  • 分类查找
  • 标签查找
  • 帖子留言
  • 帖子回复

二、技术框架

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

三、安装教程

  1. 用idea打开项目

  2. 在idea中配置jdk环境

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

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

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

  6. 启动运行,管理员账号密码 admin/123456

四、项目截图

五、相关代码

IndexController

java 复制代码
package com.cartoonbbs.cartoonbbs.web;

import com.cartoonbbs.cartoonbbs.servive.ControllerService;
import com.cartoonbbs.cartoonbbs.servive.TagService;
import com.cartoonbbs.cartoonbbs.servive.TypeService;
import com.cartoonbbs.cartoonbbs.vo.CartoonQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.web.PageableDefault;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;


@Controller
public class IndexController {
    @Autowired
    private ControllerService controllerService;
    @Autowired
    private TypeService typeService;
    @Autowired
    private TagService tagService;


    @GetMapping("/")
    public String index(@PageableDefault(size = 8,sort = {"updateTime"},direction = Sort.Direction.DESC) Pageable pageable,
                        Model model) {
        model.addAttribute("page",controllerService.listCartoon(pageable));
        model.addAttribute("types",typeService.listTypeTop(6));
        model.addAttribute("tags",tagService.listTagTop(10));
        model.addAttribute("recommendCartoon",controllerService.listRecommendCartoonTop(8));
        return "index";
    }
    @PostMapping("/search")
    public String search(@PageableDefault(size = 8,sort = {"updateTime"},direction = Sort.Direction.DESC) Pageable pageable,
                         @RequestParam String query, Model model){
        model.addAttribute("page",controllerService.listCartoon("%"+query+"%",pageable));
        model.addAttribute("query",query);
        return "search";

    }

    @GetMapping("/details/{id}")
    public String details(@PathVariable Long id, Model model) {
        //model.addAttribute("cartoon",controllerService.getCartoon(id));
        model.addAttribute("cartoon",controllerService.getAndConvert(id));
        return "details";
    }

}

LoginController

java 复制代码
package com.cartoonbbs.cartoonbbs.web.admin;

import com.cartoonbbs.cartoonbbs.dao.UserRepository;
import com.cartoonbbs.cartoonbbs.po.User;
import com.cartoonbbs.cartoonbbs.servive.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

import javax.servlet.http.HttpSession;

@Controller
@RequestMapping("/admin")
public class LoginController {
    @Autowired
    private UserService userService;

    @GetMapping
    public  String loginPage(){
        return "admin/login";
    }

    @PostMapping("login")
    public String login(@RequestParam String username,
                        @RequestParam String password,
                        HttpSession session,
                        RedirectAttributes attributes
                      ){
            User user=userService.checkUse(username,password);
        if(user!=null){
            user.setPassword(null);
            session.setAttribute("user",user);
            return "admin/index";
        }else {
            attributes.addFlashAttribute("message","用户名和密码错误");
            return "redirect:/admin";
        }




    }
    @GetMapping("/logout")
    public  String logout(HttpSession session){
        session.removeAttribute("user");
        return "redirect:/admin";


    }
}

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

相关推荐
程序员清风19 分钟前
阿里二面:Kafka 消费者消费消息慢(10 多分钟),会对 Kafka 有什么影响?
java·后端·面试
幼稚园的山代王20 分钟前
Prompt Enginering(提示工程)先进技术
java·人工智能·ai·chatgpt·langchain·prompt
周某某~29 分钟前
二.单例模式‌
java·单例模式·设计模式
摸鱼仙人~32 分钟前
深入理解Java单例模式:确保类只有一个实例
java·javascript·单例模式
SteveDraw35 分钟前
C++动态链接库封装,供C#/C++ 等编程语言使用——C++动态链接库概述(总)
开发语言·c++·c#·封装·动态链接库
十五年专注C++开发1 小时前
设计模式之单例模式(二): 心得体会
开发语言·c++·单例模式·设计模式
hstar95271 小时前
三十五、面向对象底层逻辑-Spring MVC中AbstractXlsxStreamingView的设计
java·后端·spring·设计模式·架构·mvc
flyair_China1 小时前
【云架构】
开发语言·php
pengyu1 小时前
【Java设计原则与模式之系统化精讲:壹】 | 编程世界的道与术(实战指导篇)
java·后端·设计模式
日月星辰Ace1 小时前
JVM 垃圾回收简介
java