——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明





基于javaweb的SSM小说在线阅读系统(前台阅读+后台管理)(java+ssm+jsp+mysql)
一、项目简述
功能包括(管理员和游客角色):
1:用户及主要操作功能 游客可以浏览网站的主页,但是需要注册为会员后部分小 说才能对网络小说进免费行阅读或阅读。用户可以收藏书 架,留言评论,上次阅读,阅读历史,章节选择等等功 能。
2:管理模块 网络小说管理模块包括不同网络小说类别的添加,删除以 及网络小说的上传,删除管理。可以包括武侠小书,都市 言情,穿越小书等各个类等等功能。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax等等。
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
@Controller public class LoginAction{
@Autowired LoginManager loginManager;
@RequestMapping(value="admin/LoginInSystem.action",method=RequestMethod.POST) public String InSystem(User params, ModelMap model,HttpServletRequest request,HttpServletResponse response,HttpSession httpSession){ try { String random = (String)httpSession.getAttribute("random"); if (!random.equals(params.getRandom())) { model.addAttribute("tip","验证码错误"); model.addAttribute("params",params); return "login"; } params.setUser_type(2); User admin = loginManager.getUser(params); if (admin!=null) { httpSession.setAttribute("admin", admin); }else { model.addAttribute("tip","用户名或密码错误"); model.addAttribute("params",params); return "login"; } } catch (Exception e) { e.printStackTrace(); model.addAttribute("tip","登录异常,请稍后重试"); model.addAttribute("params",params); return "login"; } return "redirect:index.jsp"; }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| } model.addAttribute("tip", "ok"); model.addAttribute("filename",file_name); model.addAttribute("filenameGBK",old_name); model.addAttribute("filelength",Math.round(file.getSize()/1024.0)); return returnPage; } catch (Exception e) { System.out.println(e.getMessage()); model.addAttribute("tip", "no"); model.addAttribute("errorString", "后台服务器异常"); return returnPage; } } } package com.nkl.page.action;
@Controller public class UploadIndexAction { public static String path = "prop/database.properties"; public static Properties props = new Properties(); static{ props = new Properties(); try { props.load(UploadIndexAction.class.getClassLoader().getResourceAsStream(path)); } catch (Exception e) { props = new Properties(); } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| try { if (!validateAdmin(httpSession)) { return "loginTip"; } adminManager.updateUser(paramsUser); User admin = new User(); admin.setUser_id(paramsUser.getUser_id()); admin = adminManager.getUser(admin); httpSession.setAttribute("admin", admin);
setSuccessTip("编辑成功", "modifyInfo.jsp", model); } catch (Exception e) { e.printStackTrace(); setErrorTip("编辑异常", "modifyInfo.jsp", model); } return "infoTip"; }
@RequestMapping(value="admin/Admin_saveAdminPass.action") public String saveAdminPass(User paramsUser, ModelMap model,HttpServletRequest request,HttpServletResponse response,HttpSession httpSession){ try { if (!validateAdmin(httpSession)) { return "loginTip"; } User admin = (User)httpSession.getAttribute("admin"); if (!admin.getUser_pass().equals(paramsUser.getUser_passOld())) { setErrorTip("修改异常,原密码不正确", "modifyPwd.jsp", model); return "infoTip"; } adminManager.updateUser(paramsUser); if (admin!=null) { admin.setUser_pass(paramsUser.getUser_pass()); httpSession.setAttribute("admin", admin); }
setSuccessTip("修改成功", "modifyPwd.jsp", model); } catch (Exception e) { setErrorTip("修改异常", "modifyPwd.jsp", model); } return "infoTip"; }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| String errorString=UploadFile.upload(file, saveFile, file.getContentType(), file.getSize(), allowedTypes,Long.parseLong(props.getProperty("maximunSize"))); if(!"".equals(errorString)) { System.out.println(errorString); model.addAttribute("tip", "no"); model.addAttribute("errorString", errorString); return returnPage; } model.addAttribute("tip", "ok"); model.addAttribute("filename",file_name); model.addAttribute("filenameGBK",old_name); model.addAttribute("filelength",Math.round(file.getSize()/1024.0)); return returnPage; } catch (Exception e) { System.out.println(e.getMessage()); model.addAttribute("tip", "no"); model.addAttribute("errorString", "后台服务器异常"); return returnPage; } } } package com.nkl.page.action;
@Controller public class UploadIndexAction { public static String path = "prop/database.properties"; public static Properties props = new Properties(); static{ props = new Properties(); try {
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| return "bookTypeShow"; }
@RequestMapping(value="admin/Admin_addBookTypeShow.action") public String addBookTypeShow(ModelMap model){ return "bookTypeEdit"; }
@RequestMapping(value="admin/Admin_addBookType.action") public String addBookType(BookType paramsBookType, ModelMap model,HttpServletRequest request,HttpServletResponse response,HttpSession httpSession){ try { BookType bookType = new BookType(); bookType.setBook_type_name(paramsBookType.getBook_type_name()); bookType = adminManager.queryBookType(bookType); if (bookType!=null) { model.addAttribute("tip","失败,该类型已经存在!"); model.addAttribute("bookType", paramsBookType); return "bookTypeEdit"; } adminManager.addBookType(paramsBookType); setSuccessTip("添加成功","Admin_listBookTypes.action",model); } catch (Exception e) { setErrorTip("添加图书类型异常","Admin_listBookTypes.action",model); } return "infoTip"; }
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=471422282105200dr
https://javayms.pages.dev?id=471422282105200dr