基于Springboot實(shí)現(xiàn)漫畫(huà)網(wǎng)站平臺(tái)
?作者主頁(yè):
作者簡(jiǎn)介:Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者、CSDN博客專(zhuān)家 、掘金特邀作者、多年架構(gòu)師設(shè)計(jì)經(jīng)驗(yàn)、騰訊課堂常駐講師
主要內(nèi)容:Java項(xiàng)目、畢業(yè)設(shè)計(jì)、簡(jiǎn)歷模板、學(xué)習(xí)資料、面試題庫(kù)、技術(shù)互助
文末獲取源碼?
項(xiàng)目編號(hào):BS-PT-064
一,項(xiàng)目簡(jiǎn)介
? 本項(xiàng)目基于Springboot實(shí)現(xiàn)開(kāi)發(fā)了一個(gè)漫畫(huà)主題的網(wǎng)站,實(shí)現(xiàn)了一個(gè)比漂亮的動(dòng)漫連載的網(wǎng)站系統(tǒng)。前端用戶注冊(cè)登陸后可以在線查看漫畫(huà)連載信息等,對(duì)個(gè)人信息進(jìn)行管理等操作。后臺(tái)管理用戶登陸后可以實(shí)現(xiàn)用戶管理,動(dòng)漫管理,反饋管理,更新預(yù)告管理,漫畫(huà)排行管理等相關(guān)功能模塊,界面設(shè)計(jì)優(yōu)雅大方,比較適合做畢業(yè)設(shè)計(jì)和課程設(shè)計(jì)使用。
二,環(huán)境介紹
語(yǔ)言環(huán)境:Java:? jdk1.8
數(shù)據(jù)庫(kù):Mysql: mysql5.7
應(yīng)用服務(wù)器:Tomcat:? tomcat8.5.31
開(kāi)發(fā)工具:IDEA或eclipse
后臺(tái)開(kāi)發(fā)技術(shù):Springboot+Mybatis
前后開(kāi)發(fā)技術(shù):Layui+Bootstrap
三,系統(tǒng)展示
系統(tǒng)前端展示

用戶注冊(cè)

登陸

個(gè)人中心

后臺(tái)管理?? admin/111111


用戶管理

漫畫(huà)管理

最近更新

更新預(yù)告

精品力薦

友情鏈接

漫畫(huà)排行
反饋列表

