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

项目介绍

本系统分为前后台,前台主要功能为:
用户注册登陆、浏览帖子、发布帖子、个人信息管理、消息通知管理,积分管理,

后台管理功能有:
友情链接管理、板块管理、主题管理、用户管理、网站设置等等。本系统实现的功能非常丰富,可自由切换电脑版和手机版,访问时自动识别设备,也可按照ip来设置访问权限,已经达到了正式上线的系统水平,非常值得学习参考。本项目包含完整的源码、数据库文件。

管理员账号/密码:admin/123456
用户账号/密码: userloop/123456

环境需要

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.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 
6.数据库:MySql 5.7版本;

技术栈

1. 后端:Spring SpringMVC MyBatis
2. 前端:JSP+bootstrap+jQuery

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,下载所需要的jar包;
3. 将项目中beans.xml配置文件中的数据库配置改为自己的配置,主要用户名、密码;
4. 配置tomcat,然后运行运行项目,输入http://localhost:8080/ 登录

用户管理控制层:

@Controller
@RequestMapping("/user")
public class UserController {@Autowiredprivate UserService userService;@Autowiredprivate LoginLogService loginLogService;// 用户登录@RequestMapping(value = "/userLogin", method = RequestMethod.POST)public String userLogin(User loginUser, HttpServletRequest request, RedirectAttributes redirect) {// 通过用户名查找User对象User user = userService.getUserByUserName(loginUser.getUserName());String password = "";if (user != null) {password = userService.getPassword(user.getUserName());}// 判断登录信息是否正确if (user != null && loginUser.getPassword().equals(password)) {// 获取登录基本信息String lastIp = request.getRemoteAddr();String userName = user.getUserName();Timestamp lastLoginTime = new Timestamp(new Date().getTime());// 更新用户信息user.setLastIp(lastIp);user.setLastLoginTime(lastLoginTime);user.setCredit(5 + user.getCredit());userService.updateUserByUserName(user);// 更新用户登录日志UserLoginLog userLoginLog = new UserLoginLog();userLoginLog.setUserName(userName);userLoginLog.setLoginIp(lastIp);userLoginLog.setLoginDateTime(lastLoginTime);loginLogService.addUserLoginLog(userLoginLog);// 登陆成功,跳转到主页request.getSession().setAttribute("username", user.getUserName());return "redirect:/main";}// 登录失败,跳转页面request.setAttribute("Msg", "登录失败");return "error";}// 用户注册@RequestMapping(value = "/register", method = RequestMethod.POST)public String userRegister(User userRegister, HttpServletRequest request) {User user = userRegister;if (user != null) {try {String username = user.getUserName();String ip = request.getRemoteAddr();// 如果数据库中没有该用户,可以注册,否则跳转页面if (userService.getUserByUserName(username) == null) {// 添加用户user.setLastIp(ip);Timestamp createLoginTime = new Timestamp(new Date().getTime());user.setCreateTime(createLoginTime);user.setLastLoginTime(createLoginTime);userService.addUser(user);// 添加用户登录日志UserLoginLog userLoginLog = new UserLoginLog();userLoginLog.setUserName(username);userLoginLog.setLoginIp(ip);userLoginLog.setLoginDateTime(createLoginTime);loginLogService.addUserLoginLog(userLoginLog);// 注册成功跳转request.setAttribute("username", username);return "index";} else {request.setAttribute("Msg", "注册失败,用户名已被占用!");return "error";}} catch (Exception e) {e.printStackTrace();request.setAttribute("Msg", "发生未知错误!");return "error";}}request.setAttribute("Msg", "发生未知错误!");return "error";}// 显示个人信息@RequestMapping(value = "/listUserInfo")public String listUserInfo(String username, HttpServletRequest request) {User user = userService.getUserByUserName(username);request.setAttribute("user", user);return "user/userInfo";}// 修改个人信息页面@RequestMapping(value = "/userUpdateInfo", method = RequestMethod.GET)public String userUpdateInfoPage(String username, HttpServletRequest request) {User user = userService.getUserByUserName(username);request.setAttribute("user", user);return "user/userUpdateInfo";}// 提交用户修改信息@RequestMapping(value = "/updateUserInfo", method = RequestMethod.POST)public String updateUserInfo(User user, RedirectAttributes redirectAttributes) {User newUser = user;userService.updateUserByUserName(newUser);redirectAttributes.addAttribute("username", newUser.getUserName());return "redirect:listUserInfo";}// 用户注销功能@RequestMapping(value = "/loginOut")public String loginOut(HttpServletRequest request) {request.getSession().removeAttribute("username");return "index";}
}

