基于Springboot的漫画网站平台设计与实现

目录
  • 一、项目简介
  • 二、环境介绍
  • 三、系统展示
  • 四、核心代码展示
  • 五、项目总结

一、项目简介

本项目基于Springboot实现开发了一个漫画主题的网站,实现了一个比漂亮的动漫连载的网站系统。前端用户注册登陆后可以在线查看漫画连载信息等,对个人信息进行管理等操作。后台管理用户登陆后可以实现用户管理,动漫管理,反馈管理,更新预告管理,漫画排行管理等相关功能模块,界面设计优雅大方,比较适合做毕业设计和课程设计使用。

二、环境介绍

语言环境:Java:  jdk1.8

数据库:Mysql: mysql5.7

应用服务器:Tomcat:  tomcat8.5.31

开发工具:IDEA或eclipse

后台开发技术:Springboot+Mybatis

前后开发技术:Layui+Bootstrap

三、系统展示

系统前端展示

用户注册

登陆

个人中心

后台管理   admin/111111

用户管理

漫画管理

最近更新

更新预告

精品力荐

友情链接

漫画排行

反馈列表

四、核心代码展示

package com.mhd.manhuadui.web;

import com.mhd.manhuadui.Pojo.Admin;
import com.mhd.manhuadui.Pojo.Comicrank;
import com.mhd.manhuadui.Pojo.MyService;
import com.mhd.manhuadui.Service.AdminService;
import com.mhd.manhuadui.Util.MD5Util;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.List;
import java.util.Properties;

@Controller
@RequestMapping("/admin")
//@SessionAttributes(value = {"a_id","adminname","adminpassword"})
public class AdminController {
      @Autowired
      private AdminService adminService;

      //进入后台首先跳转到登录页面
      @GetMapping
      public String LoginPage() {
          return "admin/lyear_pages_login";
      }

       //转向后台主页
    @GetMapping("/a")
    public String index() {
        return  "admin/index";
    }

    /**
     * 管理员注销登录
     * @param session
     * @return
     */
      @GetMapping("/loginout")
      public String loginout(HttpSession session) {
          session.removeAttribute("admin");
          return "redirect:/admin";
      }
    /**
     *管理员登录验证
     */
      @PostMapping("/logincheck")
     public String logincheck(@RequestParam String adminname,
                              @RequestParam String adminpassword,
                              HttpSession session,
                              RedirectAttributes attributes,
                              HttpServletRequest request,
                              Model model) {
          Admin a=new Admin();
          a.setAdminname(adminname);
          a.setAdminpassword(MD5Util.code(adminpassword));
          Admin admin = adminService.adminlogin(a);
          if(admin!=null) {
              session.setAttribute("admin",admin);
             // attributes.addFlashAttribute("admin",admin);
              model.addAttribute("admin",admin);
              //如果登录成功跳转到管理员首页,防止表单重复提交
              return "redirect:/admin/main.html";

          } else {
              attributes.addFlashAttribute("error","账号或者密码错误");
              return "redirect:/admin";
          }
      }

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

    /**
     * 获取服务器信息
     * @return
     */
    @GetMapping("/right")
      public  String right(MyService myService,HttpServletRequest request,Model model) {
          //服务器环境
           Properties props = MyService.getSystemProperties();
           String system = props.getProperty("os.name");
          //java版本
           String jdkversion =props.getProperty("java.specification.version");
          //数据库版本号
           String sqlname = adminService.getMysql();
          //服务器IP地址
           String ipaddress = request.getLocalAddr();
          //服务器主机名
           String  domainname = request.getLocalName();

           myService.setSystem(system);
           myService.setJdkversion(jdkversion);
           myService.setSqlname(sqlname);
           myService.setIpaddress(ipaddress);
           myService.setDomainname(domainname);

           model.addAttribute("myService",myService);
           model.addAttribute("usernumber",adminService.getUsernumber());
           model.addAttribute("mhinfonumber",adminService.getMhinfonumber());
           return "admin/right";
       }

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

}
package com.mhd.manhuadui.web;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.mhd.manhuadui.Pojo.Img;
import com.mhd.manhuadui.Pojo.Mhinfo;
import com.mhd.manhuadui.Pojo.Mhlist;
import com.mhd.manhuadui.Service.ComicmainService;
import com.mhd.manhuadui.Service.ComicrankService;
import com.mhd.manhuadui.Service.TrailerService;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

import javax.jws.WebParam;
import javax.servlet.http.HttpServletRequest;
import java.text.SimpleDateFormat;
import java.util.*;

