基于javaweb的SpringBoot嘟嘟图片展览馆管理系统(java+springboot+springmvc+jpa+html+maven+mysql)

运行环境

Java≥8、MySQL≥5.7

开发工具

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

适用

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

功能说明

240023212402

250023212402

270023212402

280023212402

290023212402

300023212402

230527195351

基于javaweb的SpringBoot嘟嘟图片展览馆管理系统(java+springboot+springmvc+jpa+html+maven+mysql)

1
2
3
4
5
6
前台用户:
user1 123456
user2 123456

后台管理员:
admin 123456

一、项目运行 环境配置:

Jdk1.8 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

项目技术:

Springboot+ SpringMVC + JPA+ Jsp + Html+ JavaScript + JQuery + Ajax + maven等等

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
    try {
String at=request.getParameter("atid");
String fan=request.getParameter("fanid");
int atid=Integer.parseInt(at);
int fanid=Integer.parseInt(fan);
responseBo=testService.attention(atid,fanid);
} catch (Exception e) {
log.error("关注失败",e);
responseBo.setResMsg("关注失败");
}
return responseBo;
}

/**
* 功能描述:取消关注
* 作者: wangzenghui
*/

@RequestMapping(value = "/unattention.do",method = {RequestMethod.POST, RequestMethod.GET})
public ResponseBo unattention(HttpServletRequest request){
ResponseBo responseBo=new ResponseBo();
try {
String at=request.getParameter("atid");
String fan=request.getParameter("fanid");
int atid=Integer.parseInt(at);
int fanid=Integer.parseInt(fan);
responseBo=testService.unattention(atid,fanid);
} catch (Exception e) {
log.error("取消关注失败",e);
responseBo.setResMsg("取消关注失败");
}
return responseBo;
}

/**
* 功能描述:注销
* 作者: wangzenghui
*/

@RequestMapping(value = "/logout.do",method = {RequestMethod.POST, RequestMethod.GET})
public ResponseBo logout(HttpServletRequest request){
ResponseBo responseBo=new ResponseBo();
try {
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
 * 功能描述:获取充值表数据
* 作者: wangzenghui
*/

@RequestMapping("/getDeposits.do")
public ResponseBo getDeposits(){
ResponseBo responseBo=new ResponseBo();
log.info("进入 getDeposits 方法");
try {
responseBo=adminService.getDeposits();
} catch (Exception e) {
log.info("getDeposits 方法出现异常");
e.printStackTrace();
}
return responseBo;
}

/**
* 功能描述:给用户添加积分,删除充值表
* 作者: wangzenghui
*/

@Caching(evict={@CacheEvict(value="pointscache",allEntries=true)})
@RequestMapping("/addPoint.do")
public ResponseBo addPoint(POINTS points){
ResponseBo responseBo=new ResponseBo();
log.info("进入 addPoint 方法");
try {
responseBo=adminService.addPoint(points);
} catch (Exception e) {
log.info("addPoint 方法出现异常");
e.printStackTrace();
}
return responseBo;
}

/**
* 功能描述:获取评论
* 作者: wangzenghui
*/

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
    }
log.info("addTags 方法出参"+responseBo.getResMsg());
return responseBo;
}

/**
* 功能描述:获取标签
* 作者: wangzenghui
*/

@RequestMapping("/getTags.do")
public ResponseBo getTags(String imgid){
ResponseBo responseBo=new ResponseBo();
log.info("进入 getTags 方法");
try {
responseBo=testService.getTags(imgid);
} catch (Exception e) {
log.info("getTags 方法出现异常");
e.printStackTrace();
}
log.info("getTags 方法出参: "+responseBo.getResMsg());
return responseBo;
}

/**
* 功能描述:删除标签
* 作者: wangzenghui
*/

@RequestMapping("/delTags.do")
public ResponseBo delTags(int tagid){
ResponseBo responseBo=new ResponseBo();
log.info("进入 delTags 方法");
try {
responseBo=testService.delTags(tagid);
} catch (Exception e) {
log.info("delTags 方法出现异常");
e.printStackTrace();
}
log.info("delTags 方法出参: "+responseBo.getResMsg());
return responseBo;
}

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
}

/**
* 功能描述:上传图片
* 作者: wangzenghui
*/

