Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之生活旅行分享平臺(tái)的實(shí)現(xiàn)
一、項(xiàng)目運(yùn)行
環(huán)境配置:
Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
項(xiàng)目技術(shù):
Springboot+ SpringMVC + JPA+ Jsp + Html+ JavaScript + JQuery + Ajax + maven等等





評(píng)論業(yè)務(wù)控制器:
/**
* 評(píng)論控制器
* @author yy
*
*/
@RestController
@RequestMapping("/comment")
public class CommentController {
@Resource
private CommentService commentService;
@Resource
private ArticleService articleService;
@Resource
private ReplyService replyService;
/**
* 分頁(yè)查詢?cè)u(píng)論
* @param comment
* @param page
* @param pageSize
* @return
*/
@RequestMapping("/list")
public Map<String, Object> commentList(Comment comment, @RequestParam(value = "page", required = false) Integer page,
@RequestParam(value = "pageSize", required = false) Integer pageSize) {
List<Comment> commentList = commentService.list(comment, null, null, page - 1, pageSize, null);
Long total = commentService.getCount(comment, null, null, null);
int totalPage = (int) (total % pageSize == 0 ? total / pageSize : total / pageSize + 1);
Map<String, Object> resultMap = new HashMap<String, Object>();
resultMap.put("totalPage", totalPage);
resultMap.put("data", commentList);
return resultMap;
}
/**
* 分頁(yè)查詢?cè)u(píng)論
* @param page
* @param pageSize
* @return
*/
@RequestMapping("/massageList")
public Map<String, Object> massageList(@RequestParam(value = "page", required = false) Integer page,
@RequestParam(value = "pageSize", required = false) Integer pageSize) {
List<Comment> commentList = commentService.massageList(page - 1, pageSize);
Long total = commentService.getCount2();
int totalPage = (int) (total % pageSize == 0 ? total / pageSize : total / pageSize + 1);
Map<String, Object> resultMap = new HashMap<String, Object>();
resultMap.put("totalPage", totalPage);
resultMap.put("data", commentList);
return resultMap;
}
/**
* 添加評(píng)論
* @Title: add
* @param comment 評(píng)論實(shí)體
* @return 參數(shù)說(shuō)明
* @return Map<String,Object> 返回類型
* @throws
*/
@RequestMapping("/add")
public Map<String, Object> add(Comment comment, HttpSession session) {
User currentUser = (User) session.getAttribute("user");
Map<String, Object> resultMap = new HashMap<String, Object>();
comment.setCommentDate(new Date());
comment.setUser(currentUser);
commentService.add(comment);
if (comment.getArticle() != null) {
articleService.increaseComment(comment.getArticle().getArticleId());
}
resultMap.put("comment", comment);
resultMap.put("success", true);
return resultMap;
}
}
回復(fù)業(yè)務(wù)控制器:
/**
* 回復(fù)控制器
* @author yy
*
*/
@RestController
@RequestMapping("/reply")
public class ReplyController {
@Resource
private ReplyService replyService;
/**
* 獲取回復(fù)
* @param reply
* @return
*/
@RequestMapping("/list")
public Map<String, Object> replyList(Reply reply) {
List<Reply> replyList = replyService.list(reply);
Map<String, Object> resultMap = new HashMap<String, Object>();
resultMap.put("data", replyList);
return resultMap;
}
/**
* 添加回復(fù)
* @param reply
* @return
*/
@RequestMapping("/add")
public Map<String, Object> add(Reply reply, HttpSession session) {
User currentUser = (User) session.getAttribute("user");
Map<String, Object> resultMap = new HashMap<String, Object>();
reply.setReplyDate(new Date());
reply.setUser(currentUser);
replyService.add(reply);
resultMap.put("reply", reply);
resultMap.put("success", true);
return resultMap;
}
}
管理員業(yè)務(wù)控制器:
/**
* 管理員控制器
* @author yy
*
*/
@RestController
@RequestMapping("/admin")
public class AdminController {
@Value("${MD5Salt}")
private String salt; // md5加密鹽
@Resource
private AdminService adminService;
@Resource
private UserService userService;
@Resource
private ArticleService articleService;
@Resource
private ClassifyService classifyService;
/**
* 后臺(tái)管理員登錄驗(yàn)證
* @param admin
* @param request
* @return
*/
@RequestMapping("/login")
public ModelAndView login(Admin admin, HttpServletRequest request) {
ModelAndView mav = new ModelAndView();
HttpSession session = request.getSession();
try {
Admin resultUser = adminService.findByUserNameAndPassword(admin.getUserName(), admin.getPassword());
if (resultUser == null) {
mav.addObject("errorInfo", "用戶名或者密碼錯(cuò)誤!");
mav.setViewName("/login");
} else {
session.setAttribute("adminUser", resultUser);
// 統(tǒng)計(jì)用戶總數(shù)
Long userCount = userService.getCount();
// 統(tǒng)計(jì)今天注冊(cè)
Long userRegCount = userService.getTodayRegistCount(new User(), "1", "1");
// 統(tǒng)計(jì)今日登錄
Long userLogCount = userService.getCount(new User(), "1", "1");
// 統(tǒng)計(jì)筆記總數(shù)
Long artCount = articleService.getCount();
// 統(tǒng)計(jì)筆記分類
Long classCount = classifyService.getCount();
session.setAttribute("userCount", userCount);
session.setAttribute("userRegCount", userRegCount);
session.setAttribute("userLogCount", userLogCount);
session.setAttribute("artCount", artCount);
session.setAttribute("classCount", classCount);
mav.addObject("success", true);
mav.setViewName("/admin/index");
}
} catch (Exception e) { // 用戶名密碼錯(cuò)誤
e.printStackTrace();
mav.addObject("admin", admin);
mav.addObject("errorInfo", "用戶名或者密碼錯(cuò)誤!");
mav.setViewName("/login");
}
return mav;
}
/**
* 查看個(gè)人信息
*
* @return
*/
@RequestMapping("viewPerson")
public ModelAndView viewPerson(HttpServletRequest request) {
Admin admin = (Admin) request.getSession().getAttribute("adminUser");
ModelAndView mav = new ModelAndView();
Admin u = adminService.findById(admin.getAdminId());
mav.addObject("user", u);
mav.setViewName("/admin/adminViewPerson");
return mav;
}
/**
* 保存用戶信息
*
* @param user
* @return
*/
@RequestMapping("/save")
public ModelAndView save(Admin user) {
ModelAndView mav = new ModelAndView();
adminService.save(user);
mav.setViewName("/admin/index");
return mav;
}
}
用戶業(yè)務(wù)控制器:
/**
* 用戶控制器
*
*/
@RestController
@RequestMapping("/admin/user")
public class UserAdminController {
@Resource
private UserService userService;
@Value("${MD5Salt}")
private String salt; // md5加密鹽
/**
* 根據(jù)ID查找用戶
* @param userId
* @return
*/
@RequestMapping("/findById")
public Map<String, Object> findById(Integer userId) {
Map<String, Object> resultMap = new HashMap<String, Object>();
User user = userService.findById(userId);
resultMap.put("errorNo", 0);
resultMap.put("data", user);
return resultMap;
}
/**
* 分頁(yè)查詢用戶
* @param user
* @param registrationDates
* @param page
* @param limit
* @return
*/
@RequestMapping("/list")
public Map<String, Object> list(User user,
@RequestParam(value = "latelyLoginTimes", required = false) String latelyLoginTimes,
@RequestParam(value = "page", required = false) Integer page,
@RequestParam(value = "pageSize", required = false) Integer pageSize) {
String s_bregistrationDate = null; // 開始時(shí)間
String s_eregistrationDate = null; // 結(jié)束時(shí)間
if (StringUtil.isNotEmpty(latelyLoginTimes)) {
String[] strs = latelyLoginTimes.split(" - "); // 拆分時(shí)間段
s_bregistrationDate = strs[0];
s_eregistrationDate = strs[1];
}
List<User> userList = userService.list(user, s_bregistrationDate, s_eregistrationDate, page - 1, pageSize);
Long total = userService.getCount(user, s_bregistrationDate, s_eregistrationDate);
Map<String, Object> resultMap = new HashMap<String, Object>();
resultMap.put("errorNo", 0);
resultMap.put("data", userList);
resultMap.put("total", total);
return resultMap;
}
@RequestMapping("/delete")
public Map<String, Object> delete(Integer userId) {
Map<String, Object> resultMap = new HashMap<String, Object>();
userService.delete(userId);
resultMap.put("errorNo", 0);
return resultMap;
}
/**
* 取消關(guān)注
* @param request
* @param userId
* @return
*/
@RequestMapping("/removeFocusUser")
public ModelAndView removeFocusUser(HttpServletRequest request, String userId) {
ModelAndView mav = new ModelAndView();
User user = (User) request.getSession().getAttribute("user");// 當(dāng)前登錄用戶
String userIds = user.getUserIds();
List<String> tempList = Arrays.asList(userIds.split(","));
List<String> lineIdList = new ArrayList<>(tempList);
lineIdList.remove(userId);
String ret = StringUtils.join(lineIdList, ",");
user.setUserIds(ret);
userService.save(user);
mav.setViewName("redirect:/viewFocusUser");
return mav;
}
/**
* 關(guān)注用戶
* @param request
* @param userId
* @return
*/
@RequestMapping("/addFocusUser")
public ModelAndView addFocusUser(HttpServletRequest request, String userId) {
ModelAndView mav = new ModelAndView();
User user = (User) request.getSession().getAttribute("user");// 當(dāng)前登錄用戶
String userIds = user.getUserIds();
List<String> tempList = Arrays.asList(userIds.split(","));
List<String> lineIdList = new ArrayList<>(tempList);
lineIdList.add(userId);
String ret = StringUtils.join(lineIdList, ",");
user.setUserIds(ret);
userService.save(user);
mav.setViewName("redirect:/viewFocusUser");
return mav;
}
@RequestMapping("/addFocusUser/{userId}")
public ModelAndView addFocusUser(@PathVariable(value = "userId", required = false) Integer userId,
HttpSession session) {
ModelAndView mav = new ModelAndView();
User user = (User) session.getAttribute("user");// 當(dāng)前登錄用戶
String userIds = user.getUserIds();
List<String> tempList = new ArrayList<>();
if (userIds != null) {
tempList = Arrays.asList(userIds.split(","));
}
List<String> lineIdList = new ArrayList<>(tempList);
lineIdList.add(userId.toString());
String ret = StringUtils.join(lineIdList, ",");
user.setUserIds(ret);
userService.save(user);
mav.setViewName("redirect:/viewFocusUser");
return mav;
}
/**
* 取消收藏
* @param request
* @param userId
* @return
*/
@RequestMapping("/removeCollection")
public ModelAndView removeCollection(HttpServletRequest request, String artId) {
ModelAndView mav = new ModelAndView();
User user = (User) request.getSession().getAttribute("user");// 當(dāng)前登錄用戶
String artIds = user.getArticleIds();
List<String> tempList = Arrays.asList(artIds.split(","));
List<String> lineIdList = new ArrayList<>(tempList);
lineIdList.remove(artId);
String ret = StringUtils.join(lineIdList, ",");
user.setArticleIds(ret);
userService.save(user);
mav.setViewName("redirect:/viewCollection");
return mav;
}
/**
* 收藏
* @param request
* @param userId
* @return
*/
@RequestMapping("/addCollection")
public ModelAndView addCollection(HttpServletRequest request, String artId) {
ModelAndView mav = new ModelAndView();
User user = (User) request.getSession().getAttribute("user");// 當(dāng)前登錄用戶
String artIds = user.getArticleIds();
List<String> tempList = Arrays.asList(artIds.split(","));
List<String> lineIdList = new ArrayList<>(tempList);
lineIdList.add(artId);
String ret = StringUtils.join(lineIdList, ",");
user.setArticleIds(ret);
userService.save(user);
mav.setViewName("redirect:/viewCollection");
return mav;
}
}
到此這篇關(guān)于Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之生活旅行分享平臺(tái)的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Java 生活旅行分享平臺(tái)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之健身俱樂(lè)部管理系統(tǒng)的實(shí)現(xiàn)
- Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之工作管理系統(tǒng)的實(shí)現(xiàn)
- Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之財(cái)務(wù)預(yù)算管理系統(tǒng)的實(shí)現(xiàn)
- Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之在線高中考試系統(tǒng)的實(shí)現(xiàn)
- Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之平行志愿管理系統(tǒng)的實(shí)現(xiàn)
- Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之教室預(yù)訂管理系統(tǒng)的實(shí)現(xiàn)
- Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之共享租車信息管理系統(tǒng)的實(shí)現(xiàn)
- Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之寵物醫(yī)院與商城一體的系統(tǒng)的實(shí)現(xiàn)
- Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之養(yǎng)老院管理系統(tǒng)的實(shí)現(xiàn)
相關(guān)文章
Java基于final修飾數(shù)據(jù)過(guò)程解析
這篇文章主要介紹了Java基于final修飾數(shù)據(jù)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
Spring條件注解@ConditionnalOnClass的原理分析
這篇文章主要介紹了Spring條件注解@ConditionnalOnClass的原理分析,所謂@ConditionalOnClass注解,翻譯過(guò)來(lái)就是基于class的條件,它為所標(biāo)注的類或方法添加限制條件,當(dāng)該條件的值為true時(shí),其所標(biāo)注的類或方法才能生效,需要的朋友可以參考下2023-12-12
java中BeanUtils.copyProperties的用法(超詳細(xì))
本文介紹了BeanUtils.copyProperties()方法的使用,包括其功能、用法、注意事項(xiàng)和示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08
spring boot之SpringApplication 事件監(jiān)聽(tīng)
這篇文章主要介紹了spring boot之SpringApplication 事件監(jiān)聽(tīng),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-03-03
SpringBoot通過(guò)Filter實(shí)現(xiàn)整個(gè)項(xiàng)目接口的SQL注入攔截詳解
這篇文章主要介紹了SpringBoot通過(guò)Filter實(shí)現(xiàn)整個(gè)項(xiàng)目接口的SQL注入攔截詳解,SQL注入是比較常見(jiàn)的網(wǎng)絡(luò)攻擊方式之一,在客戶端在向服務(wù)器發(fā)送請(qǐng)求的時(shí)候,sql命令通過(guò)表單提交或者url字符串拼接傳遞到后臺(tái)持久層,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令,需要的朋友可以參考下2023-12-12
Spring FTP上傳下載工具類遇到問(wèn)題小結(jié)
本文通過(guò)實(shí)例代碼給大家介紹了Spring FTP上傳下載工具類遇到問(wèn)題小結(jié),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-12-12