管理员管理控制层:

@Controller
@RequestMapping(value = "/admin")
public class AdminController {@AutowiredBoardService boardService;@AutowiredUserService userService;@AutowiredPostService postService;@Autowired ReplyService replyService;// 论坛管理中心@RequestMapping(value = "/manageCenter")public String manageCenter(HttpServletRequest request) {if (request.getSession().getAttribute("username").equals("admin")) {return "admin/manageCenter";}return "redirect:/error";}// 论坛版块管理中心@RequestMapping(value = "/manageBoard")public String manageBoard(HttpServletRequest request) {if (request.getSession().getAttribute("username").equals("admin")) {List<Board> boards = boardService.listAllBoard();request.setAttribute("boards", boards);return "admin/manageBoard";}return "redirect:/error";}// 添加论坛板块@RequestMapping(value = "addBoard", method = RequestMethod.POST)public String addBoard(Board board, HttpServletRequest request) {if (board != null) {boardService.addBoardByBoard(board);return "redirect:/admin/manageBoard";}request.getSession().setAttribute("Msg", "添加板块出错!");return "admin/error";}// 修改板块信息@RequestMapping(value = "updateBoard", method = RequestMethod.POST)public String updateBoard(Board board, HttpServletRequest request) {if (board != null) {boardService.updateBoardInfo(board);// 成功更新数据后跳转页面return "redirect:/admin/manageBoard";}// 更新数据失败跳转到错误页面return "redirect:/error";}// 管理用户信息@RequestMapping(value = "manageUser")public String manageUser(HttpServletRequest request) {List<User> users = userService.getAllUser();if (users != null) {request.setAttribute("users", users);return "/admin/allUserInfo";}return "redirect:/error";}// 管理发表的主题@RequestMapping(value = "managePost")public String managePost(HttpServletRequest request) {List<Post> posts = postService.listAllPost();if (posts != null) {request.setAttribute("posts", posts);return "/admin/allPostInfo";}return "redirect:/error";}// 删除已经发表的主题@RequestMapping(value = "deletePost")public String deletePost(int postId, int postBoardId) {postService.deletePost(postId);return "redirect:/board/listPosts-" + postBoardId;}// 删除回复@RequestMapping(value = "deleteReply")public String deleteReply(int replyId, int replyPostId) {replyService.deleteReply(replyId);return "redirect:/post/postContent-" + replyPostId;}// 删除板块@RequestMapping(value = "deleteBoard")public String deleteBoard(int boardId) {boardService.deleteBoard(boardId);return "redirect:manageBoard";}
}

回复管理控制层:

@Controller
@RequestMapping(value = "/post")
public class PostController {@AutowiredPostService postService;@AutowiredBoardService boardService;@AutowiredReplyService replyService;// 添加帖子@RequestMapping(value = "/addPost")public String addPost(Post post) {if (post != null) {Post newPost = post;Timestamp createLoginTime = new Timestamp(new Date().getTime());newPost.setPostCreateTime(createLoginTime);newPost.setPostUpdateTime(createLoginTime);postService.addPostByPost(newPost);boardService.updatePostNum(newPost.getPostBoardId());return "redirect:postContent-" + post.getPostId();}return "error";}// 查看帖子@RequestMapping(value = "postContent-{postId}")public String intoPost(@PathVariable int postId, HttpServletRequest request) {System.out.println(postId);Post post = postService.listPostContent(postId);List<Reply> replies = replyService.listReplyByPostId(postId);if (post == null) {return "/error";}// 帖子有回复则添加回复信息if (replies != null) {request.setAttribute("replies", replies);}request.setAttribute("post", post);return "post/postContent";}
}

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

