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












基于javaweb的SpringBoot美食菜谱分享平台系统设计和实现(java+springboot+mysql+ssm+thymeleaf+html+maven)
主要技术实现:spring、 springmvc、 springboot、mybatis 、session、 jquery 、 md5 、bootstarp.js 拦截器等。
具体主要功能模块如下:
1.用户模块管理:用户登录、用户注册、用户的查询、添加、删除操作、 2.美食分享笔记管理:分享笔记列表的展示、添加、修改、删除操作、 3.美食笔记详情管理:美食笔记详情列表的查看、添加、删除等操作、 4.管理员信息管理:管理员信息的查看、修改、 5.公告信息管理:公告信息的查看、添加、修改、删除操作、 6.用户模块管理:用户列表查询、添加、删除、 7.用户评论模块管理:用户评论查询、添加、删除、 8.注销退出登录管理
给大家截一部分效果图吧 系统首页主要功能:
分类查看没事菜谱信息以及智能推荐:
美食分享笔记详情信息查看、用户登录后可以进行评论、浏览量会增加、用户可以收藏当前文档信息、可以点击查看作者信息、可以对作者进行关注等操作:
用户评论操作:
富文本编辑器添加美食分享笔记:
个人中心我的收藏 我的关注等:
关注用户信息以及具体功能操作等:
后台管理主要功能:用户管理、美食菜谱笔记管理、美食菜谱详情发布以及评论等管理
——————————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
| try { String code = request.getParameter("code"); String state = request.getParameter("state"); String session_state= (String) session.getAttribute("qq_connect_state"); if(StringUtil.isNotEmpty(session_state) && session_state.equals(state)){ accessToken = accessTokenObj.getAccessToken(); session.setAttribute("accessToken", accessToken); if (StringUtil.isEmpty(accessToken)) { System.out.println("没有获取到响应参数"); }else{ OpenID openIDObj = new OpenID(accessToken); openID = openIDObj.getUserOpenID(); UserInfo qzoneUserInfo = new UserInfo(accessToken, openID); UserInfoBean userInfoBean = qzoneUserInfo.getUserInfo(); if(userInfoBean != null && userInfoBean.getRet() == 0 && StringUtil.isEmpty(userInfoBean.getMsg())){ User user=userService.findByOpenId(openID); if(null != user){ user.setNickname(userInfoBean.getNickname()); user.setHeadPortrait(userInfoBean.getAvatar().getAvatarURL100()); user.setSex(userInfoBean.getGender()); user.setLatelyLoginTime(new Date()); userService.save(user); }else{ user = new User(); user.setOpenId(openID); user.setNickname(userInfoBean.getNickname()); user.setHeadPortrait(userInfoBean.getAvatar().getAvatarURL100()); user.setSex(userInfoBean.getGender()); user.setRegistrationDate(new Date()); user.setLatelyLoginTime(new Date()); userService.save(user); } session.setAttribute("currentUser", user); } } }else{ System.out.println("非法请求"); } }catch (Exception e) {
|
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
|
public class IPUtil {
public static String getIpAddr(HttpServletRequest request){ String ipAddress = request.getHeader("x-forwarded-for"); if(ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) { ipAddress = request.getHeader("Proxy-Client-IP"); } if(ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) { ipAddress = request.getHeader("WL-Proxy-Client-IP"); } if(ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) { ipAddress = request.getRemoteAddr(); if(ipAddress.equals("127.0.0.1") || ipAddress.equals("0:0:0:0:0:0:0:1")){ InetAddress inet=null; try { inet = InetAddress.getLocalHost(); } catch (Exception e) { e.printStackTrace(); } ipAddress= inet.getHostAddress();
|
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
| * @param limit 每页记录数 * @param trueName 昵称 * @return 参数说明 * @return Map<String,Object> 返回类型 * @throws */ @RequestMapping("/list") public Map<String, Object> list(Comment comment, @RequestParam(value = "commentDates", required = false) String commentDates, @RequestParam(value = "page", required = false) Integer page, @RequestParam(value = "pageSize", required = false) Integer pageSize, @RequestParam(value = "nickname", required = false) String nickname) { String s_bCommentDate = null; String s_eCommentDate = null; if (StringUtil.isNotEmpty(commentDates)) { String[] strs = commentDates.split(" - "); s_bCommentDate = strs[0]; s_eCommentDate = strs[1]; } Integer userId = null; Map<String, Object> resultMap = new HashMap<String, Object>(); if (StringUtil.isNotEmpty(nickname)) { User user = userService.findByTrueName(nickname); if (user != null) { userId = user.getUserId(); } if (userId == null) { resultMap.put("errorInfo", "用户昵称不存在,没有评论!"); } else { resultMap.put("errorNo", 0); } } else { resultMap.put("errorNo", 0); } List<Comment> commentList = commentService.list(comment, s_bCommentDate, s_eCommentDate, page - 1, pageSize, userId); Long total = commentService.getCount(comment, s_bCommentDate, s_eCommentDate, userId); resultMap.put("data", commentList); resultMap.put("total", total); return resultMap; }
|
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
|
@Controller public class IndexController {
private String imageFilePath = System.getProperty("user.dir") + "\\src\\main\\webapp\\static\\images\\";
@Resource private NoticeService noticeService;
@Resource private UserService userService;
@Resource private ArticleService articleService; @Resource private ClassifyService classifyService;
@RequestMapping("/") public String index(HttpSession session) {
|
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
| * 根据ID查找用户 * @param userId * @return */ @RequestMapping("/findById") public Map<String, Object> findById(Integer userId) { Map<String, Object> resultMap = new HashMap<String, Object>(); User user = userService.findById(userId); resultMap.put("errorNo", 0); resultMap.put("data", user); return resultMap; }
@RequestMapping("/list") public Map<String, Object> list(User user, @RequestParam(value = "latelyLoginTimes", required = false) String latelyLoginTimes, @RequestParam(value = "page", required = false) Integer page, @RequestParam(value = "pageSize", required = false) Integer pageSize) { String s_bregistrationDate = null; String s_eregistrationDate = null; if (StringUtil.isNotEmpty(latelyLoginTimes)) { String[] strs = latelyLoginTimes.split(" - "); s_bregistrationDate = strs[0]; s_eregistrationDate = strs[1]; } List<User> userList = userService.list(user, s_bregistrationDate, s_eregistrationDate, page - 1, pageSize); Long total = userService.getCount(user, s_bregistrationDate, s_eregistrationDate); Map<String, Object> resultMap = new HashMap<String, Object>(); resultMap.put("errorNo", 0); resultMap.put("data", userList); resultMap.put("total", total); return resultMap; }
@RequestMapping("/delete")
|
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
| } else if ("edit".equals(mode)) { articleIndex.updateIndex(article); } resultMap.put("errorNo", 0); resultMap.put("data", 1); startupRunner.loadData(); return resultMap; }
@RequestMapping("/delete") public Map<String, Object> delete(@RequestParam(value = "articleId") String ids) throws Exception { Map<String, Object> resultMap = new HashMap<String, Object>(); String[] idsStr = ids.split(","); for (int i = 0; i < idsStr.length; i++) { articleService.delete(Integer.parseInt(idsStr[i])); articleIndex.deleteIndex(idsStr[i]); } resultMap.put("errorNo", 0); resultMap.put("data", 1); startupRunner.loadData(); return resultMap; }
@RequestMapping("/ckeditorUpload") public String ckeditorUpload(@RequestParam("upload") MultipartFile file, String CKEditorFuncNum) { String fileName = file.getOriginalFilename(); String suffixName = fileName.substring(fileName.lastIndexOf("."));
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=311422322105200kk
https://javayms.pages.dev?id=311422322105200kk