基于javaweb的生活旅行分享平台(java+springboot+jpa+jsp+html+js+ajax+mysql)

这是一个使用Java、SpringBoot、JPA、JSP、HTML、JS、Ajax和Maven构建的生活旅行分享平台项目。它适用于课程设计、大作业、毕业设计等场景。项目涉及评论、回复和管理员管理等功能,包括分页查询、添加评论和回复,以及后台的用户管理、登录验证等操作。
摘要由CSDN通过智能技术生成

基于javaweb的生活旅行分享平台(java+springboot+jpa+jsp+html+js+ajax+mysql)

运行环境

Java≥8、MySQL≥5.7

开发工具

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

适用

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

功能说明

20220519001944

20220519001945

20220519001946

20220519001948

20220519001949

基于javaweb+springboot的生活旅行分享平台(java+Springboot+JPA+Jsp+Html+js+Ajax+maven+mysql)

一、项目运行 环境配置:

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

项目技术:

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

评论业务控制器:

/**

  • 评论控制器

  • @author yy

*/

@RestController

@RequestMapping(“/comment”)

public class CommentController {

@Resource

private CommentService commentService;

@Resource

private ArticleService articleService;

@Resource

private ReplyService replyService;

/**

  • 分页查询评论

  • @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 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;

/**

  • 分页查询评论

  • @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 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;

/**

  • 添加评论

  • @Title: add

  • @param comment 评论实体

  • @return 参数说明

  • @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;

回复业务控制器:

/**

  • 回复控制器

  • @author yy

*/

@RestController

@RequestMapping(“/reply”)

public class ReplyController {

@Resource

private ReplyService replyService;

/**

  • 获取回复

  • @param reply

  • @return

*/

@RequestMapping(“/list”)

public Map<String, Object> replyList(Reply reply) {

List replyList = replyService.list(reply);

Map<String, Object> resultMap = new HashMap<String, Object>();

resultMap.put(“data”, replyList);

return resultMap;

/**

  • 添加回复

  • @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;

管理员业务控制器:

/**

  • 管理员控制器

  • @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;

/**

  • 后台管理员登录验证

  • @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”, “用户名或者密码错误!”);

mav.setViewName(“/login”);

} else {

session.setAttribute(“adminUser”, resultUser);

// 统计用户总数

Long userCount = userService.getCount();

// 统计今天注册

Long userRegCount = userService.getTodayRegistCount(new User(), “1”, “1”);

// 统计今日登录

Long userLogCount = userService.getCount(new User(), “1”, “1”);

// 统计笔记总数

Long artCount = articleService.getCount();

// 统计笔记分类

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) { // 用户名密码错误

e.printStackTrace();

mav.addObject(“admin”, admin);

mav.addObject(“errorInfo”, “用户名或者密码错误!”);

mav.setViewName(“/login”);

return mav;

/**

  • 查看个人信息

  • @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;

用户业务控制器:

/**

  • 用户控制器

*/

@RestController

@RequestMapping(“/admin/user”)

public class UserAdminController {

@Resource

private UserService userService;

@Value(“${MD5Salt}”)

private String salt; // md5加密盐

/**

  • 根据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;

/**

  • 分页查询用户

  • @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; // 开始时间

String s_eregistrationDate = null; // 结束时间

if (StringUtil.isNotEmpty(latelyLoginTimes)) {

String[] strs = latelyLoginTimes.split(" - "); // 拆分时间段

s_bregistrationDate = strs[0];

s_eregistrationDate = strs[1];

List 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;

/**

  • 取消关注

  • @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”);// 当前登录用户

String userIds = user.getUserIds();

List tempList = Arrays.asList(userIds.split(“,”));

List lineIdList = new ArrayList<>(tempList);

lineIdList.remove(userId);

String ret = StringUtils.join(lineIdList, “,”);

user.setUserIds(ret);

userService.save(user);

mav.setViewName(“redirect:/viewFocusUser”);

return mav;

/**

  • 关注用户

  • @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”);// 当前登录用户

String userIds = user.getUserIds();

List tempList = Arrays.asList(userIds.split(“,”));

List 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”);// 当前登录用户

String userIds = user.getUserIds();

List tempList = new ArrayList<>();

if (userIds != null) {

tempList = Arrays.asList(userIds.split(“,”));

List 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”);// 当前登录用户

String artIds = user.getArticleIds();

List tempList = Arrays.asList(artIds.split(“,”));

List 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”);// 当前登录用户

String artIds = user.getArticleIds();

List tempList = Arrays.asList(artIds.split(“,”));

List lineIdList = new ArrayList<>(tempList);

lineIdList.add(artId);

String ret = StringUtils.join(lineIdList, “,”);

user.setArticleIds(ret);

userService.save(user);

mav.setViewName(“redirect:/viewCollection”);

return mav;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值