@Override
public ResponseBo upload(MultipartFile file, String title, String intro, int typeid, int userid) throws Exception {
ResponseBo responseBo = new ResponseBo();
if (file == null) {
responseBo.setResMsg("请上传文件");
return responseBo;
}
String fileNames = file.getOriginalFilename();//这个fileNames是上传的文件名(不是地址)
int split = fileNames.lastIndexOf(".");
String suffix = fileNames.substring(split + 1, fileNames.length());//文件后缀,用于判断上传的文件是否是合法的
String newName;
//判断文件类型,因为我这边是图片,所以只设置三种合法格式
if (suffix.equals("jpg") || suffix.equals("png") || suffix.equals("gif")) {
//正确的类型,保存文件
byte[] bytes = file.getBytes();
newName = new Date().getTime() + "." + suffix;
File savedFile = new File(imageDir + "/" + newName);
BufferedOutputStream stream = new BufferedOutputStream(new FileOutputStream(savedFile));
stream.write(bytes);
stream.close();
System.out.println("图片上传完毕,存储地址为:" + savedFile.getAbsolutePath());
} else {
responseBo.setResMsg("图片类型不支持");
return responseBo;
}
AUDITIMAGES auditimages = new AUDITIMAGES();
auditimages.setImgname(newName);
auditimages.setTitle(title);
auditimages.setIntro(intro);
auditimages.setTypeid(typeid);
auditimages.setUserid(userid);
int res = auditimagesMapper.insert(auditimages);
if (res == 1)
responseBo.setResMsg("上传成功");
else
responseBo.setResMsg("上传失败");
AUDITIMAGES images = auditimagesMapper.selectByImgname(newName);
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
 * 作者: wangzenghui
*/

@Override
public ResponseBo upload(MultipartFile file, String title, String intro, int typeid, int userid) throws Exception {
ResponseBo responseBo = new ResponseBo();
if (file == null) {
responseBo.setResMsg("请上传文件");
return responseBo;
}
String fileNames = file.getOriginalFilename();//这个fileNames是上传的文件名(不是地址)
int split = fileNames.lastIndexOf(".");
String suffix = fileNames.substring(split + 1, fileNames.length());//文件后缀,用于判断上传的文件是否是合法的
String newName;
//判断文件类型,因为我这边是图片,所以只设置三种合法格式
if (suffix.equals("jpg") || suffix.equals("png") || suffix.equals("gif")) {
//正确的类型,保存文件
byte[] bytes = file.getBytes();
newName = new Date().getTime() + "." + suffix;
File savedFile = new File(imageDir + "/" + newName);
BufferedOutputStream stream = new BufferedOutputStream(new FileOutputStream(savedFile));
stream.write(bytes);
stream.close();
System.out.println("图片上传完毕,存储地址为:" + savedFile.getAbsolutePath());
} else {
responseBo.setResMsg("图片类型不支持");
return responseBo;
}
AUDITIMAGES auditimages = new AUDITIMAGES();
auditimages.setImgname(newName);
auditimages.setTitle(title);
auditimages.setIntro(intro);
auditimages.setTypeid(typeid);
auditimages.setUserid(userid);
int res = auditimagesMapper.insert(auditimages);
if (res == 1)
responseBo.setResMsg("上传成功");
else
responseBo.setResMsg("上传失败");
AUDITIMAGES images = auditimagesMapper.selectByImgname(newName);
int imgid = images.getId();
responseBo.setResult(imgid);
return responseBo;
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

int res = commentsMapper.insert(comments);
if (res == 0) {
responseBo.setResMsg("添加失败");
return responseBo;
}
responseBo.setResMsg("添加成功");
return responseBo;
}

@Cacheable(value = "commentscache")
@Override
public ResponseBo getComments(int imgid) throws Exception {
log.info("没有走缓存");
ResponseBo responseBo = new ResponseBo();
List list = commentsMapper.selectByImgid(imgid);
responseBo.setResult(list);
responseBo.setResMsg("获取成功");
return responseBo;
}

@Caching(evict = {@CacheEvict(value = "commentscache", allEntries = true)})
@Override
public ResponseBo delComments(int comid) throws Exception {
ResponseBo responseBo = new ResponseBo();
int res = commentsMapper.deleteByPrimaryKey(comid);
if (res == 0) {
responseBo.setResMsg("删除失败");
return responseBo;
}
responseBo.setResMsg("删除成功");
return responseBo;
}

@Override
public ResponseBo addComplains(COMPLAINS complains) throws Exception {
ResponseBo responseBo = new ResponseBo();

int res = complainsMapper.insert(complains);
if (res == 0) {
responseBo.setResMsg("添加失败");
return responseBo;
}
responseBo.setResMsg("添加成功");
return responseBo;


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