Java項目-SSM實現(xiàn)完整的BBS論壇
?作者主頁:
?簡介:Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者、CSDN博客專家? Java項目、簡歷模板、學(xué)習(xí)資料、面試題庫、技術(shù)互助
文末獲取源碼
?項目編號:BS-PT-002?
這個論壇功能開發(fā)的比較完整,論壇的版塊管理,貼子管理,發(fā)貼,回復(fù),置頂,個人積分等功能都具備。系統(tǒng)采用SSM框架技術(shù)開發(fā),數(shù)據(jù)庫采用MYSQL,開發(fā)工具采用IDEA或MyEclipse均可。
前端用戶交流功能

登錄后進入個人管理模塊

進入相應(yīng)版塊發(fā)貼交流

如果用戶具備管理員權(quán)限,可以編輯和刪除貼子,也可置頂,取消置頂,設(shè)置精華等操作


如果是管理員角色可以進入后臺進行管理操作,主要包括友情鏈接添加,板塊管理,用戶管理,內(nèi)部連接管理,網(wǎng)站設(shè)置等功能




部分核心實現(xiàn)代碼:
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";
}
//跳轉(zhuǎn)到修改頁面
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;/*
*
* 跳轉(zhuǎn)后臺首頁
*
*/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;/*
* 網(wǎng)站信息
*
*/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;/*
* 后臺內(nèi)部鏈接
*
*/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";
}
//跳轉(zhuǎn)到修改頁面
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";
}
//跳轉(zhuǎn)到修改頁面
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;
//跳轉(zhuǎn)首頁
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";
}
}