目录
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);
}
你要尽全力保护你的梦想。那些嘲笑你梦想的人,因为他们必定会失败,他们想把你变成和他们一样的人。 ---《当幸福来敲门》