四,核心代碼展示
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;//@SessionAttributes(value = {"a_id","adminname","adminpassword"})public class AdminController { ? ? ?
? ? ?private AdminService adminService; ? ? ?//進(jìn)入后臺(tái)首先跳轉(zhuǎn)到登錄頁(yè)面
? ? ?
? ? ?public String LoginPage() { ? ? ? ? ?return "admin/lyear_pages_login";
? ? ?} ? ? ? //轉(zhuǎn)向后臺(tái)主頁(yè)
? ?
? ?public String index() { ? ? ? ?return ?"admin/index";
? ?} ? ?/**
? ? * 管理員注銷(xiāo)登錄
? ? * @param session
? ? * @return
? ? */
? ? ?
? ? ?public String loginout(HttpSession session) {
? ? ? ? ?session.removeAttribute("admin"); ? ? ? ? ?return "redirect:/admin";
? ? ?} ? ?/**
? ? *管理員登錄驗(yàn)證
? ? */
? ? ?
? ? public String logincheck( {
? ? ? ? ?Admin a= String adminname, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? String adminpassword,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?HttpSession session,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RedirectAttributes attributes,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?HttpServletRequest request,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Model model)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); ? ? ? ? ? ? ?//如果登錄成功跳轉(zhuǎn)到管理員首頁(yè),防止表單重復(fù)提交
? ? ? ? ? ? ?return "redirect:/admin/main.html";
? ? ? ? ?} else {
? ? ? ? ? ? ?attributes.addFlashAttribute("error","賬號(hào)或者密碼錯(cuò)誤"); ? ? ? ? ? ? ?return "redirect:/admin";
? ? ? ? ?}
? ? ?} ? ? ?
? ? ?public String top() { ? ? ? ? ?return "admin/top";
? ? ? } ? ?/**
? ? * 獲取服務(wù)器信息
? ? * @return
? ? */
? ?
? ? ?public ?String right(MyService myService,HttpServletRequest request,Model model) { ? ? ? ? ?//服務(wù)器環(huán)境
? ? ? ? ? Properties props = MyService.getSystemProperties(); ? ? ? ? ? String system = props.getProperty("os.name"); ? ? ? ? ?//java版本
? ? ? ? ? String jdkversion =props.getProperty("java.specification.version"); ? ? ? ? ?//數(shù)據(jù)庫(kù)版本號(hào)
? ? ? ? ? String sqlname = adminService.getMysql(); ? ? ? ? ?//服務(wù)器IP地址
? ? ? ? ? String ipaddress = request.getLocalAddr(); ? ? ? ? ?//服務(wù)器主機(jī)名
? ? ? ? ? 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";
? ? ? } ? ? ?
? ? ?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.*;/**
* 后臺(tái)漫畫(huà)管理控制器
*/public class ComicmainController { ? ?
? ?ComicmainService comicmainService; ? ?/**
? ? * 倒序顯示列表
? ? * @param model
? ? * @param start
? ? * @param size
? ? * @return
? ? * @throws Exception
? ? */
?
? ?public String comicmain(Model model, ? ? ? ? ? ? ? ? ? ? ? ? ? ?int start, ? ? ? ? ? ? ? ? ? ? ? ? ? ? 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";
? } ? ?/**
? ? * 跳轉(zhuǎn)到添加漫畫(huà)頁(yè)面
? ? */
?
? ?public String addcomic() { ? ? ? return "admin/addcomic";
? } ? ?/**
? ? *
? ? *跳轉(zhuǎn)到更新漫畫(huà)頁(yè)面
? ? */
?
? public String updatecomic() { ? ? ? return "admin/updatecomic";
? } ? ?/**
? ? * 添加漫畫(huà)
? ? */
? ?
? ? public String Addcomic(Model model, RedirectAttributes attributes, { String mhname, ? ? ? ? ? ? ? ? ? ? ? ? ? ? String authorname, Integer size, ? ? ? ? ? ? ? ? ? ? ? ? ? ? String announcement, String state, ? ? ? ? ? ? ? ? ? ? ? ? ? ? String category, String type, ? ? ? ? ? ? ? ? ? ? ? ? ? ? String region, String Introduction, ? ? ? ? ? ? ? ? ? ? ? ? ? ? String alias, 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","添加成功,你可以繼續(xù)添加或者關(guān)閉頁(yè)面"); ? ? ? ? ? ?return "redirect:/admin/addcomic";
? ? ? ?} else {
? ? ? ? ? ?System.out.println("添加失敗");
? ? ? ? ? ?attributes.addFlashAttribute("error","添加失敗"); ? ? ? ? ? ?return "redirect:/admin/addcomic";
? ? ? ?}
? ?} ? ?/**
? ? * 刪除漫畫(huà)
? ? */
? ? ?
? ? ?public String deletemh( {
? ? ? ? ?comicmainService.remove(id);
? ? ? ? ?System.out.println( Integer id)"刪除成功"+id); ? ? ? ? ?return "redirect:/admin/comicmain";
? ? ?} ? ?/**
? ? * 獲取漫畫(huà)內(nèi)容
? ? */
? ? ?
? ? ?public String getId(int id,Model model) { ? ? ? ? ? Mhinfo mhinfo = new Mhinfo();
? ? ? ? ? mhinfo = comicmainService.getId(id);
? ? ? ? ? model.addAttribute("list",mhinfo); ? ? ? ? ? return "admin/updatecomic";
? ? ?} ? ?/**
? ? * 更新漫畫(huà)
? ? */
? ? ?
? ? ?public String update(Model model, RedirectAttributes attributes, { ? ? ? ? ? String mhname, ? ? ? ? ? ? ? ? ? ? ? ? ? String authorname, Integer size, ? ? ? ? ? ? ? ? ? ? ? ? ? String announcement, String state, ? ? ? ? ? ? ? ? ? ? ? ? ? String category, String type, ? ? ? ? ? ? ? ? ? ? ? ? ? String region, String Introduction, ? ? ? ? ? ? ? ? ? ? ? ? ? String alias, String imgurl, ? ? ? ? ? ? ? ? ? ? ? ? ? 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";
? ? ?} ? ?/**
? ? * 漫畫(huà)模糊查詢
? ? */
? ? ?
? ? ?public String serachmh( {
? ? ? ? ?List<Mhinfo> list = String nameorauthor,Model model)new ArrayList<>();
? ? ? ? ?list = comicmainService.getnameorau(nameorauthor); ? ? ? ? ?if(list.toString().equals("[]")) {
? ? ? ? ? ? ?model.addAttribute("message","沒(méi)有搜索到相關(guān)數(shù)據(jù)"); ? ? ? ? ? ? ?return "admin/comicserach";
? ? ? ? ?} else {
? ? ? ? ? ? ?model.addAttribute("list", list); ? ? ? ? ? ? ?return "admin/comicserach";
? ? ? ? ?}
? ? ?} ? ? /**
? ? * 獲取漫畫(huà)名跳轉(zhuǎn)到添加章節(jié)列表
? ? */
? ?
? ? public String addtitle(String name,Model model) { ? ? ? ? int id = comicmainService.sidbyname(name);
? ? ? ? System.err.println(id);
? ? ? ? model.addAttribute("id",id); ? ? ? ? return "admin/addtitle";
? ? } ? ?/**
? ? * 顯示章節(jié)列表
? ? */
? ?
? ? 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";
? ? } ? ?/**
? ? * 添加章節(jié)列表
? ? */
? ?
? ? public String AddTitle(RedirectAttributes attributes,int id, 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","添加成功,可以繼續(xù)添加或者關(guān)閉會(huì)話框"); ? ? ? ? return "redirect:/admin/success";
? ? } ? ?
? ?public String success() { ? ? ? ? return "admin/success";
? ?} ? ?/**
? ? * 漫畫(huà)圖片顯示列表
? ? * @param id
? ? * @param model
? ? * @return
? ? */
? ?
? ?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";
? ?} ? ?/**
? ? * 跳轉(zhuǎn)到上傳漫畫(huà)圖片頁(yè)面
? ? */
? ?
? ? public String addmhimg() { ? ? ? ? return "admin/addmhImg";
? ? } ? ?/**
? ? * 上傳漫畫(huà)圖片
? ? */
? ?
? ? public String addmhimgcheck( { ? ? ? ? Integer id, 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","添加成功你可以繼續(xù)添加或者關(guān)閉會(huì)話框"); ? ? ? ? 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;/**
* 漫畫(huà)排名控制器
*/public class ComicrankController { ? ?
? ?ComicrankService comicrankService; ? ?/**
? ? * 漫畫(huà)排名
? ? * @return
? ? */
? ?
? ?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("獲取內(nèi)容失敗"); ? ? ? ? ? ?return "redirect:/admin/index";
? ? ? ?}
? ?} ? ?/**
? ? * 更新漫畫(huà)排名
? ? * @param c_id
? ? * @param c_name
? ? * @param c_words
? ? * @return
? ? */
? ?
? ?public String updatecomicrank(int c_id, String c_name, 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";
? ?} ? ?
? ?public String getId(int c_id,Model model) { ? ? ? ?Comicrank comicrank = comicrankService.getone(c_id);
? ? ? ?model.addAttribute("c",comicrank); ? ? ? ?return "admin/updatecomicrank";
? ?}
}
五,項(xiàng)目總結(jié)
? ? 表結(jié)構(gòu)模型如下:
