基于javaweb的SSM大学生兼职论坛(java+ssm+jsp+jquery+layui+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

400023302402

410023302402

420023302402

430023302402

440023302402

450023302402

基于javaweb的SSM大学生兼职论坛(java+ssm+jsp+jquery+layui+mysql)

项目介绍

该项目是一个大学生校园兼职讨论平台,分为前台和后台功能,主要用户有三种角色:分别是商家、学生、管理员。商家可以发布兼职信息,发布后,管理员进入后台确认信息是否有效,并且审核该兼职信息。学生登录平台后,可以查看兼职信息,并且,可以在线和商家聊天,聊天的内容持久化到mysql数据库中。 该网站还有论坛交流的功能,用户可以在论坛发表贴子,并且,可以在帖子下面回复。论坛版块设置有3块广告区,管理员可以在后台对广告进行增删改查。 整体功能包括:论坛交流,帖子发布,个人中心,用户管理,聊天管理,帖子管理。

环境需要

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. 前端:JSP+jQuery+Layui

使用说明

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

前台系统:http://localhost:8080/moonlighting/

后台系统:http://localhost:8080/moonlighting/manager/login/goServerLogin.action  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
		mv.setViewName("server/adverManage/updateAdver");
return mv;
}

//编辑广告
@RequestMapping("/updateAdver")
public void updateAdver(HttpServletResponse response,Adver adver){
adverService.updateAdver(adver);
output(response,JsonUtil.buildFalseJson(0, "编辑成功!"));
}

//删除广告
@RequestMapping("/deleteAdver")
public void deleteAdver(HttpServletResponse response,Integer id){
adverService.deleteAdverById(id);
output(response,JsonUtil.buildFalseJson(0, "删除成功!"));
}


}
package com.work.common.utils;



public class BaseUtil extends WebMvcConfigurerAdapter {
/**
* Logger for this class
*/
private static final Logger logger = Logger.getLogger(BaseUtil.class);

public void writeJson(HttpServletResponse response, Object object) {
try {
String json = JSON.toJSONStringWithDateFormat(object, "yyyy-MM-dd HH:mm:ss");
response.setContentType("text/html;charset=utf-8");
response.getWriter().write(json);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
			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){
mv.addObject("systemUpset", systemUpsets.get(0));
}
mv.setViewName("pc/footer");
return mv;
}

//去首页面
@RequestMapping(value="/goIndex.action")
public ModelAndView goLogin(HttpServletRequest request,ModelAndView mv, Work work, QueryVo vo){
//判断滚动条
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());
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
		chatService.addChat(chat);
output(response,JsonUtil.buildFalseJson(0, "发送成功!"));
}

//发送信件
@RequestMapping(value="/addMailbox.action")
public void addMailbox(Mailbox mailbox,HttpServletRequest request,HttpServletResponse response){
User pcUser = (User) request.getSession().getAttribute("pcUser");
mailbox.setUserId(pcUser.getUserId());
mailbox.setCreateTime(new Date());
mailboxService.addMailbox(mailbox);
output(response,JsonUtil.buildFalseJson(0, "发送成功"));
}

// //发布兼职
// @RequestMapping(value="/addWork.action")
// public void addWork(Work work,HttpServletRequest request,HttpServletResponse response){
// User pcUser = (User) request.getSession().getAttribute("pcUser");
// work.setUserId(pcUser.getUserId());
// work.setCreateTime(new Date());
// workService.addWork(work);
// output(response,JsonUtil.buildFalseJson(0, "发布成功"));
// }
}
package com.work.common.utils;


/**
* 显示格式 上一页 1 2 3 4 5 下一页
*/
public class NavigationTag extends TagSupport {
static final long serialVersionUID = 2372405317744358833L;

/**
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
	
//添加广告
@RequestMapping("/addAdver")
public void addAdver(HttpServletRequest request,HttpServletResponse response,Adver adver){
User serverUser = (User) request.getSession().getAttribute("serverUser");
adver.setCreateTime(new Date());
adver.setUserId(serverUser.getUserId());
adverService.addAdver(adver);
output(response,JsonUtil.buildFalseJson(0, "添加成功!"));
}

//去编辑广告
@RequestMapping("/goUpdateAdver")
public ModelAndView goUpdateAdver(ModelAndView mv,Integer id){
Adver adver = adverService.getAdverById(id);
mv.addObject("adver", adver);
mv.setViewName("server/adverManage/updateAdver");
return mv;
}

//编辑广告
@RequestMapping("/updateAdver")
public void updateAdver(HttpServletResponse response,Adver adver){
adverService.updateAdver(adver);
output(response,JsonUtil.buildFalseJson(0, "编辑成功!"));
}

//删除广告
@RequestMapping("/deleteAdver")
public void deleteAdver(HttpServletResponse response,Integer id){
adverService.deleteAdverById(id);
output(response,JsonUtil.buildFalseJson(0, "删除成功!"));
}


}
package com.work.common.utils;


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
	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();
List<Adver> advers = adverService.getAdverList(adver, null, null);
mv.addObject("advers", advers);
//获取帖子
Page<Forum> page=new Page<Forum>();
Forum forum = new Forum();
forum.setIsEffect(1);
if(vo.getSize()!=10){
vo.setSize(10);
}
if(vo.getPage()==null){
vo.setPage(1);
}
//每页数
page.setSize(vo.getSize());
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
		collectService.addCollect(collect);
output(response,JsonUtil.buildFalseJson(0, "收藏成功"));
}
}

//发布兼职
@RequestMapping("/addWork")
public void addWork(HttpServletRequest request,HttpServletResponse response,Work work){
User pcUser = (User) request.getSession().getAttribute("pcUser");
if(pcUser == null){
output(response,JsonUtil.buildFalseJson(1, "您尚未登录,请先登录!"));
}
else{
work.setUserId(pcUser.getUserId());
work.setCreateTime(new Date());
workService.addWork(work);
output(response,JsonUtil.buildFalseJson(0, "发布成功"));
}
}

//聊天消息查询
@RequestMapping(value="/findChatList.action")
public void findChat(User user,HttpServletRequest request,HttpServletResponse response){
User pcUser = (User) request.getSession().getAttribute("pcUser");
Chat chat=new Chat();
//设置发送方id
chat.setUserIdFa(pcUser.getUserId());
//设置接收方id
chat.setUserIdJie(user.getUserId());
List<Chat> chats = chatService.findChatList(chat, null, 30);
//更新isLook
chat.setUserIdFa(user.getUserId());
chat.setUserIdJie(pcUser.getUserId());
chat.setIsLook(1);
chatService.updateChat(chat);
output(response,JsonUtil.buildJsonByTotalCount(chats, 0));
}

//聊天消息数目
@RequestMapping(value="/findChatListCount.action")
public void findChatListCount(User user,HttpServletRequest request,HttpServletResponse response){


项目链接:
https://javayms.github.io?id=201422312105200ia
https://javayms.pages.dev?id=201422312105200ia