• Java后端 学习路线 笔记汇总表【黑马程序员】
  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. 获取线路idString rid = request.getParameter("rid");//2. 获取当前登录的用户 userUser user = (User) request.getSession().getAttribute("user");int uid;//用户idif (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. 获取线路ridString rid = request.getParameter("rid");//2. 获取当前登录的用户User user = (User) request.getSession().getAttribute("user");int uid;//用户idif (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. 获取线路ridString rid = request.getParameter("rid");//2. 获取当前登录的用户User user = (User) request.getSession().getAttribute("user");int uid;//用户idif (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);
}

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

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

  1. 黑马旅游网学习笔记之旅游线路详情(八)

    概述 (一)需求分析 (二)后台代码 (三)前台代码 (一)需求分析 再来看看数据库的关系 这里使用SQLyog能够清晰看到一对多的关系 (二)后台代码 RouteServlet: /*** 根据id ...

  2. 黑马旅游网学习笔记之旅游线路查询(七)

    概述 (一)参数传递 (二)后台代码 (三)前台代码 (一)参数传递 (二)后台代码 第一步,加上rname字段 然后分三种情况: 第一种,直接在首页查询 只有rname 没有cid 第二种,进去之后 ...

  3. JavaWeb黑马旅游网-学习笔记08【旅游线路详情】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

  4. JavaWeb黑马旅游网-学习笔记06【旅游线路分页展示分页展示】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

  5. JavaWeb黑马旅游网-学习笔记05【分类数据展示功能】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

  6. JavaWeb黑马旅游网-学习笔记04【BaseServlet抽取】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

  7. JavaWeb黑马旅游网-学习笔记03【登陆和退出功能】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

  8. JavaWeb黑马旅游网-学习笔记02【注册功能】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

  9. JavaWeb黑马旅游网-学习笔记01【准备工作】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

最新文章

  1. Python3+Selenium3 之滚动条操作实例与单选框的实例演示
  2. 2019年末,10 位院士对 AI 的深度把脉(上)
  3. 操作系统内存管理-Linux版
  4. linux批量修改压缩图片大小,linux shell批量压缩某个目录下图片大小
  5. mysql创建数据库时候同时创建表空间_mysql::创建多个表空间添加记录数据会添加到哪个表空间中?...
  6. linux 访问Windows 共享文件的方法
  7. 决策树随笔-深度AI科普团队
  8. MyEclipse配置进行Hibernate逆映射
  9. 一些关于并行计算的科研思路
  10. Openlayer 3 的画图测量面积
  11. csv导入sqlite(python)
  12. 万字精华——Python常见的60+面试题合集双手奉上!
  13. Python 快速部署安装所需模块
  14. 使用seaborn制图(箱型图)
  15. 网络通讯技术在嵌入式系统中的应用
  16. handler和thread之间如何传输数据_HTTP和TCP之间的关系
  17. 【Python实例第17讲】均值偏移聚类算法
  18. Vue+springboot流浪宠物救助领养网站
  19. 整理了一些常用的软件测试工具【建议收藏】
  20. ECMASript 6 新特性

热门文章

  1. 镜像电流源特点_9000大型地网变频大电流接地特性测量系统介绍
  2. pytorch Tensor的操作和Numpy之间的转化(三)
  3. 深圳内推 | 腾讯AI Lab自然语言处理中心招聘NLP研究型实习生
  4. Hugging Face官方课程来了!Transformers库维护者之一授课,完全免费
  5. 复旦大学邱锡鹏教授团队:Transformer最新综述
  6. 无线通信AI大赛正式开放评测,50万大奖等你霸榜!
  7. BERT可以上几年级了?Seq2Seq“硬刚”小学数学应用题
  8. Science论文解读:打牌一时爽,一直打牌一直爽
  9. 136个Python 机器学习知识点让你受益终生!
  10. Oracle数据库教程