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






基于javaweb的SSM+Maven小说阅读系统(java+ssm+jsp+javascript+mysql)
项目运行
环境配置: 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
|
public class UserValidator extends Validator { private UserService userService; private String telephone; private String username; private String password1; private String password2; private String img_captcha; private String sms_captcha;
public UserValidator(HttpServletRequest request, UserService userService){ super(request); this.userService = userService;
this.telephone = (String) request.getParameter("telephone"); this.username = (String) request.getParameter("username"); this.password1 = (String) request.getParameter("password1"); this.password2 = (String) request.getParameter("password2"); this.img_captcha = (String) request.getParameter("img_captcha"); this.sms_captcha = (String) request.getParameter("sms_captcha"); }
public boolean clean(){ if(!cleanTelephone()) return false; if(!cleanUsername()) return false; if(!cleanPassword(password1)) return false; if(!cleanPassword(password2)) return false; if(!password1.equals(password2)) { message = "两次输入的密码不一致"; return false; } if(!cleanImgCaptcha()) return false; if(!cleanSMSCaptcha()) return false; return true; }
public boolean cleanTelephone(){ if(telephone == null || telephone.equals("")){ message = "手机号不能为空"; return false; }
|
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
| @RequestMapping(value = "/delete_tag", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") @ResponseBody public String deleteTag(Integer id){ Tag origin_tag = tagService.getById(id); if(origin_tag == null) return RESTful.params_error("标签不存在,请刷新页面重试");
tagService.delete(id); return RESTful.ok(); }
@RequestMapping(value = "/get_tag", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") @ResponseBody public String getTag(Integer id){ Tag tag = tagService.getById(id); if(tag == null) return RESTful.params_error("该标签不存在,请刷新页面重试"); Map<String,Object> data = new HashMap<>(); data.put("tag",tag); return RESTful.ok(data); }
@RequestMapping("/banners") public String banners(){ return "cms/banners"; }
@RequestMapping(value = "/banner_list", produces = "application/json;charset=UTF-8") @ResponseBody public String bannerList(){ List<Banner> banners = bannerService.getBanners(); Map<String,Object> data = new HashMap<>(); data.put("banners",banners); return RESTful.ok(data); }
@RequestMapping(value = "/add_banner", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") @ResponseBody public String addBanner(@Validated Banner banner, BindingResult br){ if(br.hasErrors()) return RESTful.params_error(br.getFieldError().getDefaultMessage()); bannerService.addBanner(banner); Map<String,Object> data = new HashMap<>();
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
@Controller @RequestMapping("") public class NovelController { @Autowired BannerService bannerService; @Autowired AdvertisementService advertisementService; @Autowired NovelService novelService; @Autowired ChapterService chapterService; @Autowired ExcellentworksService excellentworksService; @Autowired
|
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
|
public void getRandcode(HttpServletRequest request, HttpServletResponse response) { HttpSession session = request.getSession(); BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR); Graphics g = image.getGraphics(); g.fillRect(0, 0, width, height); g.setFont(new Font("Times New Roman", Font.ROMAN_BASELINE, 20)); g.setColor(getRandColor(110, 133)); for (int i = 0; i <= lineSize; i++) { drowLine(g); } String randomString = ""; for (int i = 1; i <= stringNum; i++) { randomString = drowString(g, randomString, i); } session.removeAttribute(RANDOMCODEKEY); session.setAttribute(RANDOMCODEKEY, randomString); session.setMaxInactiveInterval(60*5); g.dispose(); try { ImageIO.write(image, "JPEG", response.getOutputStream()); } catch (Exception e) { }
}
private String drowString(Graphics g, String randomString, int i) { g.setFont(getFont()); g.setColor(new Color(random.nextInt(101), random.nextInt(111), random .nextInt(121))); String rand = String.valueOf(getRandomString(random.nextInt(randString .length())));
|
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
| TagService tagService;
public static void main(String[] args) { System.out.println(MD5.str2MD5("123456")); }
@RequestMapping("") public String index(Model model, HttpSession session) { String[][] all_category_name = Category.CATEGORY_NAME;
List<Banner> banners = bannerService.getBanners(); List<Advertisement> ads = advertisementService.getAdvertisements();
PageHelper.offsetPage(0, 6); List<Novel> rec_novels_1_6 = novelService.getRecommendNovels(true);
PageHelper.offsetPage(6, 11); List<Novel> rec_novels_7_17 = novelService.getRecommendNovels(false);
PageHelper.offsetPage(0, 11); List<Novel> new_novels_1_11 = novelService.getNewNovels();
List<List<Novel>> cate_hot_novels = novelService.getCateHotNovels();
List<Excellentworks> excellent_workses = excellentworksService.getExcellentworkses();
PageHelper.offsetPage(0, 11); List<Novel> rank_novels = novelService.getRankNovels();
model.addAttribute("all_category_name", all_category_name); model.addAttribute("banners", banners); model.addAttribute("ads", ads); model.addAttribute("excellent_workses", excellent_workses); model.addAttribute("rec_novels_1_6", rec_novels_1_6); model.addAttribute("rec_novels_7_17", rec_novels_7_17); model.addAttribute("new_novels_1_11", new_novels_1_11); model.addAttribute("cate_hot_novels", cate_hot_novels); model.addAttribute("rank_novels", rank_novels); model.addAttribute("user", session.getAttribute("user"));
|
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
| ReadService readService; @Autowired CollectService collectService; @Autowired CategoryService categoryService; @Autowired TagService tagService;
public static void main(String[] args) { System.out.println(MD5.str2MD5("123456")); }
@RequestMapping("") public String index(Model model, HttpSession session) { String[][] all_category_name = Category.CATEGORY_NAME;
List<Banner> banners = bannerService.getBanners(); List<Advertisement> ads = advertisementService.getAdvertisements();
PageHelper.offsetPage(0, 6); List<Novel> rec_novels_1_6 = novelService.getRecommendNovels(true);
PageHelper.offsetPage(6, 11); List<Novel> rec_novels_7_17 = novelService.getRecommendNovels(false);
PageHelper.offsetPage(0, 11); List<Novel> new_novels_1_11 = novelService.getNewNovels();
List<List<Novel>> cate_hot_novels = novelService.getCateHotNovels();
List<Excellentworks> excellent_workses = excellentworksService.getExcellentworkses();
PageHelper.offsetPage(0, 11); List<Novel> rank_novels = novelService.getRankNovels();
model.addAttribute("all_category_name", all_category_name); model.addAttribute("banners", banners); model.addAttribute("ads", ads); model.addAttribute("excellent_workses", excellent_workses); model.addAttribute("rec_novels_1_6", rec_novels_1_6); model.addAttribute("rec_novels_7_17", rec_novels_7_17); model.addAttribute("new_novels_1_11", new_novels_1_11); model.addAttribute("cate_hot_novels", cate_hot_novels); model.addAttribute("rank_novels", rank_novels); model.addAttribute("user", session.getAttribute("user")); return "novel/index"; }
@RequestMapping("/detail/{id}")
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=361023491103200ym
https://javayms.pages.dev?id=361023491103200ym