Java项目:在线bbs论坛系统(java+SSM+JSP+bootstrap+jQuery+mysql)相关推荐

  1. 基于javaweb的业务代办帮跑腿管理系统(java+ssm+jsp+bootstrap+jquery+mysql)

    基于javaweb的业务代办帮跑腿管理系统(java+ssm+jsp+bootstrap+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclip ...

  2. 基于javaweb的超市进销存管理系统(java+ssm+jsp+bootstrap+jquery+mysql)

    基于javaweb的超市进销存管理系统(java+ssm+jsp+bootstrap+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse ...

  3. 基于javaweb的企业绩效考核管理系统(java+ssm+jsp+bootstrap+jquery+mysql)

    基于javaweb的企业绩效考核管理系统(java+ssm+jsp+bootstrap+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclips ...

  4. Java项目:流浪猫狗救助管理系统(java+SSM+JSP+bootstrap+jQuery+mysql)

    源码获取:博客首页 "资源" 里下载! 项目介绍 流浪猫狗救助管理系统.该项目分为前后台: 前台主要功能包括:会员的注册登陆,流浪猫狗知识,领养中心,团队活动,流浪宠物详情,申请领 ...

  5. Java项目:在线点餐系统(java+Springboot+Maven+mybatis+Vue+mysql+Redis)

    源码获取:博客首页 "资源" 里下载! 项目描述: 这是一个基于SpringBoot+Vue框架开发的在线点餐系统.首先,这是一个前后端分离的项目.具有一个在线点餐系统该有的所有功 ...

  6. Java项目:企业绩效考核管理系统(java+SSM+JSP+bootstrap+jQuery+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目包含管理员与员工两种角色: 管理员角色包含以下功能: 个人信息查看,出勤管理,员工管理,奖励与罚款,工资设置,管理员登录 ...

  7. Java项目:在线高中考试系统(java+SSM+Jsp+Mysql+Maven)

    源码获取:博客首页 "资源" 里下载! 项目分为前台和后台,前台主要为学生角色.后台主要为管理员角色. 管理员添加试题和发布试卷,学生负责在线考试.在线查看成绩和错题记录列表等. ...

  8. Java项目:在线甜品商城系统(java+SSM+JSP+JavaScript+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 管理员角色包含以下功能: 管理员登录,套餐管理,甜品管理,预定管理等功能. 用户角色包含以下功能: 用户登录与注册,查看首页, ...

  9. Java项目:在线宠物商店系统(java+SSM+mysql+maven+tomcat)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 功能:本系统分用户前台和管理员后台. 系统包括用户的注册登录,狗狗的展示购物车添加以及下 单支付购买,后台有管理员用户,可以操 ...

  10. Java项目:在线美食网站系统(java+SSM+jsp+mysql+maven)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 功能:用户的注册登录,美食浏览,美食文化,收藏百 科,趣味问答,食谱等等功能等等. 二.项目运行 环境配置: Jdk1.8 + ...

最新文章

  1. 【POJ】3617 Best Cow Line (字典序 字符串)
  2. JAVA对象转为Java String的几种常用方法
  3. 第2关:计算二叉树的深度和节点个数
  4. redis geohash 学习笔记
  5. php 验证微信token_微信token认证程序
  6. C++中int id[sizeof(unsigned long)]的语句,正确吗?
  7. P5008-[yLOI2018]锦鲤抄【tarjan】
  8. 与众不同 windows phone (18) - Device(设备)之加速度传感器, 数字罗盘传感器
  9. UML中依赖(Dependency)和关联(Association)之间的区别
  10. ARP 地址分类 NAT技术
  11. pytorch——MINST数据集
  12. 桌面计算机未响应怎么办,资源管理器未响应怎么办
  13. 简洁高效的JQuery
  14. 计算机《画图》教案学生状态,电脑画图教案.doc
  15. java 登陆界面 报告_java登陆界面实验报告
  16. 俄亥俄大学计算机科学专业,北俄亥俄大学专业都有哪些呢?了解一下!
  17. 2023年软考时间流程安排:
  18. vivo手机计算机记录怎么找回,如何从Vivo手机恢复已删除的照片,您将在阅读后知道...
  19. 创建前缀索引时,如何确认“最佳长度”
  20. 尚学堂JAVA基础学习笔记_2/2

热门文章

  1. 明尼苏达双城计算机科学硕士申请截止日期,明尼苏达大学双城分校
  2. QQ音乐解析API,支持搜索、歌单、单曲、专辑、MV解析、多音质切换
  3. 自动弹出的html,360浏览器自动弹出网页怎么解决?
  4. .NET 开发从入门到精通
  5. Flutter 2.8 release 发布,快来看看新特性吧
  6. Python——组合数据类型(字符串、元组、列表、字典)转换总结
  7. dev c++缺省源
  8. 符号代数方程求解,分析可视化 dsolve函数
  9. C# ZPL命令 实现打印中文
  10. 电动车登记上牌系统源码免费分享