• Java项目:农业信息管理系统(java+SSM+JSP+JS+HTML+mysql)


    源码获取:俺的博客首页 "资源" 里下载!

    项目介绍

    管理员角色包含以下功能:
    管理员登陆,用户管理,新闻管理,留言列表查看等功能。
    用户角色包含以下功能:
    查看所有新闻,市场资讯查看,科技推广查看,致富经栏目查看,网站留言,用户注册登陆等功能。

    环境需要

    1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
    2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
    3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
    4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 
    5.数据库:MySql 5.7版本;


    技术栈

    1. 后端:Spring+SpringMVC+Mybatis
    2. 前端:HTML+CSS+JavaScript+jsp


    使用说明

    1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
    2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
    3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;
    4. 运行项目,输入localhost:8080/ 登录

     

     

     

     

     

     

    文章管理控制层:

    1. @Controller
    2. @RequestMapping("/admin")
    3. public class BlogController {
    4. @Resource
    5. private BlogService blogService;
    6. @Resource
    7. private CategoryService categoryService;
    8. /**
    9. * 博客列表
    10. *
    11. * @param params 参数
    12. * @return com.hbu.myblog.util.Result
    13. */
    14. @GetMapping("/blogs/list")
    15. @ResponseBody
    16. public Result list(@RequestParam Map<String, Object> params) {
    17. if (StringUtils.isEmpty(params.get("page")) || StringUtils.isEmpty(params.get("limit"))) {
    18. return ResultGenerator.genFailResult("参数异常!");
    19. }
    20. PageQueryUtil pageUtil = new PageQueryUtil(params);
    21. return ResultGenerator.genSuccessResult(blogService.getBlogsPage(pageUtil));
    22. }
    23. /**
    24. * @param request http请求
    25. * @return java.lang.String
    26. */
    27. @GetMapping("/blogs")
    28. public String list(HttpServletRequest request) {
    29. request.setAttribute("path", "blogs");
    30. return "admin/blog";
    31. }
    32. /**
    33. * @param request http请求
    34. * @return java.lang.String
    35. */
    36. @GetMapping("/blogs/edit")
    37. public String edit(HttpServletRequest request) {
    38. request.setAttribute("path", "edit");
    39. request.setAttribute("categories", categoryService.getAllCategories());
    40. return "admin/edit";
    41. }
    42. /**
    43. * @param request http请求
    44. * @param blogId 博客id
    45. * @return java.lang.String
    46. */
    47. @GetMapping("/blogs/edit/{blogId}")
    48. public String edit(HttpServletRequest request, @PathVariable("blogId") Long blogId) {
    49. request.setAttribute("path", "edit");
    50. Blog blog = blogService.getBlogById(blogId);
    51. if (blog == null) {
    52. return "error/error_400";
    53. }
    54. request.setAttribute("blog", blog);
    55. request.setAttribute("categories", categoryService.getAllCategories());
    56. return "admin/edit";
    57. }
    58. /**
    59. * 添加文章
    60. *
    61. * @param blogTitle 文章标题
    62. * @param blogSummary 摘要
    63. * @param blogCategoryId 类别
    64. * @param blogTags 标签
    65. * @param blogContent 内容
    66. * @param blogStatus 草稿,发布
    67. * @param enableComment 可否评论
    68. * @return com.hbu.myblog.util.Result
    69. */
    70. @PostMapping("/blogs/save")
    71. @ResponseBody
    72. public Result save(@RequestParam("blogTitle") String blogTitle,
    73. @RequestParam(name = "blogSummary", required = false) String blogSummary,
    74. @RequestParam("blogCategoryId") Integer blogCategoryId,
    75. @RequestParam("blogTags") String blogTags,
    76. @RequestParam("blogContent") String blogContent,
    77. @RequestParam("blogStatus") Byte blogStatus,
    78. @RequestParam("enableComment") Byte enableComment) {
    79. if (StringUtils.isEmpty(blogTitle)) {
    80. return ResultGenerator.genFailResult("请输入文章标题");
    81. }
    82. if (blogTitle.trim().length() > 150) {
    83. return ResultGenerator.genFailResult("标题过长");
    84. }
    85. if (StringUtils.isEmpty(blogTags)) {
    86. return ResultGenerator.genFailResult("请输入文章标签");
    87. }
    88. if (blogTags.trim().length() > 150) {
    89. return ResultGenerator.genFailResult("标签过长");
    90. }
    91. if (blogSummary.trim().length() > 375) {
    92. return ResultGenerator.genFailResult("摘要过长");
    93. }
    94. if (StringUtils.isEmpty(blogContent)) {
    95. return ResultGenerator.genFailResult("请输入文章内容");
    96. }
    97. if (blogTags.trim().length() > 100000) {
    98. return ResultGenerator.genFailResult("文章内容过长");
    99. }
    100. Blog blog = new Blog();
    101. blog.setBlogTitle(blogTitle);
    102. blog.setBlogSummary(blogSummary);
    103. blog.setBlogCategoryId(blogCategoryId);
    104. blog.setBlogTags(blogTags);
    105. blog.setBlogContent(blogContent);
    106. blog.setBlogStatus(blogStatus);
    107. blog.setEnableComment(enableComment);
    108. String saveBlogResult = blogService.saveBlog(blog);
    109. if ("success".equals(saveBlogResult)) {
    110. return ResultGenerator.genSuccessResult("添加成功");
    111. } else {
    112. return ResultGenerator.genFailResult(saveBlogResult);
    113. }
    114. }
    115. /**
    116. * 修改文章
    117. *
    118. * @param blogId 文章ID
    119. * @param blogTitle 文章标题
    120. * @param blogSummary 摘要
    121. * @param blogCategoryId 类别
    122. * @param blogTags 标签
    123. * @param blogContent 内容
    124. * @param blogStatus 草稿,发布
    125. * @param enableComment 可否评论
    126. * @return com.hbu.myblog.util.Result
    127. */
    128. @PostMapping("/blogs/update")
    129. @ResponseBody
    130. public Result update(@RequestParam("blogId") Long blogId,
    131. @RequestParam("blogTitle") String blogTitle,
    132. @RequestParam(name = "blogSummary", required = false) String blogSummary,
    133. @RequestParam("blogCategoryId") Integer blogCategoryId,
    134. @RequestParam("blogTags") String blogTags,
    135. @RequestParam("blogContent") String blogContent,
    136. @RequestParam("blogStatus") Byte blogStatus,
    137. @RequestParam("enableComment") Byte enableComment) {
    138. if (StringUtils.isEmpty(blogTitle)) {
    139. return ResultGenerator.genFailResult("请输入文章标题");
    140. }
    141. if (blogTitle.trim().length() > 150) {
    142. return ResultGenerator.genFailResult("标题过长");
    143. }
    144. if (StringUtils.isEmpty(blogTags)) {
    145. return ResultGenerator.genFailResult("请输入文章标签");
    146. }
    147. if (blogTags.trim().length() > 150) {
    148. return ResultGenerator.genFailResult("标签过长");
    149. }
    150. if (blogSummary.trim().length() > 375) {
    151. return ResultGenerator.genFailResult("摘要过长");
    152. }
    153. if (StringUtils.isEmpty(blogContent)) {
    154. return ResultGenerator.genFailResult("请输入文章内容");
    155. }
    156. if (blogTags.trim().length() > 100000) {
    157. return ResultGenerator.genFailResult("文章内容过长");
    158. }
    159. Blog blog = new Blog();
    160. blog.setBlogId(blogId);
    161. blog.setBlogTitle(blogTitle);
    162. blog.setBlogSummary(blogSummary);
    163. blog.setBlogCategoryId(blogCategoryId);
    164. blog.setBlogTags(blogTags);
    165. blog.setBlogContent(blogContent);
    166. blog.setBlogStatus(blogStatus);
    167. blog.setEnableComment(enableComment);
    168. String updateBlogResult = blogService.updateBlog(blog);
    169. if ("success".equals(updateBlogResult)) {
    170. return ResultGenerator.genSuccessResult("修改成功");
    171. } else {
    172. return ResultGenerator.genFailResult(updateBlogResult);
    173. }
    174. }
    175. /**
    176. * 根据id的之删除文章
    177. *
    178. * @param ids 要删除文章id列表
    179. * @return com.hbu.myblog.util.Result
    180. */
    181. @PostMapping("/blogs/delete")
    182. @ResponseBody
    183. public Result delete(@RequestBody Integer[] ids) {
    184. if (ids.length < 1) {
    185. return ResultGenerator.genFailResult("参数异常!");
    186. }
    187. if (blogService.deleteBatch(ids)) {
    188. return ResultGenerator.genSuccessResult();
    189. } else {
    190. return ResultGenerator.genFailResult("删除失败");
    191. }
    192. }
    193. }

    管理员管理控制层:

    1. @Controller
    2. @RequestMapping("/admin")
    3. public class AdminController {
    4. @Resource
    5. private AdminUserService adminUserService;
    6. @Resource
    7. private BlogService blogService;
    8. @Resource
    9. private CategoryService categoryService;
    10. @Resource
    11. private TagService tagService;
    12. @Resource
    13. private CommentService commentService;
    14. /**
    15. * 处理登录请求
    16. *
    17. * @return java.lang.String
    18. */
    19. @GetMapping({"/login"})
    20. public String login() {
    21. return "admin/login";
    22. }
    23. /**
    24. * 主页
    25. *
    26. * @param request http请求
    27. * @return java.lang.String
    28. */
    29. @GetMapping({"", "/", "/index", "/index.html"})
    30. public String index(HttpServletRequest request) {
    31. request.setAttribute("path", "index");
    32. request.setAttribute("categoryCount", categoryService.getTotalCategories());
    33. request.setAttribute("blogCount", blogService.getTotalBlogs());
    34. request.setAttribute("tagCount", tagService.getTotalTags());
    35. request.setAttribute("commentCount", commentService.getTotalComments());
    36. return "admin/index";
    37. }
    38. /**
    39. * 登录界面
    40. *
    41. * @param userName 用户名
    42. * @param password 密码
    43. * @param verifyCode 验证码
    44. * @param session session
    45. * @return java.lang.String
    46. */
    47. @PostMapping(value = "/login")
    48. public String login(@RequestParam("userName") String userName,
    49. @RequestParam("password") String password,
    50. @RequestParam("verifyCode") String verifyCode,
    51. HttpSession session) {
    52. if (StringUtils.isEmpty(verifyCode)) {
    53. session.setAttribute("errorMsg", "验证码不能为空");
    54. return "admin/login";
    55. }
    56. if (StringUtils.isEmpty(userName) || StringUtils.isEmpty(password)) {
    57. session.setAttribute("errorMsg", "用户名或密码不能为空");
    58. return "admin/login";
    59. }
    60. String kaptchaCode = session.getAttribute("verifyCode") + "";
    61. if (StringUtils.isEmpty(kaptchaCode) || !verifyCode.equals(kaptchaCode)) {
    62. session.setAttribute("errorMsg", "验证码错误");
    63. return "admin/login";
    64. }
    65. AdminUser adminUser = adminUserService.login(userName, password);
    66. if (adminUser != null) {
    67. session.setAttribute("loginUser", adminUser.getNickName());
    68. session.setAttribute("loginUserId", adminUser.getAdminUserId());
    69. //session过期时间设置为7200秒 即两小时
    70. //session.setMaxInactiveInterval(60 * 60 * 2);
    71. return "redirect:/admin/index";
    72. } else {
    73. session.setAttribute("errorMsg", "登陆失败");
    74. return "admin/login";
    75. }
    76. }
    77. /**
    78. * 修改个人信息
    79. *
    80. * @param request http请求
    81. * @return java.lang.String
    82. */
    83. @GetMapping("/profile")
    84. public String profile(HttpServletRequest request) {
    85. Integer loginUserId = (int) request.getSession().getAttribute("loginUserId");
    86. AdminUser adminUser = adminUserService.getUserDetailById(loginUserId);
    87. if (adminUser == null) {
    88. return "admin/login";
    89. }
    90. request.setAttribute("path", "profile");
    91. request.setAttribute("loginUserName", adminUser.getLoginUserName());
    92. request.setAttribute("nickName", adminUser.getNickName());
    93. return "admin/profile";
    94. }
    95. /**
    96. * 修改密码
    97. *
    98. * @param request http请求
    99. * @param originalPassword 原始密码
    100. * @param newPassword 新密码
    101. * @return java.lang.String
    102. */
    103. @PostMapping("/profile/password")
    104. @ResponseBody
    105. public String passwordUpdate(HttpServletRequest request, @RequestParam("originalPassword") String originalPassword,
    106. @RequestParam("newPassword") String newPassword) {
    107. if (StringUtils.isEmpty(originalPassword) || StringUtils.isEmpty(newPassword)) {
    108. return "参数不能为空";
    109. }
    110. Integer loginUserId = (int) request.getSession().getAttribute("loginUserId");
    111. if (adminUserService.updatePassword(loginUserId, originalPassword, newPassword)) {
    112. //修改成功后清空session中的数据,前端控制跳转至登录页
    113. request.getSession().removeAttribute("loginUserId");
    114. request.getSession().removeAttribute("loginUser");
    115. request.getSession().removeAttribute("errorMsg");
    116. return "success";
    117. } else {
    118. return "修改失败";
    119. }
    120. }
    121. /**
    122. * 修改登录名,昵称
    123. *
    124. * @param request http请求
    125. * @param loginUserName 登录名
    126. * @param nickName 昵称
    127. * @return java.lang.String
    128. */
    129. @PostMapping("/profile/name")
    130. @ResponseBody
    131. public String nameUpdate(HttpServletRequest request, @RequestParam("loginUserName") String loginUserName,
    132. @RequestParam("nickName") String nickName) {
    133. if (StringUtils.isEmpty(loginUserName) || StringUtils.isEmpty(nickName)) {
    134. return "参数不能为空";
    135. }
    136. Integer loginUserId = (int) request.getSession().getAttribute("loginUserId");
    137. if (adminUserService.updateName(loginUserId, loginUserName, nickName)) {
    138. return "success";
    139. } else {
    140. return "修改失败";
    141. }
    142. }
    143. /**
    144. * 管理员退出
    145. *
    146. * @param request http请求
    147. * @return java.lang.String
    148. */
    149. @GetMapping("/logout")
    150. public String logout(HttpServletRequest request) {
    151. request.getSession().removeAttribute("loginUserId");
    152. request.getSession().removeAttribute("loginUser");
    153. request.getSession().removeAttribute("errorMsg");
    154. return "admin/login";
    155. }
    156. }

    用户文章管理控制层:

    1. @Controller
    2. public class MyblogController {
    3. // public static String theme = "default";
    4. public static String theme = "amaze";
    5. @Resource
    6. private BlogService blogService;
    7. @Resource
    8. private TagService tagService;
    9. @Resource
    10. private CommentService commentService;
    11. @Resource
    12. private ConfigService configService;
    13. @Resource
    14. private CategoryService categoryService;
    15. /**
    16. * 首页
    17. *
    18. * @param request http请求
    19. * @return java.lang.String
    20. */
    21. @GetMapping({"/", "/index", "index.html"})
    22. public String index(HttpServletRequest request) {
    23. return this.page(request, 1);
    24. }
    25. /**
    26. * 首页(带页码)
    27. *
    28. * @param request http请求
    29. * @param pageNum 页码
    30. * @return java.lang.String
    31. */
    32. @GetMapping({"/page/{pageNum}"})
    33. public String page(HttpServletRequest request, @PathVariable("pageNum") int pageNum) {
    34. PageResult blogPageResult = blogService.getBlogsForIndexPage(pageNum);
    35. if (blogPageResult == null) {
    36. return "error/error_404";
    37. }
    38. request.setAttribute("blogPageResult", blogPageResult);
    39. request.setAttribute("newBlogs", blogService.getBlogListForIndexPage(1));
    40. request.setAttribute("hotBlogs", blogService.getBlogListForIndexPage(0));
    41. request.setAttribute("hotTags", tagService.getBlogTagCountForIndex());
    42. request.setAttribute("pageName", "首页");
    43. request.setAttribute("configurations", configService.getAllConfigs());
    44. return "blog/" + theme + "/index";
    45. }
    46. /**
    47. * Categories页面(包括分类数据和标签数据)
    48. *
    49. * @param request http请求
    50. * @return java.lang.String
    51. */
    52. @GetMapping({"/categories"})
    53. public String categories(HttpServletRequest request) {
    54. request.setAttribute("hotTags", tagService.getBlogTagCountForIndex());
    55. request.setAttribute("categories", categoryService.getAllCategories());
    56. request.setAttribute("pageName", "分类页面");
    57. request.setAttribute("configurations", configService.getAllConfigs());
    58. return "blog/" + theme + "/category";
    59. }
    60. /**
    61. * 详情页
    62. *
    63. * @param request http请求
    64. * @param blogId 博客id
    65. * @param commentPage 评论页
    66. * @return java.lang.String
    67. */
    68. @GetMapping({"/blog/{blogId}", "/article/{blogId}"})
    69. public String detail(HttpServletRequest request, @PathVariable("blogId") Long blogId, @RequestParam(value = "commentPage", required = false, defaultValue = "1") Integer commentPage) {
    70. BlogDetailVO blogDetailVO = blogService.getBlogDetail(blogId);
    71. if (blogDetailVO != null) {
    72. request.setAttribute("blogDetailVO", blogDetailVO);
    73. request.setAttribute("commentPageResult", commentService.getCommentPageByBlogIdAndPageNum(blogId, commentPage));
    74. }
    75. request.setAttribute("pageName", "详情");
    76. request.setAttribute("configurations", configService.getAllConfigs());
    77. return "blog/" + theme + "/detail";
    78. }
    79. /**
    80. * 标签列表页
    81. *
    82. * @param request http请求
    83. * @param tagName 标签名称
    84. * @return java.lang.String
    85. */
    86. @GetMapping({"/tag/{tagName}"})
    87. public String tag(HttpServletRequest request, @PathVariable("tagName") String tagName) {
    88. return tag(request, tagName, 1);
    89. }
    90. /**
    91. * 标签列表页(带页码)
    92. *
    93. * @param request http请求
    94. * @param tagName 标签名称
    95. * @param page 页码
    96. * @return java.lang.String
    97. */
    98. @GetMapping({"/tag/{tagName}/{page}"})
    99. public String tag(HttpServletRequest request, @PathVariable("tagName") String tagName, @PathVariable("page") Integer page) {
    100. PageResult blogPageResult = blogService.getBlogsPageByTag(tagName, page);
    101. request.setAttribute("blogPageResult", blogPageResult);
    102. request.setAttribute("pageName", "标签");
    103. request.setAttribute("pageUrl", "tag");
    104. request.setAttribute("keyword", tagName);
    105. request.setAttribute("newBlogs", blogService.getBlogListForIndexPage(1));
    106. request.setAttribute("hotBlogs", blogService.getBlogListForIndexPage(0));
    107. request.setAttribute("hotTags", tagService.getBlogTagCountForIndex());
    108. request.setAttribute("configurations", configService.getAllConfigs());
    109. return "blog/" + theme + "/list";
    110. }
    111. /**
    112. * 分类列表页
    113. *
    114. * @param request http请求
    115. * @param categoryName 类别名称
    116. * @return java.lang.String
    117. */
    118. @GetMapping({"/category/{categoryName}"})
    119. public String category(HttpServletRequest request, @PathVariable("categoryName") String categoryName) {
    120. return category(request, categoryName, 1);
    121. }
    122. /**
    123. * 分类列表页(带页码)
    124. *
    125. * @param request http请求
    126. * @param categoryName 类别名称
    127. * @param page 页码
    128. * @return java.lang.String
    129. */
    130. @GetMapping({"/category/{categoryName}/{page}"})
    131. public String category(HttpServletRequest request, @PathVariable("categoryName") String categoryName, @PathVariable("page") Integer page) {
    132. PageResult blogPageResult = blogService.getBlogsPageByCategory(categoryName, page);
    133. request.setAttribute("blogPageResult", blogPageResult);
    134. request.setAttribute("pageName", "分类");
    135. request.setAttribute("pageUrl", "category");
    136. request.setAttribute("keyword", categoryName);
    137. request.setAttribute("newBlogs", blogService.getBlogListForIndexPage(1));
    138. request.setAttribute("hotBlogs", blogService.getBlogListForIndexPage(0));
    139. request.setAttribute("hotTags", tagService.getBlogTagCountForIndex());
    140. request.setAttribute("configurations", configService.getAllConfigs());
    141. return "blog/" + theme + "/list";
    142. }
    143. /**
    144. * 搜索列表页
    145. *
    146. * @param request http请求
    147. * @param keyword 关键词
    148. * @return java.lang.String
    149. */
    150. @GetMapping({"/search/{keyword}"})
    151. public String search(HttpServletRequest request, @PathVariable("keyword") String keyword) {
    152. return search(request, keyword, 1);
    153. }
    154. /**
    155. * 搜索列表页(带页码)
    156. *
    157. * @param request http请求
    158. * @param keyword 关键词
    159. * @param page 页码
    160. * @return java.lang.String
    161. */
    162. @GetMapping({"/search/{keyword}/{page}"})
    163. public String search(HttpServletRequest request, @PathVariable("keyword") String keyword, @PathVariable("page") Integer page) {
    164. PageResult blogPageResult = blogService.getBlogsPageBySearch(keyword, page);
    165. request.setAttribute("blogPageResult", blogPageResult);
    166. request.setAttribute("pageName", "搜索");
    167. request.setAttribute("pageUrl", "search");
    168. request.setAttribute("keyword", keyword);
    169. request.setAttribute("newBlogs", blogService.getBlogListForIndexPage(1));
    170. request.setAttribute("hotBlogs", blogService.getBlogListForIndexPage(0));
    171. request.setAttribute("hotTags", tagService.getBlogTagCountForIndex());
    172. request.setAttribute("configurations", configService.getAllConfigs());
    173. return "blog/" + theme + "/list";
    174. }
    175. /**
    176. * 评论留言
    177. *
    178. * @param request http请求
    179. * @param session session
    180. * @param blogId 博客id
    181. * @param verifyCode 验证码
    182. * @param commentator 评论者昵称
    183. * @param email 邮箱
    184. * @param websiteUrl 留言者的网站
    185. * @param commentBody 评论内容
    186. * @return com.hbu.myblog.util.Result
    187. */
    188. @PostMapping(value = "/blog/comment")
    189. @ResponseBody
    190. public Result comment(HttpServletRequest request, HttpSession session,
    191. @RequestParam Long blogId, @RequestParam String verifyCode,
    192. @RequestParam String commentator, @RequestParam String email,
    193. @RequestParam String websiteUrl, @RequestParam String commentBody) {
    194. if (StringUtils.isEmpty(verifyCode)) {
    195. return ResultGenerator.genFailResult("验证码不能为空");
    196. }
    197. String kaptchaCode = session.getAttribute("verifyCode") + "";
    198. if (StringUtils.isEmpty(kaptchaCode)) {
    199. return ResultGenerator.genFailResult("非法请求");
    200. }
    201. if (!verifyCode.equals(kaptchaCode)) {
    202. return ResultGenerator.genFailResult("验证码错误");
    203. }
    204. String ref = request.getHeader("Referer");
    205. if (StringUtils.isEmpty(ref)) {
    206. return ResultGenerator.genFailResult("非法请求");
    207. }
    208. if (null == blogId || blogId < 0) {
    209. return ResultGenerator.genFailResult("非法请求");
    210. }
    211. if (StringUtils.isEmpty(commentator)) {
    212. return ResultGenerator.genFailResult("请输入称呼");
    213. }
    214. if (StringUtils.isEmpty(email)) {
    215. return ResultGenerator.genFailResult("请输入邮箱地址");
    216. }
    217. if (!PatternUtil.isEmail(email)) {
    218. return ResultGenerator.genFailResult("请输入正确的邮箱地址");
    219. }
    220. if (StringUtils.isEmpty(commentBody)) {
    221. return ResultGenerator.genFailResult("请输入评论内容");
    222. }
    223. if (commentBody.trim().length() > 200) {
    224. return ResultGenerator.genFailResult("评论内容过长");
    225. }
    226. BlogComment comment = new BlogComment();
    227. comment.setBlogId(blogId);
    228. comment.setCommentator(MyBlogUtils.cleanString(commentator));
    229. comment.setEmail(email);
    230. if (PatternUtil.isURL(websiteUrl)) {
    231. comment.setWebsiteUrl(websiteUrl);
    232. }
    233. comment.setCommentBody(MyBlogUtils.cleanString(commentBody));
    234. return ResultGenerator.genSuccessResult(commentService.addComment(comment));
    235. }
    236. }

     源码获取:俺的博客首页 "资源" 里下载!

  • 相关阅读:
    bitmap技术解析:redis与roaringBitmap
    系分 - 项目管理
    生产实用Shell脚本合集
    JDBC快速使用
    EM@常用三角函数图象性质(中学部分)
    微信小程序之会议OA系统首页布局搭建与Mock数据交互
    Python自动化办公:openpyxl教程(基础)
    JavaScript中的DOM
    SAP PI 导入SSL证书 快速解决 iaik.security.ssl.SSLCertificateException 接口报错
    TensorFlow搭建LSTM实现多变量多步长时间序列预测(五):seq2seq
  • 原文地址:https://blog.csdn.net/m0_66863468/article/details/124920480