Java项目-SSM实现完整的BBS论坛
作者主页:
简介:Java领域优质创作者、CSDN博客专家 Java项目、简历模板、学习资料、面试题库、技术互助
文末获取源码
项目编号:BS-PT-002
这个论坛功能开发的比较完整,论坛的版块管理,贴子管理,发贴,回复,置顶,个人积分等功能都具备。系统采用SSM框架技术开发,数据库采用MYSQL,开发工具采用IDEA或MyEclipse均可。
前端用户交流功能

登录后进入个人管理模块

进入相应版块发贴交流

如果用户具备管理员权限,可以编辑和删除贴子,也可置顶,取消置顶,设置精华等操作


如果是管理员角色可以进入后台进行管理操作,主要包括友情链接添加,板块管理,用户管理,内部连接管理,网站设置等功能




部分核心实现代码:
package cc.javaee.bbs.controller.admin;import java.util.List;import javax.servlet.http.HttpServletRequest;import org.apache.log4j.Logger;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import cc.javaee.bbs.model.Bankuai;import cc.javaee.bbs.model.JifenGroup;import cc.javaee.bbs.model.PageBean;import cc.javaee.bbs.model.User;import cc.javaee.bbs.service.BankuaiService;import cc.javaee.bbs.service.JifenGroupService;import cc.javaee.bbs.tool.Pinyin4j;import cc.javaee.bbs.tool.PublicStatic;import cc.javaee.bbs.tool.Tool;import cc.javaee.bbs.tool.thread.IndexThread;/*
* 后台板块查询
*
*/public class AdminBankuaiController {
BankuaiService bankuaiService;
JifenGroupService jifenGroupService; private static Logger log = Logger.getLogger(AdminBankuaiController.class); //后台页面查询
public String findAllWhere(HttpServletRequest request, Model model,Bankuai bankuai,PageBean<Bankuai> page) {
Bankuai bankuaitmp=new Bankuai();
bankuaitmp.setParentId(0);
List<Bankuai> list = bankuaiService.select(bankuaitmp);
page = bankuaiService.findpage(bankuai,page);
model.addAttribute("list", list);
model.addAttribute("bankuai", bankuai);
model.addAttribute("page", page);
return "jsp/admin/bankuai/index";
}
//跳转到修改页面
public String toupdateoradd(Bankuai bankuai, Model model) { if(bankuai.getId()!=null){
bankuai=bankuaiService.findbyid(bankuai);
}
model.addAttribute("bankuai", bankuai);
List<Bankuai> parentList = bankuaiService.findbyparentId(new Bankuai()); //如果是父板块,删除自己
for (int i=0;i< parentList.size() ;i++) {
Bankuai bankuai2=parentList.get(i); if(bankuai2.getId()==bankuai.getId()){
parentList.remove(bankuai2);
}
}
model.addAttribute("parentList", parentList);
List<JifenGroup> jifengouplist = jifenGroupService.find(new JifenGroup());
model.addAttribute("jifengouplist", jifengouplist); return "jsp/admin/bankuai/updateoradd";
} //修改或者新增
public String updateoradd(HttpServletRequest request,Bankuai bankuai) {
User user=(User)request.getSession().getAttribute(PublicStatic.USER);
bankuai.setCreateUserid(user.getId()); String img = bankuai.getImg(); if(img!=null&&img.length()==0){
bankuai.setImg("bankuai.jpg");
} if(bankuai.getId()!=null){
bankuaiService.update(bankuai);
}else{
bankuaiService.insert(bankuai);
} new IndexThread().start(); return "redirect:index.do ";
} //删除
public String del(int id) {
String result=bankuaiService.delete(id); return result;
}
//删除
public String getpinyin(String name) { String getpinyin = Pinyin4j.getpinyin(name);
Bankuai bankuai=new Bankuai();
bankuai.setYuming(getpinyin);
List<Bankuai> list = bankuaiService.select(bankuai); if(list.size()>0){
getpinyin=getpinyin+Tool.getRandom();
} return getpinyin;
}
}
package cc.javaee.bbs.controller.admin;import java.util.HashMap;import java.util.Map;import javax.servlet.http.HttpServletRequest;import org.apache.log4j.Logger;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import cc.javaee.bbs.model.Tiezi;import cc.javaee.bbs.model.User;import cc.javaee.bbs.service.TieziService;import cc.javaee.bbs.tool.PublicStatic;import cc.javaee.bbs.tool.Tool;/*
* 后台公共使用
*
*/public class AdminCommonController {
TieziService tieziService;
private static Logger log = Logger.getLogger(AdminCommonController.class);
//全局置顶
public Map<String, String> updateallzhiding(HttpServletRequest request,int id) {
Map<String, String> map=new HashMap<String, String>();
Tiezi tiezi=new Tiezi();
tiezi.setId(id);
tiezi.setZhiding(PublicStatic.ALLZHIDING);
User user=(User) request.getSession().getAttribute(PublicStatic.USER);
tiezi.setLastupdate(""+user.getGroupname()+"\""+user.getLoginname()+"\"于"+Tool.getyyyyMMddHHmmss()+"将帖子全局置顶"+"</br>");
tieziService.update(tiezi);
map.put("flag", "1"); return map;
} //取消全局置顶
public Map<String, String> updateallqxzhiding(HttpServletRequest request,int id) {
Map<String, String> map=new HashMap<String, String>();
Tiezi tiezi=new Tiezi();
tiezi.setId(id);
tiezi.setZhiding("");
User user=(User) request.getSession().getAttribute(PublicStatic.USER);
tiezi.setLastupdate(""+user.getGroupname()+"\""+user.getLoginname()+"\"于"+Tool.getyyyyMMddHHmmss()+"将帖子取消全局置顶"+"</br>");
tieziService.update(tiezi);
map.put("flag", "1"); return map;
}
}
package cc.javaee.bbs.controller.admin;import javax.servlet.http.HttpServletRequest;import org.apache.log4j.Logger;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;/*
*
* 跳转后台首页
*
*/public class AdminIndexController { private static Logger log = Logger.getLogger(AdminIndexController.class); //后台页面查询
public String findAllWhere(HttpServletRequest request, Model model) { return "jsp/admin/index";
}
}
package cc.javaee.bbs.controller.admin;import javax.servlet.http.HttpServletRequest;import org.apache.log4j.Logger;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import cc.javaee.bbs.model.Info;import cc.javaee.bbs.service.InfoService;/*
* 网站信息
*
*/public class AdminInfoController {
InfoService infoService; private static Logger log = Logger.getLogger(AdminInfoController.class); //页面查询
public String findAllWhere(HttpServletRequest request, Model model) { Info info = infoService.find();
model.addAttribute("info", info); return "jsp/admin/info";
} //修改
public String updateoradd(HttpServletRequest request,Info info) {
info.setId(1);
infoService.update(info);
info = infoService.find();
request.getSession().getServletContext().setAttribute("bbsinfo", info); return "redirect:/admin/info/index.do ";
}
}
package cc.javaee.bbs.controller.admin;import java.util.List;import javax.servlet.http.HttpServletRequest;import org.apache.log4j.Logger;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import cc.javaee.bbs.model.Bankuai;import cc.javaee.bbs.model.InnerLink;import cc.javaee.bbs.model.JifenGroup;import cc.javaee.bbs.model.PageBean;import cc.javaee.bbs.model.User;import cc.javaee.bbs.service.BankuaiService;import cc.javaee.bbs.service.InnerLinkService;import cc.javaee.bbs.service.JifenGroupService;import cc.javaee.bbs.tool.Pinyin4j;import cc.javaee.bbs.tool.PublicStatic;import cc.javaee.bbs.tool.Tool;import cc.javaee.bbs.tool.thread.IndexThread;/*
* 后台内部链接
*
*/public class AdminInnerLinkController {
BankuaiService bankuaiService;
JifenGroupService jifenGroupService;
InnerLinkService innerLinkService; private static Logger log = Logger.getLogger(AdminInnerLinkController.class); //后台页面查询
public String findAllWhere(HttpServletRequest request, Model model,InnerLink innerLink,PageBean<InnerLink> page) {
page = innerLinkService.findpage(innerLink,page);
model.addAttribute("page", page); return "jsp/admin/innerlink/index";
}
//跳转到修改页面
public String toupdateoradd(Integer id, Model model) { if(id!=null){
InnerLink innerLink=innerLinkService.findbyid(id);
model.addAttribute("innerLink", innerLink);
} return "jsp/admin/innerlink/updateoradd";
} //修改或者新增
public String updateoradd(HttpServletRequest request,InnerLink innerLink) {
User user=(User)request.getSession().getAttribute(PublicStatic.USER);
innerLink.setCreateuserid(user.getId());
innerLink.setIsuse("0");
innerLink.setType("0");
innerLink.setCreatetime(Tool.getyyyyMMddHHmmss()); String innerlinkhtml = innerLink.getInnerlink(); if(innerlinkhtml!=null&&innerlinkhtml.length()>0){ if(!innerlinkhtml.startsWith("http://")||!innerlinkhtml.startsWith("http://")){
innerlinkhtml="http://"+innerlinkhtml;
innerLink.setInnerlink(innerlinkhtml);
}
}
if(innerLink.getId()!=null){
innerLinkService.update(innerLink);
}else{
innerLinkService.insert(innerLink);
} return "redirect:index.do ";
} //删除
public String del(int id) {
String result=innerLinkService.delete(id); return result;
} //删除
public String updateuse(int id,String use) {
InnerLink innerLink=new InnerLink();
innerLink.setId(id);
innerLink.setIsuse(use);
innerLink.setCreatetime(Tool.getyyyyMMddHHmmss());
innerLinkService.update(innerLink); new IndexThread().start(); return "1";
}
}
package cc.javaee.bbs.controller.admin;import java.util.List;import javax.servlet.http.HttpServletRequest;import org.apache.log4j.Logger;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import cc.javaee.bbs.model.Bankuai;import cc.javaee.bbs.model.Link;import cc.javaee.bbs.model.PageBean;import cc.javaee.bbs.model.User;import cc.javaee.bbs.service.BankuaiService;import cc.javaee.bbs.service.LinkService;import cc.javaee.bbs.tool.PublicStatic;/*
* 友情链接
*
*/public class AdminLinkController {
LinkService linkService;
BankuaiService bankuaiService; private static Logger log = Logger.getLogger(AdminLinkController.class); //后台页面查询
public String findAllWhere(HttpServletRequest request, Model model,Link link,PageBean<Link> page) {
User user=(User) request.getSession().getAttribute(PublicStatic.USER);
link.setCreateuserid(user.getId());
page = linkService.findpage(link,page);
model.addAttribute("page", page); return "jsp/admin/link/index";
}
//跳转到修改页面
public String toupdateoradd(Model model,Link link) {
Bankuai bankuai=new Bankuai();// bankuai.setParentId(0);
List<Bankuai> list = bankuaiService.select(bankuai);
model.addAttribute("list", list);
if(link!=null&&link.getId()!=null){
link=linkService.find(link).get(0);
model.addAttribute("link", link);
} return "jsp/admin/link/updateoradd";
} //修改或者新增
public String updateoradd(HttpServletRequest request,Link link) {
User user=(User) request.getSession().getAttribute(PublicStatic.USER);
link.setCreateuserid(user.getId()); if(link.getId()!=null){
linkService.update(link);
}else{
linkService.insert(link);
} return "redirect:index.do ";
} //删除
public String del(int id) {
String result=linkService.delete(id); return result;
}
}
package cc.javaee.bbs.controller.admin;import javax.servlet.http.HttpServletRequest;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import cc.javaee.bbs.model.PageBean;import cc.javaee.bbs.model.Tiezi;import cc.javaee.bbs.model.User;import cc.javaee.bbs.service.GroupService;import cc.javaee.bbs.service.HuifuService;import cc.javaee.bbs.service.TieziService;import cc.javaee.bbs.service.UserService;import cc.javaee.bbs.tool.PublicStatic;import cc.javaee.bbs.tool.Tool;/*
* 后台用户管理页面
*
*/public class AdminPostContriller {
UserService userService;
GroupService groupService;
TieziService tieziService;
HuifuService huifuService;
//跳转首页
public String add(HttpServletRequest request, Model model,Tiezi tiezi,PageBean<Tiezi> page) { if("1".equals(tiezi.getIsuse())){
tiezi.setOrderby("5");
}else{
tiezi.setOrderby("4");
}
page = tieziService.findpagebybankuanid(tiezi, page);
model.addAttribute("page", page);
model.addAttribute("qtiezi", tiezi); return "jsp/admin/post/index";
}
//审核通过
public String updatepost(HttpServletRequest request, Model model,Tiezi tiezi) {
tieziService.updatepost(tiezi); return "redirect:index.do?isuse=0";
}
//删除帖子
public String delpost(HttpServletRequest request, Model model,int id) {
tieziService.delete(id);
huifuService.deletebytiezi(id); return "redirect:index.do?isuse=1";
}
}