基于javaweb+mysql的ssm校园兼职管理系统(java+ssm+jsp+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SSM校园兼职管理系统(java+ssm+jsp+mysql)
前台用户和后台管理员两种角色:
前台用户功能有:发布兼职、发布帖子、查看公告、个人中心、投诉等。
后台管理员功能有:用户管理、兼职管理、帖子管理、聊天管理、广告管理、投诉管理、收藏管理、系统管理等。
运行环境:jdk1.8、tomcat7.0\8.5、Eclipse、Mysql5.x。
public ModelAndView goFindUser(HttpServletRequest request,ModelAndView mv,SystemUpset systemUpset,User user){
List<SystemUpset> systemUpsets = systemUpsetService.getSystemUpsetList(systemUpset, null, null);
if(systemUpsets.size() > 0){
mv.addObject("systemUpset", systemUpsets.get(0));
}
user = userService.getUserById(user.getUserId());
mv.addObject("user", user);
User pcUser = (User) request.getSession().getAttribute("pcUser");
mv.addObject("pcUser", pcUser);
mv.setViewName("pc/user_info");
return mv;
}
//去聊天页面
@RequestMapping(value="/goChat.action")
public ModelAndView goChat(HttpServletRequest request,ModelAndView mv,SystemUpset systemUpset,User user){
List<SystemUpset> systemUpsets = systemUpsetService.getSystemUpsetList(systemUpset, null, null);
if(systemUpsets.size() > 0){
mv.addObject("systemUpset", systemUpsets.get(0));
}
user = userService.getUserById(user.getUserId());
int userId = user.getUserId();
mv.addObject("user", user);
//Session信息
User pcUser = (User) request.getSession().getAttribute("pcUser");
mv.addObject("pcUser", pcUser);
if(pcUser == null){
mv.setViewName("pc/login");
}else if(pcUser.getUserId() == userId){
mv.addObject("updatePage", "y");
mv.setViewName("pc/index");
}else{
//更新isLook
Chat chat = new Chat();
chat.setUserIdFa(user.getUserId());
chat.setUserIdJie(pcUser.getUserId());
chat.setIsLook(1);
chatService.updateChat(chat);
mv.setViewName("pc/chat");
}
return mv;
}
//去论坛页面
@RequestMapping(value="/goForum.action")
public ModelAndView goForum(HttpServletRequest request,ModelAndView mv, QueryVo vo){
User pcUser = (User) request.getSession().getAttribute("pcUser");
mv.addObject("pcUser", pcUser);
//获取广告
Adver adver = new Adver();
@Controller
@RequestMapping("/pc/action")
public class PcActionController extends BaseUtil{
@Autowired
private WorkService workService;
@Autowired
private ForumService forumService;
@Autowired
private ForumReplyService forumReplyService;
@Autowired
private CollectService collectService;
@Autowired
private ChatService chatService;
@Autowired
private MailboxService mailboxService;
//发布帖子
@RequestMapping("/addForum")
public void addForum(HttpServletRequest request,HttpServletResponse response,Forum forum){
User pcUser = (User) request.getSession().getAttribute("pcUser");
if(pcUser == null){
output(response,JsonUtil.buildFalseJson(1, "您尚未登录,请先登录!"));
}else{
forum.setUserId(pcUser.getUserId());
forum.setCreateTime(new Date());
forumService.addForum(forum);
output(response,JsonUtil.buildFalseJson(0, "发布成功"));
}
}
//发布评论
@RequestMapping("/addForumReply")
public void addForumReply(HttpServletRequest request,HttpServletResponse response,ForumReply forumReply){
@Controller
@RequestMapping("/pc/index")
public class PcIndexController extends BaseUtil{
@Autowired
private AdverService adverService;
@Autowired
private NoticeService noticeService;
@Autowired
private WorkService workService;
@Autowired
private UserService userService;
@Autowired
private ForumService forumService;
@Autowired
private ChatService chatService;
@Autowired
private BannerService bannerService;
@Autowired
request.setAttribute("systemUpset", systemUpsets.get(0));
}
//请求链接
String url = request.getRequestURI();
User pcUser = (User) request.getSession().getAttribute("pcUser");
User serverUser = (User) request.getSession().getAttribute("serverUser");
//对个人中心和动作请求进行拦截
if(url.contains("pc/personal") || url.contains("pc/action")){
if(pcUser != null){
return true;
}
else{
request.setAttribute("msg", "您还没有登录,请先登录!");
request.getRequestDispatcher("/WEB-INF/jsp/pc/login.jsp").forward(request, response);
return false;
}
}
//后台管理进行拦截
if(url.contains("server")){
if(serverUser != null){
return true;
}
else{
request.setAttribute("msg", "您还没有登录,请先登录!");
request.getRequestDispatcher("/WEB-INF/jsp/server/login.jsp").forward(request, response);
return false;
}
}
return true;
}
}
@Controller
@RequestMapping("/server/mailbox")
public class MailboxController extends BaseUtil{
@Autowired
private MailboxService mailboxService;
//去信箱列表
//消息通知(聊天)
String isChat = "f";
chat.setUserIdJie(user.getUserId());
chat.setUserIdFa(null);
chat.setIsLook(0);
List<Chat> isChats = chatService.getChatList(chat, null, null);
if(isChats.size() > 0){
isChat = "t";
}
mv.addObject("isChat", isChat);
mv.addObject("chats", chats);
//评论消息
String isReply = "f";
Forum forum = new Forum();
forum.setIsEffect(1);
forum.setUserId(user.getUserId());
List<Forum> isForums = forumService.getForumList(forum, null, null);
List<Forum> forums = new ArrayList<>();
if(isForums.size() > 0){
ForumReply forumReply = new ForumReply();
forumReply.setStatus(0);
for(int i=0; i<isForums.size(); i++){
forumReply.setForumId(isForums.get(i).getForumId());
List<ForumReply> forumReplys = forumReplyService.getForumReplyList(forumReply, null, null);
if(forumReplys.size() > 0){
isReply = "t";
forums.add(isForums.get(i));
}
}
}
mv.addObject("isReply", isReply);
mv.addObject("forums", forums);
mv.addObject("user", user);
mv.setViewName("pc/my_notice");
return mv;
}
//从聊天列表删除
@RequestMapping("/deleteMyChatList")
public void updateMyChatList(HttpServletRequest request,HttpServletResponse response,User user){
User pcUser = (User) request.getSession().getAttribute("pcUser");
Chat chat = new Chat();
//删除接收方
chat.setUserIdFa(pcUser.getUserId());
chat.setUserIdJie(user.getUserId());
chat.setIsRemoveFa(1);
chatService.updateChat(chat);
//删除发送方
chat.setUserIdFa(user.getUserId());
chat.setUserIdJie(pcUser.getUserId());
chat.setIsRemoveJie(1);
chat.setIsRemoveFa(null);
@Controller
@RequestMapping("/pc/login")
public class PcLoginController extends BaseUtil{
@Autowired
private UserService userService;
@Autowired
private SystemUpsetService systemUpsetService;
//去登录页面
@RequestMapping(value="/goLogin")
public ModelAndView goLogin(HttpServletResponse response,HttpServletRequest request,ModelAndView mv,SystemUpset systemUpset){
List<SystemUpset> systemUpsets = systemUpsetService.getSystemUpsetList(systemUpset, null, null);
if(systemUpsets.size() > 0){
mv.addObject("systemUpset", systemUpsets.get(0));
}
User pcUser = (User) request.getSession().getAttribute("pcUser");
if(pcUser == null){
mv.setViewName("pc/login");
}else{
mv.addObject("updatePage", "y");
mv.setViewName("pc/index");
}
return mv;
}
//执行登录
@RequestMapping(value="/doLogin")
public void doLogin(HttpServletRequest request,HttpServletResponse response,User user){
@Controller
@RequestMapping("/pc/index")
public class PcIndexController extends BaseUtil{
@Autowired
private AdverService adverService;
@Autowired
private NoticeService noticeService;
@Autowired
private WorkService workService;
@Autowired
private UserService userService;
@Autowired
private ForumService forumService;
@Autowired
private ChatService chatService;
@Autowired
private BannerService bannerService;
@Autowired
private SystemUpsetService systemUpsetService;
@Autowired
private ForumReplyService forumReplyService;
//公共头部
@RequestMapping(value="/goHeader.action")
public ModelAndView goHeader(HttpServletRequest request,ModelAndView mv,SystemUpset systemUpset){
List<SystemUpset> systemUpsets = systemUpsetService.getSystemUpsetList(systemUpset, null, null);
if(systemUpsets.size() > 0){
mv.addObject("systemUpset", systemUpsets.get(0));
}
mv.setViewName("pc/header");
return mv;
}
//公共尾部
@RequestMapping(value="/goFooter.action")
public ModelAndView goFooter(ModelAndView mv,SystemUpset systemUpset){
List<SystemUpset> systemUpsets = systemUpsetService.getSystemUpsetList(systemUpset, null, null);
if(systemUpsets.size() > 0){
public static boolean isEmpty(Object[] arrObject)
{
return (arrObject == null || arrObject.length == 0);
}
public static boolean isNotEmpty(List list)
{
return !isEmpty(list);
}
public static boolean isNotEmpty(Map map)
{
return !isEmpty(map);
}
public static boolean isNotEmpty(Set set)
{
return !isEmpty(set);
}
public static boolean isNotEmpty(String value)
{
return !isEmpty(value);
}
public static boolean isNotEmpty(Object value)
{
return !isEmpty(value);
}
public static boolean isNotEmpty(Long value)
{
return !isEmpty(value);
}
public static boolean isNotEmpty(Integer value)
{
return !isEmpty(value);
}
public static boolean isNotEmpty(String[] arrValue)
{
return !isEmpty(arrValue);
}
public static boolean isNotEmpty(Object[] arrObject)
{
return !isEmpty(arrObject);
}
@Controller
@RequestMapping("/pc/index")
public class PcIndexController extends BaseUtil{
@Autowired
private AdverService adverService;
@Autowired
private NoticeService noticeService;
@Autowired
private WorkService workService;
@Autowired
private UserService userService;
@Autowired
private ForumService forumService;
@Autowired
private ChatService chatService;
@Controller
@RequestMapping("/manager/login")
public class ManagerLoginController extends BaseUtil {
@Resource
private UserService userService;
@Resource
private SystemUpsetService systemUpsetService;
/**
* 管理后台登陆接口
*
* @param request
* @param response
* @param ga
*/
@RequestMapping("/dologin")
public void doLogin(HttpServletRequest request, HttpServletResponse response, User user) throws Exception {
User serverUser = (User) request.getSession().getAttribute("serverUser");
if(serverUser == null){
if(user.getUserId() == null){
output(response,JsonUtil.buildFalseJson(1,"账号不能为空"));
}else{
if(user.getPassword().equals("") || user.getPassword() == null){
output(response,JsonUtil.buildFalseJson(1,"密码不能为空"));
}else{
User userInfo = userService.getUserById(user.getUserId());
if(userInfo == null || userInfo.getUserLeven() != 1){
output(response,JsonUtil.buildFalseJson(1,"账号不正确或系统不存在该用户"));
}else{
if(!userInfo.getPassword().equals(MD5Util.MD5Encode(user.getPassword(),"utf-8"))){
output(response,JsonUtil.buildFalseJson(1,"您输入的密码不正确,请重试"));
}else{
//判断账号是否被禁用
if(userInfo.getIsEffect() != 1){
output(response,JsonUtil.buildFalseJson(1,"对不起您的账号已被禁用"));
}else{
//执行登陆后台的逻辑
request.getSession().setAttribute("serverUser",userInfo);
output(response, JsonUtil.buildFalseJson(0, "登陆成功,欢迎登录兼职平台管理系统"));
}
}
}
}
mv.setViewName("server/login");
} else {
List<SystemUpset> systems = systemUpsetService.getSystemUpsetList(systemUpset, 0, 10);
if(systems.size() > 0){
mv.addObject("system", systems.get(0));
}else{
mv.addObject("system", null);
}
mv.setViewName("server/index");
}
mv.addObject("serverUser", serverUser);
return mv;
}
@RequestMapping("/goServerLogin")
public ModelAndView goHome(ModelAndView mv) {
mv.setViewName("server/login");
return mv;
}
@RequestMapping("/goMain")
public ModelAndView goMain(ModelAndView mv, HttpServletRequest request) {
mv.setViewName("server/main");
return mv;
}
@RequestMapping("/dologout")
public void managerLogOut(ModelAndView modelView, HttpServletRequest request, HttpServletResponse response) {
request.getSession().invalidate();
output(response, JsonUtil.buildFalseJson(0, "退出成功"));
}
@RequestMapping("/goUpdatePassword")
public ModelAndView goUpdatePassword(HttpServletRequest request, ModelAndView mv) {
mv.setViewName("server/updatePwd");
return mv;
}
//修改密码
@RequestMapping("/updatePassword")
public void updatePassword(HttpServletRequest request,HttpServletResponse response,String rePassword, String password){
User serverUser = (User) request.getSession().getAttribute("serverUser");
User user = new User();
if(password.equals(rePassword)){
user.setUserId(serverUser.getUserId());
user.setPassword(MD5Util.MD5Encode(password,"utf-8"));
userService.updateUser(user);
request.getSession().invalidate();
output(response,JsonUtil.buildFalseJson(0, "修改密码成功"));
}else{
output(response,JsonUtil.buildFalseJson(1, "前后密码不一致"));
}
//判断滚动条
String isScroll = "f";
//获取兼职
Page<Work> page=new Page<Work>();
if(work.getWorkCategory() != null && !work.getWorkCategory().equals("")){
isScroll = "t";
// try {
// work.setWorkCategory(new String(work.getWorkCategory().getBytes("ISO8859-1"),"UTF-8"));
// } catch (UnsupportedEncodingException e) {
// e.printStackTrace();
// }
}
System.out.println(work.getWorkCategory());
work.setIsEffect(1);
work.setIsAuditing(1);
if(vo.getSize()!=8){
vo.setSize(8);
}
if(vo.getPage()==null){
vo.setPage(1);
}
//每页数
page.setSize(vo.getSize());
if (vo != null){
//判断当前页
if(vo.getPage() != null) {
page.setPage(vo.getPage());
vo.setStartRow((vo.getPage() -1)*vo.getSize());
}
page.setTotal(workService.getWorkListCount(work));
page.setRows(workService.getWorkList(work, (vo.getPage()-1) * vo.getSize(), vo.getSize()));
}
mv.addObject("page", page);
//系统配置
SystemUpset systemUpset = new SystemUpset();
List<SystemUpset> systemUpsets = systemUpsetService.getSystemUpsetList(systemUpset, null, null);
if(systemUpsets.size() > 0){
mv.addObject("systemUpset", systemUpsets.get(0));
}
//轮播图
Banner banner = new Banner();
User pcUser = (User) request.getSession().getAttribute("pcUser");
mv.addObject("pcUser", pcUser);
if(pcUser == null){
mv.setViewName("pc/login");
}else{
mv.setViewName("pc/mailbox");
}
return mv;
}
//去发布兼职
@RequestMapping(value="/goPublishWork.action")
public ModelAndView goPublishWork(HttpServletRequest request,ModelAndView mv,SystemUpset systemUpset){
List<SystemUpset> systemUpsets = systemUpsetService.getSystemUpsetList(systemUpset, null, null);
if(systemUpsets.size() > 0){
mv.addObject("systemUpset", systemUpsets.get(0));
}
User pcUser = (User) request.getSession().getAttribute("pcUser");
mv.addObject("pcUser", pcUser);
if(pcUser == null){
mv.setViewName("pc/login");
}else{
mv.setViewName("pc/publish_work");
}
return mv;
}
//去公告页面
@RequestMapping(value="/goNotice.action")
public ModelAndView goNotice(HttpServletRequest request, ModelAndView mv, QueryVo vo){
//获取个公告
Page<Notice> page=new Page<Notice>();
Notice notice = new Notice();
if(vo.getSize()!=12){
vo.setSize(12);
}
if(vo.getPage()==null){
vo.setPage(1);
}
//每页数
page.setSize(vo.getSize());
if (vo != null){
//判断当前页
if(vo.getPage() != null) {
page.setPage(vo.getPage());
vo.setStartRow((vo.getPage() -1)*vo.getSize());
@Autowired
private MailboxService mailboxService;
//去信箱列表
@RequestMapping("/goMailboxList")
public ModelAndView goMailboxList(ModelAndView mv){
mv.setViewName("server/mailboxManage/mailboxList");
return mv;
}
//获取信箱列表
@RequestMapping("/getMailboxList")
public void getMailboxList(HttpServletResponse response,Mailbox mailbox,Integer page,Integer limit){
if(page == null){
page = 1;
}
if(limit == null){
limit = 10;
}
int totalCount = mailboxService.getMailboxListCount(mailbox);
List<Mailbox> list = mailboxService.getMailboxList(mailbox,(page-1) * limit, limit);
output(response,JsonUtil.buildJsonByTotalCount(list, totalCount));
}
//去查看信件
@RequestMapping("/goUpdateMailbox")
public ModelAndView goUpdateMailbox(ModelAndView mv,Integer id){
Mailbox mailbox = mailboxService.getMailboxById(id);
mv.addObject("mailbox", mailbox);
mv.setViewName("server/mailboxManage/updateMailbox");
return mv;
}
//编辑信件
@RequestMapping("/updateMailbox")
public void updateMailbox(HttpServletResponse response,Mailbox mailbox){
mailboxService.updateMailbox(mailbox);
output(response,JsonUtil.buildFalseJson(0, "编辑成功!"));
}
//删除信件
@RequestMapping("/deleteMailbox")
public void deleteMailbox(HttpServletResponse response,Integer id){
@Controller
@RequestMapping("/server/adver")
public class AdverController extends BaseUtil{
@Autowired
private AdverService adverService;
//去广告列表
@RequestMapping("/goAdverList")
public ModelAndView goAdverList(ModelAndView mv){
mv.setViewName("server/adverManage/adverList");
return mv;
}
//获取广告列表
@RequestMapping("/getAdverList")
public void getAdverList(HttpServletResponse response,Adver adver,Integer page,Integer limit){
if(page == null){
page = 1;
}
if(limit == null){
limit = 10;
}
int totalCount = adverService.getAdverListCount(adver);
List<Adver> list = adverService.getAdverList(adver,(page-1) * limit, limit);
output(response,JsonUtil.buildJsonByTotalCount(list, totalCount));
}
//去添加广告
@RequestMapping("/goAddAdver")
public ModelAndView goAddAdver(ModelAndView mv){
mv.setViewName("server/adverManage/addAdver");
return mv;
/**
* 是否是整形数字
* <一句话功能简述>
* <功能详细描述>
*
* @see [相关类/方法]
* @since [DHM.Core.IEPGM-V200R001]
*/
public static boolean isInt2(String str)
{
if (str != null)
{
if (str.matches("\\d+"))
{
return true;
}
}
return false;
}
/**
* 封转订购时返回的backurl
* @param url
* @param orderResult
* @param userId
* @return
*/
public static String getOrderBackurl(String url,String orderResult,String userId){
userId = userId==null?"":userId;
String parmStr = "orderResult="+orderResult+"&userId="+userId;
if(url != null){
if(url.indexOf(".action?")<=0 ){
url = url+"?"+parmStr;
}else{
url = url+"&"+parmStr;
}
}
return url;
}
/**
* 计算一个日期N天之前的日期
mv.setViewName("server/forumManage/updateForum");
return mv;
}
//编辑帖子
@RequestMapping("/updateForum")
public void updateForum(HttpServletResponse response,Forum forum){
forumService.updateForum(forum);
output(response,JsonUtil.buildFalseJson(0, "编辑成功!"));
}
//禁用兼职
@RequestMapping("/deleteForum")
public void deleteForum(HttpServletResponse response,Forum forum){
forumService.updateForum(forum);
output(response,JsonUtil.buildFalseJson(0, "禁用成功!"));
}
}
@Controller
@RequestMapping(value="/server/chat")
public class ChatController extends BaseUtil{
@Autowired
private ChatService chatService;
//去聊天列表
@RequestMapping("/goChatList")
public ModelAndView goChatList(ModelAndView mv){
mv.setViewName("server/chatManage/chatList");
return mv;
public ModelAndView goMain(ModelAndView mv, HttpServletRequest request) {
mv.setViewName("server/main");
return mv;
}
@RequestMapping("/dologout")
public void managerLogOut(ModelAndView modelView, HttpServletRequest request, HttpServletResponse response) {
request.getSession().invalidate();
output(response, JsonUtil.buildFalseJson(0, "退出成功"));
}
@RequestMapping("/goUpdatePassword")
public ModelAndView goUpdatePassword(HttpServletRequest request, ModelAndView mv) {
mv.setViewName("server/updatePwd");
return mv;
}
//修改密码
@RequestMapping("/updatePassword")
public void updatePassword(HttpServletRequest request,HttpServletResponse response,String rePassword, String password){
User serverUser = (User) request.getSession().getAttribute("serverUser");
User user = new User();
if(password.equals(rePassword)){
user.setUserId(serverUser.getUserId());
user.setPassword(MD5Util.MD5Encode(password,"utf-8"));
userService.updateUser(user);
request.getSession().invalidate();
output(response,JsonUtil.buildFalseJson(0, "修改密码成功"));
}else{
output(response,JsonUtil.buildFalseJson(1, "前后密码不一致"));
}
}
}
@Controller