/**
 * 后台漫画管理控制器
 */
@Controller
@RequestMapping("/admin")
public class ComicmainController {

    @Autowired
    ComicmainService comicmainService;

    /**
     * 倒序显示列表
     * @param model
     * @param start
     * @param size
     * @return
     * @throws Exception
     */
   @GetMapping("/comicmain")
    public String comicmain(Model model,
                            @RequestParam(value = "start",
                            defaultValue = "0") int start,
                            @RequestParam(value = "size",
                            defaultValue = "5") int size) throws Exception {
       PageHelper.startPage(start,size,"id desc");
       List<Mhinfo> list = new ArrayList<>();
       list = comicmainService.getAll();
       PageInfo<Mhinfo> page= new PageInfo<>(list);
       model.addAttribute("page",page);
       return "admin/Comicmain";
   }
    /**
     * 跳转到添加漫画页面
     */
   @GetMapping("/addcomic")
    public String addcomic() {
       return "admin/addcomic";
   }

    /**
     *
     *跳转到更新漫画页面
     */
   @GetMapping("updatecomic")
   public String updatecomic() {
       return "admin/updatecomic";
   }

    /**
     * 添加漫画
     */
    @GetMapping("/AddComicCheck")
     public String Addcomic(Model model, RedirectAttributes attributes, @RequestParam String mhname,
                            @RequestParam String authorname, @RequestParam Integer size,
                            @RequestParam String announcement, @RequestParam String state,
                            @RequestParam String category, @RequestParam String type,
                            @RequestParam String region, @RequestParam String Introduction,
                            @RequestParam String alias, @RequestParam String imgurl
                            ) {
//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
//        Date date = new Date();
//        String updatetime = sdf.format(date);
        Mhinfo mhinfo = new Mhinfo();

        mhinfo.setMhname(mhname);
        mhinfo.setAuthorname(authorname);
        mhinfo.setSize(size);
        mhinfo.setAnnouncement(announcement);
        mhinfo.setState(state);
        mhinfo.setCategory(category);
        mhinfo.setType(type);
        mhinfo.setRegion(region);
        mhinfo.setIntroduction(Introduction);
        mhinfo.setAlias(alias);
        mhinfo.setImgname("我是图片");
        mhinfo.setImgurl(imgurl);
        mhinfo.setUpdatetime(new Date());

        if(mhinfo!=null) {
            comicmainService.savemh(mhinfo);
            System.out.println("添加成功");
            attributes.addFlashAttribute("message","添加成功,你可以继续添加或者关闭页面");
            return "redirect:/admin/addcomic";
        } else {
            System.out.println("添加失败");
            attributes.addFlashAttribute("error","添加失败");
            return "redirect:/admin/addcomic";
        }
    }

    /**
     * 删除漫画
     */
      @GetMapping("/deletemh")
      public String deletemh(@RequestParam Integer id) {
          comicmainService.remove(id);
          System.out.println("删除成功"+id);
          return "redirect:/admin/comicmain";
      }
    /**
     * 获取漫画内容
     */
      @GetMapping("/getId")
      public String getId(int id,Model model) {
           Mhinfo mhinfo = new Mhinfo();
           mhinfo = comicmainService.getId(id);
           model.addAttribute("list",mhinfo);
           return "admin/updatecomic";
      }
    /**
     * 更新漫画
     */
      @GetMapping("/update")
      public String update(Model model, RedirectAttributes attributes, @RequestParam String mhname,
                           @RequestParam String authorname, @RequestParam Integer size,
                           @RequestParam String announcement, @RequestParam String state,
                           @RequestParam String category, @RequestParam String type,
                           @RequestParam String region, @RequestParam String Introduction,
                           @RequestParam String alias, @RequestParam String imgurl,
                           @RequestParam Integer id){
          Mhinfo mhinfo = new Mhinfo();
          mhinfo.setId(id);
          mhinfo.setMhname(mhname);
          mhinfo.setAuthorname(authorname);
          mhinfo.setSize(size);
          mhinfo.setAnnouncement(announcement);
          mhinfo.setState(state);
          mhinfo.setCategory(category);
          mhinfo.setType(type);
          mhinfo.setRegion(region);
          mhinfo.setIntroduction(Introduction);
          mhinfo.setAlias(alias);
          mhinfo.setImgurl(imgurl);
          mhinfo.setUpdatetime(new Date());

          comicmainService.updatecomic(mhinfo);
          System.out.println("更新成功");
          return "redirect:/admin/comicmain";
      }
    /**
     * 漫画模糊查询
     */
      @GetMapping("/serachmh")
      public String serachmh(@RequestParam String nameorauthor,Model model) {
          List<Mhinfo> list = new ArrayList<>();
          list = comicmainService.getnameorau(nameorauthor);
          if(list.toString().equals("[]")) {
              model.addAttribute("message","没有搜索到相关数据");
              return "admin/comicserach";
          } else {
              model.addAttribute("list", list);
              return "admin/comicserach";
          }
      }

