基于Springboot的漫畫網(wǎng)站平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
一、項(xiàng)目簡(jiǎn)介
本項(xiàng)目基于Springboot實(shí)現(xiàn)開發(fā)了一個(gè)漫畫主題的網(wǎng)站,實(shí)現(xiàn)了一個(gè)比漂亮的動(dòng)漫連載的網(wǎng)站系統(tǒng)。前端用戶注冊(cè)登陸后可以在線查看漫畫連載信息等,對(duì)個(gè)人信息進(jìn)行管理等操作。后臺(tái)管理用戶登陸后可以實(shí)現(xiàn)用戶管理,動(dòng)漫管理,反饋管理,更新預(yù)告管理,漫畫排行管理等相關(guān)功能模塊,界面設(shè)計(jì)優(yōu)雅大方,比較適合做畢業(yè)設(shè)計(jì)和課程設(shè)計(jì)使用。
二、環(huán)境介紹
語言環(huán)境:Java: jdk1.8
數(shù)據(jù)庫:Mysql: mysql5.7
應(yīng)用服務(wù)器:Tomcat: tomcat8.5.31
開發(fā)工具:IDEA或eclipse
后臺(tái)開發(fā)技術(shù):Springboot+Mybatis
前后開發(fā)技術(shù):Layui+Bootstrap
三、系統(tǒng)展示
系統(tǒng)前端展示
用戶注冊(cè)
登陸
個(gè)人中心
后臺(tái)管理 admin/111111
用戶管理
漫畫管理
最近更新
更新預(yù)告
精品力薦
友情鏈接
漫畫排行
反饋列表
四、核心代碼展示
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; //進(jìn)入后臺(tái)首先跳轉(zhuǎn)到登錄頁面 @GetMapping public String LoginPage() { return "admin/lyear_pages_login"; } //轉(zhuǎn)向后臺(tái)主頁 @GetMapping("/a") public String index() { return "admin/index"; } /** * 管理員注銷登錄 * @param session * @return */ @GetMapping("/loginout") public String loginout(HttpSession session) { session.removeAttribute("admin"); return "redirect:/admin"; } /** *管理員登錄驗(yàn)證 */ @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); //如果登錄成功跳轉(zhuǎn)到管理員首頁,防止表單重復(fù)提交 return "redirect:/admin/main.html"; } else { attributes.addFlashAttribute("error","賬號(hào)或者密碼錯(cuò)誤"); return "redirect:/admin"; } } @GetMapping("/top") public String top() { return "admin/top"; } /** * 獲取服務(wù)器信息 * @return */ @GetMapping("/right") 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ù)庫版本號(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"; } @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.*; /** * 后臺(tái)漫畫管理控制器 */ @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"; } /** * 跳轉(zhuǎn)到添加漫畫頁面 */ @GetMapping("/addcomic") public String addcomic() { return "admin/addcomic"; } /** * *跳轉(zhuǎn)到更新漫畫頁面 */ @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","添加成功,你可以繼續(xù)添加或者關(guān)閉頁面"); 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"; } /** * 獲取漫畫內(nèi)容 */ @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","沒有搜索到相關(guān)數(shù)據(jù)"); return "admin/comicserach"; } else { model.addAttribute("list", list); return "admin/comicserach"; } } /** * 獲取漫畫名跳轉(zhuǎn)到添加章節(jié)列表 */ @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"; } /** * 顯示章節(jié)列表 */ @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"; } /** * 添加章節(jié)列表 */ @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","添加成功,可以繼續(xù)添加或者關(guān)閉會(huì)話框"); 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"; } /** * 跳轉(zhuǎn)到上傳漫畫圖片頁面 */ @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","添加成功你可以繼續(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; /** * 漫畫排名控制器 */ @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("獲取內(nèi)容失敗"); 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"; } }
五、項(xiàng)目總結(jié)
表結(jié)構(gòu)模型如下:
以上就是基于Springboot的漫畫網(wǎng)站平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)的詳細(xì)內(nèi)容,更多關(guān)于Springboot漫畫網(wǎng)站的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- 基于Springboot的高校社團(tuán)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- springboot實(shí)現(xiàn)學(xué)生管理系統(tǒng)
- SpringBoot前后端分離實(shí)現(xiàn)個(gè)人博客系統(tǒng)
- springboot詳解實(shí)現(xiàn)車險(xiǎn)理賠信息管理系統(tǒng)代碼
- Springboot詳解實(shí)現(xiàn)食品倉庫管理系統(tǒng)流程
- 基于Springboot疫苗接種行程管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于Springboot實(shí)現(xiàn)送水公司信息管理系統(tǒng)
相關(guān)文章
Feign遠(yuǎn)程調(diào)用參數(shù)里面內(nèi)容丟失的解決方案
這篇文章主要介紹了Feign遠(yuǎn)程調(diào)用參數(shù)里面內(nèi)容丟失的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03Java的StringBuilder在高性能場(chǎng)景下的正確用法
StringBuilder?對(duì)字符串的操作是直接改變字符串對(duì)象本身,而不是生成新的對(duì)象,所以新能開銷小.與StringBuffer相比StringBuilder的性能略高,StringBuilder則沒有保證線程的安全,從而性能略高于StringBuffer,需要的朋友可以參考下2023-05-05解決引用slf4j中Logger.info只打印出文字沒有數(shù)據(jù)的問題
這篇文章主要介紹了解決引用slf4j中Logger.info只打印出文字沒有數(shù)據(jù)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12Springboot如何使用logback實(shí)現(xiàn)多環(huán)境配置?
上一篇文章中老顧介紹了logback基本配置,了解了日志配置的基本方式.我們平時(shí)在系統(tǒng)開發(fā)時(shí),開發(fā)環(huán)境與生產(chǎn)環(huán)境的日志配置會(huì)不一樣;那今天老顧就跟大家介紹一下如何實(shí)現(xiàn)多環(huán)境配置,需要的朋友可以參考下2021-06-06idea如何修改文件的file is read-only問題
這篇文章主要介紹了idea如何修改文件的file is read-only問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12SpringBoot @PathVariable使用時(shí)遇到的問題及解決
這篇文章主要介紹了SpringBoot @PathVariable使用時(shí)遇到的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10spring通過構(gòu)造函數(shù)注入實(shí)現(xiàn)方法分析
這篇文章主要介紹了spring通過構(gòu)造函數(shù)注入實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了spring通過構(gòu)造函數(shù)注入的原理、實(shí)現(xiàn)步驟及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-10-10Springboot以Repository方式整合Redis的方法
這篇文章主要介紹了Springboot以Repository方式整合Redis的方法,本文通過圖文并茂實(shí)例詳解給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04SpringBoot服務(wù)開啟后通過端口訪問無反應(yīng)的解決
這篇文章主要介紹了SpringBoot服務(wù)開啟后通過端口訪問無反應(yīng)的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-10-10