JavaWeb黑马旅游网-学习笔记09【旅游线路收藏】

  1. JavaWeb黑马旅游网-学习笔记01【准备工作】
  2. JavaWeb黑马旅游网-学习笔记02【注册功能】
  3. JavaWeb黑马旅游网-学习笔记03【登陆和退出功能】
  4. JavaWeb黑马旅游网-学习笔记04【BaseServlet抽取】
  5. JavaWeb黑马旅游网-学习笔记05【分类数据展示功能】
  6. JavaWeb黑马旅游网-学习笔记06【旅游线路分页展示分页展示】
  7. JavaWeb黑马旅游网-学习笔记07【旅游线路查询】
  8. JavaWeb黑马旅游网-学习笔记08【旅游线路详情】
  9. JavaWeb黑马旅游网-学习笔记09【旅游线路收藏】
  10. JavaWeb黑马旅游网-学习笔记10【项目代码】

目录

46-旅游线路收藏_分析

判断当前登录用户是否收藏过该线路

47-旅游线路收藏_判断是否收藏_后台代码

RouteServlet.java

FavoriteService.java

FavoriteDao.java

48-旅游线路收藏_判断是否收藏_前台代码

49-旅游线路收藏_收藏次数动态展示

50-旅游线路收藏_点击按钮收藏_分析

51-旅游线路收藏_点击按钮收藏_后台代码

RouteServlet.java

52-旅游线路收藏_点击按钮收藏_前台代码

53-旅游线路收藏_点击按钮收藏_前台效果优化

RouteServlet.java

FavoriteService.java

FavoriteDao.java


46-旅游线路收藏_分析

 

判断当前登录用户是否收藏过该线路

当页面加载完成后,发送ajax请求,获取用户是否收藏的标记。

根据标记,展示不同的按钮样式。

47-旅游线路收藏_判断是否收藏_后台代码

RouteServlet.java

package cn.itcast.travel.web.servlet;

import cn.itcast.travel.domain.PageBean;
import cn.itcast.travel.domain.Route;
import cn.itcast.travel.domain.User;
import cn.itcast.travel.service.FavoriteService;
import cn.itcast.travel.service.RouteService;
import cn.itcast.travel.service.impl.FavoriteServiceImpl;
import cn.itcast.travel.service.impl.RouteServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/route/*")
public class RouteServlet extends BaseServlet {
    private RouteService routeService = new RouteServiceImpl();

    private FavoriteService favoriteService = new FavoriteServiceImpl();

    /**
     * 判断当前登录用户是否收藏过该线路
     *
     * @param request
     * @param response
     * @throws ServletException
     * @throws IOException
     */
    public void isFavorite(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1. 获取线路id
        String rid = request.getParameter("rid");
        //2. 获取当前登录的用户 user
        User user = (User) request.getSession().getAttribute("user");
        int uid;//用户id
        if (user == null) {
            //用户尚未登录
            uid = 0;
        } else {
            //用户已经登录
            uid = user.getUid();
        }
        //3. 调用FavoriteService查询是否收藏
        boolean flag = favoriteService.isFavorite(rid, uid);
        //4. 写回客户端
        writeValue(flag, response);
    }
}

FavoriteService.java

package cn.itcast.travel.service;

public interface FavoriteService {
    /**
     * 判断是否收藏
     *
     * @param rid
     * @param uid
     * @return
     */
    public boolean isFavorite(String rid, int uid);

    /**
     * 添加收藏
     *
     * @param rid
     * @param uid
     */
    void add(String rid, int uid);
}

FavoriteDao.java

package cn.itcast.travel.dao;

import cn.itcast.travel.domain.Favorite;

public interface FavoriteDao {
    /**
     * 根据rid和uid查询收藏信息
     *
     * @param rid
     * @param uid
     * @return
     */
    public Favorite findByRidAndUid(int rid, int uid);

    /**
     * 根据rid 查询收藏次数
     *
     * @param rid
     * @return
     */
    public int findCountByRid(int rid);

    /**
     * 添加收藏
     *
     * @param i
     * @param uid
     */
    void add(int i, int uid);
}

48-旅游线路收藏_判断是否收藏_前台代码

49-旅游线路收藏_收藏次数动态展示

50-旅游线路收藏_点击按钮收藏_分析

51-旅游线路收藏_点击按钮收藏_后台代码

RouteServlet.java

package cn.itcast.travel.web.servlet;

import cn.itcast.travel.domain.PageBean;
import cn.itcast.travel.domain.Route;
import cn.itcast.travel.domain.User;
import cn.itcast.travel.service.FavoriteService;
import cn.itcast.travel.service.RouteService;
import cn.itcast.travel.service.impl.FavoriteServiceImpl;
import cn.itcast.travel.service.impl.RouteServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/route/*")
public class RouteServlet extends BaseServlet {
    private RouteService routeService = new RouteServiceImpl();

    private FavoriteService favoriteService = new FavoriteServiceImpl();

    /**
     * 添加收藏
     *
     * @param request
     * @param response
     * @throws ServletException
     * @throws IOException
     */
    public void addFavorite(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1. 获取线路rid
        String rid = request.getParameter("rid");
        //2. 获取当前登录的用户
        User user = (User) request.getSession().getAttribute("user");
        int uid;//用户id
        if (user == null) {
            //用户尚未登录
            return;
        } else {
            //用户已经登录
            uid = user.getUid();
        }
        //3. 调用service添加
        favoriteService.add(rid, uid);
    }
}

52-旅游线路收藏_点击按钮收藏_前台代码

53-旅游线路收藏_点击按钮收藏_前台效果优化

RouteServlet.java

/**
 * 添加收藏
 *
 * @param request
 * @param response
 * @throws ServletException
 * @throws IOException
 */
public void addFavorite(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //1. 获取线路rid
    String rid = request.getParameter("rid");
    //2. 获取当前登录的用户
    User user = (User) request.getSession().getAttribute("user");
    int uid;//用户id
    if (user == null) {
        //用户尚未登录
        return;
    } else {
        //用户已经登录
        uid = user.getUid();
    }
    //3. 调用service添加
    favoriteService.add(rid, uid);
}

FavoriteService.java

package cn.itcast.travel.service;

public interface FavoriteService {
    /**
     * 添加收藏
     *
     * @param rid
     * @param uid
     */
    void add(String rid, int uid);
}

FavoriteDao.java

package cn.itcast.travel.dao;

import cn.itcast.travel.domain.Favorite;

public interface FavoriteDao {
    /**
     * 添加收藏
     *
     * @param i
     * @param uid
     */
    void add(int i, int uid);
}

你要尽全力保护你的梦想。那些嘲笑你梦想的人,因为他们必定会失败,他们想把你变成和他们一样的人。 ---《当幸福来敲门》

猜你喜欢

转载自blog.csdn.net/weixin_44949135/article/details/114293637