     /**
     * 获取漫画名跳转到添加章节列表
     */
     @GetMapping("/addtitle")
     public String addtitle(String name,Model model) {
         int id = comicmainService.sidbyname(name);
         System.err.println(id);
         model.addAttribute("id",id);
         return "admin/addtitle";
     }
    /**
     * 显示章节列表
     */
     @GetMapping("/titlelist")
     public String titlelist(Integer id,Model model) {
         List<Mhlist> list = new ArrayList<>();
         Mhinfo m = new Mhinfo();
         m = comicmainService.getId(id);
         list = comicmainService.getmhlist(id);
         model.addAttribute("list",list);
         model.addAttribute("m",m);
         return "admin/titlelist";
     }
    /**
     * 添加章节列表
     */
     @GetMapping("/AddTitle")
     public String AddTitle(RedirectAttributes attributes,@RequestParam int id,@RequestParam String title) {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         Date date = new Date();
         String time = sdf.format(date);
         Mhlist m = new Mhlist();
         m.setM_id(id);
         m.setCreatetime(time);
         m.setTitle(title);
         comicmainService.savemhlist(m);
         System.out.println("保存成功");
         attributes.addFlashAttribute("message","添加成功,可以继续添加或者关闭会话框");
         return "redirect:/admin/success";
     }

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

    /**
     * 漫画图片显示列表
     * @param id
     * @param model
     * @return
     */
    @GetMapping("/mhimglist")
    public String mhimglist(Integer id,Model model) {
         List<Img> list = new ArrayList<>();
         list = comicmainService.imglist(id);
         String name = comicmainService.Selectnamebyid(id);
         String title = comicmainService.Selecttitlebyid(id);
         model.addAttribute("list",list);
         model.addAttribute("name",name);
         model.addAttribute("title",title);
         return "admin/mhlist";
    }
    /**
     * 跳转到上传漫画图片页面
     */
     @GetMapping("/addmhImg")
     public String addmhimg() {
         return "admin/addmhImg";
     }
    /**
     * 上传漫画图片
     */
     @GetMapping("/addmhimgcheck")
     public String addmhimgcheck(@RequestParam Integer id,@RequestParam String imgurl,RedirectAttributes attributes) {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         Date date = new Date();
         String createtime = sdf.format(date);
         Img i = new Img();
         i.setI_id(id);
         i.setImgurl(imgurl);
         i.setCreatetime(createtime);
         comicmainService.Saveimg(i);
         System.out.println("添加成功"+imgurl);
         attributes.addFlashAttribute("message","添加成功你可以继续添加或者关闭会话框");
         return "redirect:/admin/addmhImg";
     }

}
package com.mhd.manhuadui.web;

import com.mhd.manhuadui.Pojo.Comicrank;
import com.mhd.manhuadui.Service.ComicrankService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * 漫画排名控制器
 */
@Controller
@RequestMapping("/admin")
public class ComicrankController {

    @Autowired
    ComicrankService comicrankService;
    /**
     * 漫画排名
     * @return
     */
    @GetMapping("/comicrank")
    public String comicrank(Model model) throws Exception {
        List<Comicrank> list = comicrankService.getComicPaiming();
        if(list!=null) {
            model.addAttribute("c2",list);
            return "admin/Comicrank";
        }
        else {
            System.err.println("获取内容失败");
            return "redirect:/admin/index";
        }
    }

    /**
     * 更新漫画排名
     * @param c_id
     * @param c_name
     * @param c_words
     * @return
     */
    @GetMapping("/updatepaiming")
    public String updatecomicrank(@RequestParam int c_id,@RequestParam String c_name,@RequestParam String c_words) {
        Comicrank comicrank = new Comicrank();
        comicrank.setC_id(c_id);
        comicrank.setC_name(c_name);
        comicrank.setC_words(c_words);

        comicrankService.updategetid(comicrank);

        System.out.println("更新成功");
        return "redirect:/admin/comicrank";

   //     System.err.println("更心失败");
     //   return  "admin/updatecomicrank";
    }

