• 基于Springboot实现漫画网站平台


    项目编号:BS-PT-064

    一,项目简介

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

    二,环境介绍

    语言环境:Java:  jdk1.8

    数据库:Mysql: mysql5.7

    应用服务器:Tomcat:  tomcat8.5.31

    开发工具:IDEA或eclipse

    后台开发技术:Springboot+Mybatis

    前后开发技术:Layui+Bootstrap

    三,系统展示

    系统前端展示

    用户注册

    登陆

    个人中心

    后台管理   admin/111111

    用户管理

    漫画管理

    最近更新

    更新预告

    精品力荐

    友情链接

    漫画排行

    反馈列表

    四,核心代码展示

    1. package com.mhd.manhuadui.web;
    2. import com.mhd.manhuadui.Pojo.Admin;
    3. import com.mhd.manhuadui.Pojo.Comicrank;
    4. import com.mhd.manhuadui.Pojo.MyService;
    5. import com.mhd.manhuadui.Service.AdminService;
    6. import com.mhd.manhuadui.Util.MD5Util;
    7. import org.springframework.beans.factory.annotation.Autowired;
    8. import org.springframework.stereotype.Controller;
    9. import org.springframework.ui.Model;
    10. import org.springframework.web.bind.annotation.*;
    11. import org.springframework.web.servlet.mvc.support.RedirectAttributes;
    12. import javax.servlet.http.HttpServletRequest;
    13. import javax.servlet.http.HttpSession;
    14. import java.util.List;
    15. import java.util.Properties;
    16. @Controller
    17. @RequestMapping("/admin")
    18. //@SessionAttributes(value = {"a_id","adminname","adminpassword"})
    19. public class AdminController {
    20. @Autowired
    21. private AdminService adminService;
    22. //进入后台首先跳转到登录页面
    23. @GetMapping
    24. public String LoginPage() {
    25. return "admin/lyear_pages_login";
    26. }
    27. //转向后台主页
    28. @GetMapping("/a")
    29. public String index() {
    30. return "admin/index";
    31. }
    32. /**
    33. * 管理员注销登录
    34. * @param session
    35. * @return
    36. */
    37. @GetMapping("/loginout")
    38. public String loginout(HttpSession session) {
    39. session.removeAttribute("admin");
    40. return "redirect:/admin";
    41. }
    42. /**
    43. *管理员登录验证
    44. */
    45. @PostMapping("/logincheck")
    46. public String logincheck(@RequestParam String adminname,
    47. @RequestParam String adminpassword,
    48. HttpSession session,
    49. RedirectAttributes attributes,
    50. HttpServletRequest request,
    51. Model model) {
    52. Admin a=new Admin();
    53. a.setAdminname(adminname);
    54. a.setAdminpassword(MD5Util.code(adminpassword));
    55. Admin admin = adminService.adminlogin(a);
    56. if(admin!=null) {
    57. session.setAttribute("admin",admin);
    58. // attributes.addFlashAttribute("admin",admin);
    59. model.addAttribute("admin",admin);
    60. //如果登录成功跳转到管理员首页,防止表单重复提交
    61. return "redirect:/admin/main.html";
    62. } else {
    63. attributes.addFlashAttribute("error","账号或者密码错误");
    64. return "redirect:/admin";
    65. }
    66. }
    67. @GetMapping("/top")
    68. public String top() {
    69. return "admin/top";
    70. }
    71. /**
    72. * 获取服务器信息
    73. * @return
    74. */
    75. @GetMapping("/right")
    76. public String right(MyService myService,HttpServletRequest request,Model model) {
    77. //服务器环境
    78. Properties props = MyService.getSystemProperties();
    79. String system = props.getProperty("os.name");
    80. //java版本
    81. String jdkversion =props.getProperty("java.specification.version");
    82. //数据库版本号
    83. String sqlname = adminService.getMysql();
    84. //服务器IP地址
    85. String ipaddress = request.getLocalAddr();
    86. //服务器主机名
    87. String domainname = request.getLocalName();
    88. myService.setSystem(system);
    89. myService.setJdkversion(jdkversion);
    90. myService.setSqlname(sqlname);
    91. myService.setIpaddress(ipaddress);
    92. myService.setDomainname(domainname);
    93. model.addAttribute("myService",myService);
    94. model.addAttribute("usernumber",adminService.getUsernumber());
    95. model.addAttribute("mhinfonumber",adminService.getMhinfonumber());
    96. return "admin/right";
    97. }
    98. @GetMapping("/left")
    99. public String left() {
    100. return "admin/left";
    101. }
    102. }

    1. package com.mhd.manhuadui.web;
    2. import com.github.pagehelper.Page;
    3. import com.github.pagehelper.PageHelper;
    4. import com.github.pagehelper.PageInfo;
    5. import com.mhd.manhuadui.Pojo.Img;
    6. import com.mhd.manhuadui.Pojo.Mhinfo;
    7. import com.mhd.manhuadui.Pojo.Mhlist;
    8. import com.mhd.manhuadui.Service.ComicmainService;
    9. import com.mhd.manhuadui.Service.ComicrankService;
    10. import com.mhd.manhuadui.Service.TrailerService;
    11. import org.apache.ibatis.annotations.Param;
    12. import org.springframework.beans.factory.annotation.Autowired;
    13. import org.springframework.stereotype.Controller;
    14. import org.springframework.ui.Model;
    15. import org.springframework.web.bind.annotation.GetMapping;
    16. import org.springframework.web.bind.annotation.RequestMapping;
    17. import org.springframework.web.bind.annotation.RequestParam;
    18. import org.springframework.web.servlet.mvc.support.RedirectAttributes;
    19. import javax.jws.WebParam;
    20. import javax.servlet.http.HttpServletRequest;
    21. import java.text.SimpleDateFormat;
    22. import java.util.*;
    23. /**
    24. * 后台漫画管理控制器
    25. */
    26. @Controller
    27. @RequestMapping("/admin")
    28. public class ComicmainController {
    29. @Autowired
    30. ComicmainService comicmainService;
    31. /**
    32. * 倒序显示列表
    33. * @param model
    34. * @param start
    35. * @param size
    36. * @return
    37. * @throws Exception
    38. */
    39. @GetMapping("/comicmain")
    40. public String comicmain(Model model,
    41. @RequestParam(value = "start",
    42. defaultValue = "0") int start,
    43. @RequestParam(value = "size",
    44. defaultValue = "5") int size) throws Exception {
    45. PageHelper.startPage(start,size,"id desc");
    46. List list = new ArrayList<>();
    47. list = comicmainService.getAll();
    48. PageInfo page= new PageInfo<>(list);
    49. model.addAttribute("page",page);
    50. return "admin/Comicmain";
    51. }
    52. /**
    53. * 跳转到添加漫画页面
    54. */
    55. @GetMapping("/addcomic")
    56. public String addcomic() {
    57. return "admin/addcomic";
    58. }
    59. /**
    60. *
    61. *跳转到更新漫画页面
    62. */
    63. @GetMapping("updatecomic")
    64. public String updatecomic() {
    65. return "admin/updatecomic";
    66. }
    67. /**
    68. * 添加漫画
    69. */
    70. @GetMapping("/AddComicCheck")
    71. public String Addcomic(Model model, RedirectAttributes attributes, @RequestParam String mhname,
    72. @RequestParam String authorname, @RequestParam Integer size,
    73. @RequestParam String announcement, @RequestParam String state,
    74. @RequestParam String category, @RequestParam String type,
    75. @RequestParam String region, @RequestParam String Introduction,
    76. @RequestParam String alias, @RequestParam String imgurl
    77. ) {
    78. // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
    79. // Date date = new Date();
    80. // String updatetime = sdf.format(date);
    81. Mhinfo mhinfo = new Mhinfo();
    82. mhinfo.setMhname(mhname);
    83. mhinfo.setAuthorname(authorname);
    84. mhinfo.setSize(size);
    85. mhinfo.setAnnouncement(announcement);
    86. mhinfo.setState(state);
    87. mhinfo.setCategory(category);
    88. mhinfo.setType(type);
    89. mhinfo.setRegion(region);
    90. mhinfo.setIntroduction(Introduction);
    91. mhinfo.setAlias(alias);
    92. mhinfo.setImgname("我是图片");
    93. mhinfo.setImgurl(imgurl);
    94. mhinfo.setUpdatetime(new Date());
    95. if(mhinfo!=null) {
    96. comicmainService.savemh(mhinfo);
    97. System.out.println("添加成功");
    98. attributes.addFlashAttribute("message","添加成功,你可以继续添加或者关闭页面");
    99. return "redirect:/admin/addcomic";
    100. } else {
    101. System.out.println("添加失败");
    102. attributes.addFlashAttribute("error","添加失败");
    103. return "redirect:/admin/addcomic";
    104. }
    105. }
    106. /**
    107. * 删除漫画
    108. */
    109. @GetMapping("/deletemh")
    110. public String deletemh(@RequestParam Integer id) {
    111. comicmainService.remove(id);
    112. System.out.println("删除成功"+id);
    113. return "redirect:/admin/comicmain";
    114. }
    115. /**
    116. * 获取漫画内容
    117. */
    118. @GetMapping("/getId")
    119. public String getId(int id,Model model) {
    120. Mhinfo mhinfo = new Mhinfo();
    121. mhinfo = comicmainService.getId(id);
    122. model.addAttribute("list",mhinfo);
    123. return "admin/updatecomic";
    124. }
    125. /**
    126. * 更新漫画
    127. */
    128. @GetMapping("/update")
    129. public String update(Model model, RedirectAttributes attributes, @RequestParam String mhname,
    130. @RequestParam String authorname, @RequestParam Integer size,
    131. @RequestParam String announcement, @RequestParam String state,
    132. @RequestParam String category, @RequestParam String type,
    133. @RequestParam String region, @RequestParam String Introduction,
    134. @RequestParam String alias, @RequestParam String imgurl,
    135. @RequestParam Integer id){
    136. Mhinfo mhinfo = new Mhinfo();
    137. mhinfo.setId(id);
    138. mhinfo.setMhname(mhname);
    139. mhinfo.setAuthorname(authorname);
    140. mhinfo.setSize(size);
    141. mhinfo.setAnnouncement(announcement);
    142. mhinfo.setState(state);
    143. mhinfo.setCategory(category);
    144. mhinfo.setType(type);
    145. mhinfo.setRegion(region);
    146. mhinfo.setIntroduction(Introduction);
    147. mhinfo.setAlias(alias);
    148. mhinfo.setImgurl(imgurl);
    149. mhinfo.setUpdatetime(new Date());
    150. comicmainService.updatecomic(mhinfo);
    151. System.out.println("更新成功");
    152. return "redirect:/admin/comicmain";
    153. }
    154. /**
    155. * 漫画模糊查询
    156. */
    157. @GetMapping("/serachmh")
    158. public String serachmh(@RequestParam String nameorauthor,Model model) {
    159. List list = new ArrayList<>();
    160. list = comicmainService.getnameorau(nameorauthor);
    161. if(list.toString().equals("[]")) {
    162. model.addAttribute("message","没有搜索到相关数据");
    163. return "admin/comicserach";
    164. } else {
    165. model.addAttribute("list", list);
    166. return "admin/comicserach";
    167. }
    168. }
    169. /**
    170. * 获取漫画名跳转到添加章节列表
    171. */
    172. @GetMapping("/addtitle")
    173. public String addtitle(String name,Model model) {
    174. int id = comicmainService.sidbyname(name);
    175. System.err.println(id);
    176. model.addAttribute("id",id);
    177. return "admin/addtitle";
    178. }
    179. /**
    180. * 显示章节列表
    181. */
    182. @GetMapping("/titlelist")
    183. public String titlelist(Integer id,Model model) {
    184. List list = new ArrayList<>();
    185. Mhinfo m = new Mhinfo();
    186. m = comicmainService.getId(id);
    187. list = comicmainService.getmhlist(id);
    188. model.addAttribute("list",list);
    189. model.addAttribute("m",m);
    190. return "admin/titlelist";
    191. }
    192. /**
    193. * 添加章节列表
    194. */
    195. @GetMapping("/AddTitle")
    196. public String AddTitle(RedirectAttributes attributes,@RequestParam int id,@RequestParam String title) {
    197. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    198. Date date = new Date();
    199. String time = sdf.format(date);
    200. Mhlist m = new Mhlist();
    201. m.setM_id(id);
    202. m.setCreatetime(time);
    203. m.setTitle(title);
    204. comicmainService.savemhlist(m);
    205. System.out.println("保存成功");
    206. attributes.addFlashAttribute("message","添加成功,可以继续添加或者关闭会话框");
    207. return "redirect:/admin/success";
    208. }
    209. @GetMapping("/success")
    210. public String success() {
    211. return "admin/success";
    212. }
    213. /**
    214. * 漫画图片显示列表
    215. * @param id
    216. * @param model
    217. * @return
    218. */
    219. @GetMapping("/mhimglist")
    220. public String mhimglist(Integer id,Model model) {
    221. List list = new ArrayList<>();
    222. list = comicmainService.imglist(id);
    223. String name = comicmainService.Selectnamebyid(id);
    224. String title = comicmainService.Selecttitlebyid(id);
    225. model.addAttribute("list",list);
    226. model.addAttribute("name",name);
    227. model.addAttribute("title",title);
    228. return "admin/mhlist";
    229. }
    230. /**
    231. * 跳转到上传漫画图片页面
    232. */
    233. @GetMapping("/addmhImg")
    234. public String addmhimg() {
    235. return "admin/addmhImg";
    236. }
    237. /**
    238. * 上传漫画图片
    239. */
    240. @GetMapping("/addmhimgcheck")
    241. public String addmhimgcheck(@RequestParam Integer id,@RequestParam String imgurl,RedirectAttributes attributes) {
    242. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    243. Date date = new Date();
    244. String createtime = sdf.format(date);
    245. Img i = new Img();
    246. i.setI_id(id);
    247. i.setImgurl(imgurl);
    248. i.setCreatetime(createtime);
    249. comicmainService.Saveimg(i);
    250. System.out.println("添加成功"+imgurl);
    251. attributes.addFlashAttribute("message","添加成功你可以继续添加或者关闭会话框");
    252. return "redirect:/admin/addmhImg";
    253. }
    254. }

    1. package com.mhd.manhuadui.web;
    2. import com.mhd.manhuadui.Pojo.Comicrank;
    3. import com.mhd.manhuadui.Service.ComicrankService;
    4. import org.springframework.beans.factory.annotation.Autowired;
    5. import org.springframework.stereotype.Controller;
    6. import org.springframework.ui.Model;
    7. import org.springframework.web.bind.annotation.GetMapping;
    8. import org.springframework.web.bind.annotation.RequestMapping;
    9. import org.springframework.web.bind.annotation.RequestParam;
    10. import java.util.List;
    11. /**
    12. * 漫画排名控制器
    13. */
    14. @Controller
    15. @RequestMapping("/admin")
    16. public class ComicrankController {
    17. @Autowired
    18. ComicrankService comicrankService;
    19. /**
    20. * 漫画排名
    21. * @return
    22. */
    23. @GetMapping("/comicrank")
    24. public String comicrank(Model model) throws Exception {
    25. List list = comicrankService.getComicPaiming();
    26. if(list!=null) {
    27. model.addAttribute("c2",list);
    28. return "admin/Comicrank";
    29. }
    30. else {
    31. System.err.println("获取内容失败");
    32. return "redirect:/admin/index";
    33. }
    34. }
    35. /**
    36. * 更新漫画排名
    37. * @param c_id
    38. * @param c_name
    39. * @param c_words
    40. * @return
    41. */
    42. @GetMapping("/updatepaiming")
    43. public String updatecomicrank(@RequestParam int c_id,@RequestParam String c_name,@RequestParam String c_words) {
    44. Comicrank comicrank = new Comicrank();
    45. comicrank.setC_id(c_id);
    46. comicrank.setC_name(c_name);
    47. comicrank.setC_words(c_words);
    48. comicrankService.updategetid(comicrank);
    49. System.out.println("更新成功");
    50. return "redirect:/admin/comicrank";
    51. // System.err.println("更心失败");
    52. // return "admin/updatecomicrank";
    53. }
    54. @GetMapping("/getid")
    55. public String getId(int c_id,Model model) {
    56. Comicrank comicrank = comicrankService.getone(c_id);
    57. model.addAttribute("c",comicrank);
    58. return "admin/updatecomicrank";
    59. }
    60. }

    五,项目总结

        表结构模型如下:

  • 相关阅读:
    第三讲 Gradient Tutorial梯度下降与随机梯度下降
    基于微信小程序的比赛赛程管理系统设计与实现
    MySQL进阶实战5,为什么查询速度会慢
    [网鼎杯 2020 朱雀组]Nmap 通过nmap写入木马 argcmd过滤实现逃逸
    【全网最全面C语言教程】C语言从入门到精通
    MCDF实验5:凛冬的寒风(从verilog到SV的入门lab5)
    道可云元宇宙每日资讯|2023焦作市文旅元宇宙产业发展座谈会举行
    数据结构——树状数组
    我的世界1.19.2最终优化模组推荐:这60个优化模组让你的体验更好
    【-前端攻城师之JS基础】01JS基础语法
  • 原文地址:https://blog.csdn.net/BS009/article/details/126108711