    @GetMapping("/getid")
    public String getId(int c_id,Model model) {
        Comicrank comicrank = comicrankService.getone(c_id);
        model.addAttribute("c",comicrank);
        return "admin/updatecomicrank";
    }

}

五、项目总结

表结构模型如下:

以上就是基于Springboot的漫画网站平台设计与实现的详细内容,更多关于Springboot漫画网站的资料请关注我们其它相关文章!

(0)

相关推荐

  • SpringBoot前后端分离实现个人博客系统

    目录 一.项目简介 二.环境介绍 三.系统展示 四.核心代码展示 五.项目总结 一.项目简介 本项目使用springboot+mybatis+前端vue,使用前后端分离架构实现的个人博客系统,共7个模块,首页,写博客,博客详情页,评论管理,文章分类,标签管理和文章归档.该项目没有后端管理功能,比较适合用于大作业! 二.环境介绍 语言环境:Java:  jdk1.8 数据库:Mysql: mysql5.7/redis 应用服务器:Tomcat:  tomcat8.5.31 开发工具:IDEA或ec

  • 基于Springboot实现高校社团管理系统的设计与实现

    目录 一.项目简介 二.环境介绍 三.系统展示 四.核心代码展示 一.项目简介 本项目基于Springboot+Mybatis开发实现了一个高校社团管理系统,系统包含三个角色:管理员.团长.会员.管理员主要是做一些基础数据的管理,比较用户管理,新闻管理,活动审批,社团创建审批等等,会员可以申请加入相关的社团,也可自己申请社团,管理员审批通过后成为团长,可以申请开展相关的活动.团长登陆后可以审批申请加入本社团的申请信息,并管理和查看相关的社团用户信息.各角色进入均可以查看发布的新闻信息. 二.环境

  • Springboot详解实现食品仓库管理系统流程

    目录 一,项目简介 二,环境介绍 三,系统展示 3.1 系统功能模块设计 3.1.1 登录模块 3.1.2 客户管理模块 3.1.3 供应商管理功能 3.1.4 商品管理模块 3.1.5 商品进货管理模块 3.1.6 商品退货信息查询模块 四,核心代码展示 五,项目总结 一,项目简介 经过调查研究进行开发设计的这款仓库管理系统,主要是为商家提供商品货物进销存的信息化管理,以便让商家在竞争如此激烈的今天占据一定的优势和商机,通过信息化技术手段的应用来减少库存,提升周转率,降低成本,提高盈利. 仓库

  • springboot详解实现车险理赔信息管理系统代码

    目录 一,项目简介 二,环境介绍 三,系统展示 四,核心代码展示 五,项目总结 一,项目简介 客户的主要功能:个人资料管理,购买的保险信息管理,理赔的申请 事故调查员功能:个人资料管理,事故调查管理,现场勘察管理 管理员功能:个人资料管理,用户管理,理赔审请审核,赔偿金发放管理 二,环境介绍 语言环境:Java: jdk1.8 数据库:Mysql: mysql5.7 应用服务器:Tomcat: tomcat8.5.31 开发工具:IDEA或eclipse 开发技术:后台springboot+sp

  • springboot实现学生管理系统

    本文实例为大家分享了SpringBoot实现学生管理系统,供大家参考,具体内容如下 一.创建springboot项目 点击下一步 点击下一步,选择要添加的依赖 点击下一步,再点击完成 修改pom.xml如下 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:/

  • 基于Springboot实现送水公司信息管理系统

    项目编号:BS-XX-014 项目描述 springboot实现的送水后台管理系统 运行环境 jdk8+tomcat7+mysql+IntelliJ IDEA+maven 项目技术(必填) SpringBoot+mybatis 数据库文件(可选) 压缩包自带 依赖包文件(可选) maven项目 项目运行截图: 系统主界面 客户管理 送水工管理 送水历史订单 工资计算 统计送水数量 package com.minzu.service.impl; import cn.hutool.crypto.di

  • 基于Springboot疫苗接种行程管理系统的设计与实现

    目录 介绍 效果图展示 核心代码 介绍 项目编号:BS-XX-105 开发技术:Springboot+springmvc+mybatis+layui 开发工具:idea或eclipse 数据库:mysql5.7 开发语言:java JDK版本:jdk1.8 本系统主要实现个人疫苗接种管理.行程管理.病史管理.风险地区管理.核酸检测报告结果上报.疫情新闻管理等功能.系统分为两个角色:管理员和普通用户.管理员可以管理所有人的相关信息,普通用户只能管理自己的疫苗接种等信息,可以查看管理员发布的疫情地区

  • 基于Springboot的漫画网站平台设计与实现

    目录 一.项目简介 二.环境介绍 三.系统展示 四.核心代码展示 五.项目总结 一.项目简介 本项目基于Springboot实现开发了一个漫画主题的网站,实现了一个比漂亮的动漫连载的网站系统.前端用户注册登陆后可以在线查看漫画连载信息等,对个人信息进行管理等操作.后台管理用户登陆后可以实现用户管理,动漫管理,反馈管理,更新预告管理,漫画排行管理等相关功能模块,界面设计优雅大方,比较适合做毕业设计和课程设计使用. 二.环境介绍 语言环境:Java:  jdk1.8 数据库:Mysql: mysql

  • 基于SpringBoot实现自动装配返回属性的设计思路

    目录 一:需求背景 二:设计思路 三:使用方法 四:注解解析器(核心代码) 五:需要思考的技术点 一:需求背景 在业务开发中经常会有这个一个场景,A(业务表)表中会记录数据的创建人,通常我们会用userId字段记录该数据的创建者,但数据的使用方会要求展示该数据的创建者姓名,故我们会关联用户表拿该用户的姓名.还有一些枚举值的含义也要展示给前端.导致原本一个单表的sql就要写成多表的关联sql,以及枚举含义的转换很是恶心. 例如:业务对象BusinessEntity.java public clas

  • 基于Springboot商品进销存管理系统的设计与实现

    目录 一.项目简介 二.环境介绍 三.系统展示 四.核心代码展示 五.项目总结 一.项目简介 本项目实现了基于springboot的进销存管理系统,主要用户开设网店的相关商品的进货.销售.库存的管理,功能比较完整,有着完备的权限管理系统,可以自行根据需要来设计角色和分配权限,权限的粒度可以做到页面级的权限控制,整个项目来讲比较优秀.主要实现的功能有如下几个模块: 基础管理模块:包含客户管理.供应商管理.商品管理三个子模块 进货管理模块:包含商品进货.退货.商品退货查询几个子查块 销售管理:包含商

  • 基于SpringBoot与Mybatis实现SpringMVC Web项目

    一.热身 一个现实的场景是:当我们开发一个Web工程时,架构师和开发工程师可能更关心项目技术结构上的设计.而几乎所有结构良好的软件(项目)都使用了分层设计.分层设计是将项目按技术职能分为几个内聚的部分,从而将技术或接口的实现细节隐藏起来. 从另一个角度上来看,结构上的分层往往也能促进了技术人员的分工,可以使开发人员更专注于某一层业务与功能的实现,比如前端工程师只关心页面的展示与交互效果(例如专注于HTML,JS等),而后端工程师只关心数据和业务逻辑的处理(专注于Java,Mysql等).两者之间

  • 基于SpringBoot实现用户身份验证工具

    session失效时间 在Tomcat上,session的默认有效时间是30分钟.也可以通过配置文件修改session的有效时间. 1)修改web.xml <!-- 设置session失效,单位分 --> <session-config> <session-timeout>1</session-timeout> </session-config> 2).yml文件 server.session.cookie.http-only= #是否开启Htt

  • 基于spring-boot和docker-java实现对docker容器的动态管理和监控功能[附完整源码下载]

    docker简介 Docker 是一个开源的应用容器引擎,和传统的虚拟机技术相比,Docker 容器性能开销极低,因此也广受开发者喜爱.随着基于docker的开发者越来越多,docker的镜像也原来越丰富,未来各种企业级的完整解决方案都可以直接通过下载镜像拿来即用.因此docker变得越来越重要. 本文目的 本文通过一个项目实例来介绍如果通过docker对外接口来实现对docker容器的管理和监控. 应用场景: 对服务器资源池通过docker进行统一管理,按需分配资源和创建容器,达到资源最大化利

  • springBoot+webMagic实现网站爬虫的实例代码

    前端时间公司项目需要抓取各类数据,py玩的不6,只好研究Java爬虫方案,做一个总结. 开发环境: springBoot 2.2.6.jdk1.8. 1.导入依赖 <!--WebMagic核心包--> <dependency> <groupId>us.codecraft</groupId> <artifactId>webmagic-core</artifactId> <version>0.7.3</version&g

  • 基于springboot的RestTemplate、okhttp和HttpClient对比分析

    1.HttpClient:代码复杂,还得操心资源回收等.代码很复杂,冗余代码多,不建议直接使用. 2.RestTemplate: 是 Spring 提供的用于访问Rest服务的客户端, RestTemplate 提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率. 引入jar包: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot

随机推荐