黑马程序员技术交流社区
标题:
【厦门校区JavaEE就业6期-每日总结】综合案例_day04
[打印本页]
作者:
厦门校区
时间:
2019-5-21 18:30
标题:
【厦门校区JavaEE就业6期-每日总结】综合案例_day04
用自己的话将线路收藏跟取消收藏功能描述出来
作者:
林志鹏
时间:
2019-5-21 19:08
用自己的话将线路收藏跟取消收藏功能描述出来
线路收藏
:查看线路详情的时候前端有个点击收藏功能组件,当点击收藏时候会异步请求查询用户是否登录,没有登录则跳转到登录界面。登录了发给ajax请求调用route/isFavorite方法判断用户是否收藏过该路线,收藏过则修改其样式,没有收藏过且登录了则点击收藏按钮调用前端addFavorite方法发送ajax请求调用route/addFavorite方法添加数据到数据库中,页面刷新显示收藏次数删除按钮的点击事件。
取消收藏
:当用户再点击一次或者点击取消收藏的时候传递收藏的线路rid到servlet中,判断用户是否登录,登录则调用方法delete删除其收藏的线路信息。
作者:
陈伟彬
时间:
2019-5-21 20:26
用自己的话将线路收藏功能描述出来
答:
线路收藏功能:
前端:
查询是否被收藏:在页面加载进路线详情时,请求后台传递线路id(rid),获取线路是否被收藏,未收藏则按钮样式不变,已收藏则更改按钮样式,并置为不可更改;
添加收藏:为收藏按钮添加单击事件,当按钮点击时判断用法是否已登录,未登录则跳转至登录界面进行登录操作;已登录则传递路线id(rid)进行数据添加,并刷新页面;
后台:
查询是否被收藏:
servlet层:获取路线id(rid)和用户数据,判断用户是否已登录,未登录则将uid置为0,已登录则将uid置为用户id;调用service层方法,传递rid和uid,查询路线是否被收藏;
service层:调用dao层方法,传递uid和rid,获取数据,如果数据不为null则说明路线已被收藏,反之则位被收藏;
dao层:根据rid和uid 定义条件查询语句进行数据库查询,将查询的数据返回给调用者;
添加收藏:
servlet层:获取路线id(rid)和用户数据,判断用户是否已登录,未登录则进行return使页面不发生改变,已登录则将uid置为用户id;调用service层方法,传递rid和uid,进行数据添加;
service层:调用dao层方法,传递uid和rid,进行数据添加;
dao层:定义添加语句,将路线id、用户id和收藏时间添加到数据库中;
作者:
徐代成
时间:
2019-5-21 21:40
用自己的话将线路详情展示和线路收藏功能描述出来
线路详情展示
①在route_list.html页面的查看详情绑定点击事件,绑定对应路线的rid跳转到route_detail.html页面
②route_detail.html页面加载,就会发送异步请求,将rid传递给RouteServlet,RouteServlet再调用RouteServiceImpl中的findDetail(rid)方法,将返回的Route对象转换为json,发送给前端
③RouteServiceImpl中创建Route对象,并调用RouteDaoImpl中的findRoute(rid)方法,查询tab_route表路线的信息;调用RouteDaoImpl中的findRouteIm()方法根据findRoute()方法查询出的Route对象的rid,查询tab_route_img表中对应的路线图片;调用RouteDaoImpl中的findSeller()方法根据findRoute()方法查询出的Route对象的sid,查询tab_seller表中对应的商家,对route对象进行赋值,将Route对象返回给RouteServlet
④route_detail.html页面根据返回的json格式的Route对象,展示路线详情
线路收藏
判断是否收藏:
①在route_detail.html加载,会发生异步请求访问FavoriteServlet,FavoriteServlet获取前端传递rid和获取session域中的user对象,判断user是否为空,不为空则获取用户的uid,并调用FavoriteServiceImpl中的isFavorite(rid,uid)方法,给前端页面返回一个布尔值,是否收藏
②FavoriteServiceImpl中调用FavoriteDaoImpl的isFavorite(rid,uid)方法,查询tab_favorite表,并返回一个Favorite对象,根据这个Favorite对象是否为空给FavoriteServlet返回一个布尔值
③route_detail.html根据这个布尔进行判断是否收藏,进行设置是否收藏显示的样式
点击收藏:
①在收藏按键绑定一个点击事件,点击触发会从UserServlet中获取user对象,route_detail.html页面根据返回的user对象是否为空,如果不为空则访问FavoriteServlet传递rid进行收藏,如果为空则跳转到登录页面让用户去登录
②FavoriteServlet获取前端传递rid和获取session域中的user对象,判断user是否为空,不为空则获取用户的uid,并调用FavoriteServiceImpl中的addFavorite(rid,uid)方法进行添加收藏
③FavoriteServiceImpl中调用FavoriteDaoImpl的addFavorite(rid,uid)方法,在tab_favorite表插入一条收藏记录
作者:
陈前凌
时间:
2019-5-21 21:50
用自己的话将线路收藏跟取消收藏功能描述出来
查询线路是否被收藏:
客户端:页面加载完发送异步请求,根据响应结果修改点击按钮的属性
服务器端:请求发送到RouteServlet,获取线路rid和用户uid,查询是否收藏,返回boolean值
点击收藏按钮进行收藏或取消收藏:
客户端:收藏按钮绑定单击事件,先判断用户是否有登入,没有跳转至登入页面。如果有登入,跳转到RouteServlet,完成后刷新页面
服务器端:RouteServlet中,获取线路rid和用户uid,调用FavoriteService中的方法,FavoriteService中定义一个方法,
先调用isFavorite方法,判断用户是否收藏线路,如果用户没有收藏线路,创建一个addFavorite方法,去dao实现方法添加收藏。如果用户已经收藏用户,创建一个delFavorite方法,去dao实现方法删除收藏。
作者:
余建强
时间:
2019-5-21 21:56
线路详情展示
(1)在route_list.html页面的查看详情绑定点击事件,绑定对应路线的rid跳转到route_detail.html页面
(2)route_detail.html页面加载,就会发送异步请求,将rid传递给RouteServlet,RouteServlet再调用RouteServiceImpl中的findDetail(rid)方法,将返回的Route对象转换为json,发送给前端
(3)RouteServiceImpl中创建Route对象,并调用RouteDaoImpl中的findRoute(rid)方法,查询tab_route表路线的信息;调用RouteDaoImpl中的findRouteIm()方法根据findRoute()方法查询出的Route对象的rid,查询tab_route_img表中对应的路线图片;调用RouteDaoImpl中的findSeller()方法根据findRoute()方法查询出的Route对象的sid,查询tab_seller表中对应的商家,对route对象进行赋值,将Route对象返回给RouteServlet
(4)route_detail.html页面根据返回的json格式的Route对象,展示路线详情
线路收藏
判断是否收藏:
(1)在route_detail.html加载,会发生异步请求访问FavoriteServlet,FavoriteServlet获取前端传递rid和获取session域中的user对象,判断user是否为空,不为空则获取用户的uid,并调用FavoriteServiceImpl中的isFavorite(rid,uid)方法,给前端页面返回一个布尔值,是否收藏
(2)FavoriteServiceImpl中调用FavoriteDaoImpl的isFavorite(rid,uid)方法,查询tab_favorite表,并返回一个Favorite对象,根据这个Favorite对象是否为空给FavoriteServlet返回一个布尔值
(3)route_detail.html根据这个布尔进行判断是否收藏,进行设置是否收藏显示的样式(默认样式是未收藏)
点击收藏:
(1)在收藏按键绑定一个点击事件,点击触发会从UserServlet中获取user对象,route_detail.html页面根据返回的user对象是否为空,如果不为空则访问FavoriteServlet传递rid进行收藏,如果为空则跳转到登录页面让用户去登录
(2)FavoriteServlet获取前端传递rid和获取session域中的user对象,判断user是否为空,不为空则获取用户的uid,并调用FavoriteServiceImpl中的addFavorite(rid,uid)方法进行添加收藏
(3)FavoriteServiceImpl中调用FavoriteDaoImpl的addFavorite(rid,uid)方法,在tab_favorite表插入一条收藏记录
作者:
廖艺铭
时间:
2019-5-21 22:27
用自己的话将线路收藏跟取消收藏功能描述出来
线路收藏:route_detail.html页面请求routeServlet -> routeServlet获取rid以及session域中的uid -> 写中间表tab_favorite
取消收藏:route_detail.html页面点击取消收藏按钮请求routeServlet -> routeServlet获取rid以及session域中的uid -> 删除tab_favorite表中rid和uid对应的记录
作者:
吴越
时间:
2019-5-22 20:02
线路收藏:给“点击收藏”按钮绑定单击事件,点击“收藏”按钮后,首先判断用户是否登录,若未登录,则跳转到登录页面;若已登录,则携带rid参数通过异步请求跳转到RouteServlet中调用addFavorite方法并刷新。RouteServlet中将参数传递到FavoriteService中,通过调用FavoriteDao中的add方法,向数据库的tab_favorite表中添加一条rid和uid;
取消收藏:对“点击收藏”按钮绑定异步请求,向RouteServlet发送rid,通过调用RouteServlet中的isFavorite方法,判断当前页面是否已经被收藏,并返回一个boolean。若为true,代表已经收藏,将此按钮的样式改为“already”,修改文字为“取消收藏”,并修改单击事件为对应的删除方法。
作者:
曾伟清
时间:
2019-5-23 08:40
用自己的话将线路收藏跟取消收藏功能描述出来
查看线路是否被收藏:
1.前端:在route_detail.html获得当前线路的rid,异步请求servlet。请求路径route/isFavorite,参数传递rid,将来返回boolean的json。
2.三层架构:servlet层获得rid参数,再从session域中获得user键对应的user对象。判断user是否为空,如果为空uid赋值为0,不为空,则将user对象中的uid属性的值赋值给
uid。将两个参数传递到service层对应的方法。service层将rid转换为Integer类型,将两个参数传入dao层。dao层通过这两个参数到tab_favorite表中查询,结果封装为
Favorite对象返回service层。service层判断Favorite对象是否为空,为空说明该线路没有被该用户收藏,返回false。如果不为空,说明该线路已经被该用户收藏,返回
true。servlet层直接将boolean返回值转换为json返回给前端。
3.前端:如果返回true说明该用户已经收藏该线路,设置点击收藏超链接样式为灰色,弃用。返回false不做处理。
添加线路收藏:
1.前端:给点击收藏按钮添加一个单击事件,function内异步请求usersevlet/findOne,function内获得user对象,判断user是否为空。如果不为空说明登录了,异步请求route/addFavorite
。为空则跳转登录页面。
2.三层架构:servlet层获得参数rid,再从session域中获得user键对应的user对象。判断user是否为空,如果为空直接return结束方法。不为空,则将user对象中的uid属性的值赋值给
uid。将两个参数传递到service层对应的方法。service层调用dao层添加数据方法,将数据插入tab_favorite表。三层架构对应的三个类都没有返回值。
3.前端:异步请求route/addFavorite的function内将route_detail.html页面刷新一下。
查询一条线路被收藏次数:
1.改写route/findOen三层架构。在service层增加一个步骤,调用dao层统计tab_favorite表中一条线路被收藏次数的方法,传入rid参数,返回一个int数据。设置route对象的count属性,将route
传到servlet层,再响应给前端。route_detail.html给显示收藏次数那个标签设置动态效果。
作者:
叶振鹏
时间:
2019-5-23 20:56
用自己的话将线路收藏跟取消收藏功能描述出来
查看线路是否被收藏:
1.前端:在route_detail.html获得当前线路的rid,异步请求servlet。请求路径route/isFavorite,参数传递rid,将来返回boolean的json。
2.三层架构:servlet层获得rid参数,再从session域中获得user键对应的user对象。判断user是否为空,如果为空uid赋值为0,不为空,则将user对象中的uid属性的值赋值给
uid。将两个参数传递到service层对应的方法。service层将rid转换为Integer类型,将两个参数传入dao层。dao层通过这两个参数到tab_favorite表中查询,结果封装为
Favorite对象返回service层。service层判断Favorite对象是否为空,为空说明该线路没有被该用户收藏,返回false。如果不为空,说明该线路已经被该用户收藏,返回
true。servlet层直接将boolean返回值转换为json返回给前端。
3.前端:如果返回true说明该用户已经收藏该线路,设置点击收藏超链接样式为灰色,弃用。返回false不做处理。
添加线路收藏:
1.前端:给点击收藏按钮添加一个单击事件,function内异步请求usersevlet/findOne,function内获得user对象,判断user是否为空。如果不为空说明登录了,异步请求route/addFavorite
。为空则跳转登录页面。
2.三层架构:servlet层获得参数rid,再从session域中获得user键对应的user对象。判断user是否为空,如果为空直接return结束方法。不为空,则将user对象中的uid属性的值赋值给
uid。将两个参数传递到service层对应的方法。service层调用dao层添加数据方法,将数据插入tab_favorite表。三层架构对应的三个类都没有返回值。
3.前端:异步请求route/addFavorite的function内将route_detail.html页面刷新一下。
查询一条线路被收藏次数:
1.改写route/findOen三层架构。在service层增加一个步骤,调用dao层统计tab_favorite表中一条线路被收藏次数的方法,传入rid参数,返回一个int数据。设置route对象的count属性,将route
传到servlet层,再响应给前端。route_detail.html给显示收藏次数那个标签设置动态效果。
作者:
黄杰南
时间:
2019-5-24 21:19
用自己的话将线路收藏跟取消收藏功能描述出来
线路收藏:
查看线路详情的时候前端有个点击收藏功能组件,当点击收藏时候会异步请求查询用户是否登录,没有登录则跳转到登录界面。登录了发给ajax请求调用route/isFavorite方法判断用户是否收藏过该路线,收藏过则修改其样式,没有收藏过且登录了则点击收藏按钮调用前端addFavorite方法发送ajax请求调用route/addFavorite方法添加数据到数据库中,页面刷新显示收藏次数删除按钮的点击事件。
取消收藏:
当用户再点击一次或者点击取消收藏的时候传递收藏的线路rid到servlet中,判断用户是否登录,登录则调用方法delete删除其收藏的线路信息
作者:
开心的小孩
时间:
2019-5-24 21:40
陈鹏涛
用自己的话将线路收藏跟取消收藏功能描述出来
线路收藏:查看线路详情的时候前端有个点击收藏功能组件,当点击收藏时候会异步请求查询用户是否登录,没有登录则跳转到登录界面。登录了发给ajax请求调用route/isFavorite方法判断用户是否收藏过该路线,收藏过则修改其样式,没有收藏过且登录了则点击收藏按钮调用前端addFavorite方法发送ajax请求调用route/addFavorite方法添加数据到数据库中,页面刷新显示收藏次数删除按钮的点击事件。
取消收藏:当用户再点击一次或者点击取消收藏的时候传递收藏的线路rid到servlet中,判断用户是否登录,登录则调用方法delete删除其收藏的线路信息。
作者:
卢勇炜
时间:
2019-5-27 08:41
线路详情展示
1.在route_list.html页面的查看详情绑定点击事件,绑定对应路线的rid跳转到route_detail.html页面
2.route_detail.html页面加载,就会发送异步请求,将rid传递给RouteServlet,RouteServlet再调用RouteServiceImpl中的findDetail(rid)方法,将返回的Route对象转换为json,发送给前端
3.RouteServiceImpl中创建Route对象,并调用RouteDaoImpl中的findRoute(rid)方法,查询tab_route表路线的信息;调用RouteDaoImpl中的findRouteIm()方法根据findRoute()方法查询出的Route对象的rid,查询tab_route_img表中对应的路线图片;调用RouteDaoImpl中的findSeller()方法根据findRoute()方法查询出的Route对象的sid,查询tab_seller表中对应的商家,对route对象进行赋值,将Route对象返回给RouteServlet
4.route_detail.html页面根据返回的json格式的Route对象,展示路线详情
作者:
chenopen
时间:
2019-5-29 16:30
陈开明:
路线收藏
前端页面:
○1在 route_detail.html页面加载完成后,获取rid参数。
○2利用异步请求ajax技术,将参数rid发送给服务器,服务器返回用户是否收藏了此条路线。
○3如果用户收藏了该路线,则将该页面上的“点击收藏”按钮设置为不可点击,样式也置灰。若用户没有收藏,则不处理。
后端处理:
○1servlet层:
1. 获取路线rid参数。
2. 获取当前登录的用户user对象。
3. 创建FavoriteService对象,调用isFavorite方法,返回boolean值。
4. 将返回的值封装为json对象,传递给浏览器。
○2service层:
1. 创建FavoriteDao对象,重写isFavorite方法。
2. 调用findByRidAndUid方法,返回用户是否收藏的boolean值
○3dao层:
1. 定义findByRidAndUid方法,通过查询数据库,判断用户是否收藏,返回Favorite对象。
○3dao层:
2. 定义两个方法,一个是findTotalCount,通过cid和rname查询这类的旅游线路总共有多少条。注意查询的条件可以是只有cid,或只有rname,或一个都没有。
3. 一个是pageQuery方法,返回这类全部路线的信息集合,查询条件同上,参数个数是不定的,所以需要创建一个可变参数列表,将参数添加进去再转回数组,将数组作为可变参数,传递给Query查询。
点击收藏
前端页面:
○1在“点击收藏”按钮上面,绑定单击事件。
○2在事件函数内部,先获取rid参数。
○3利用异步请求ajax技术,先发送请求给服务器端,判断用户是否登陆,用户如果没有登陆,则跳转到登陆页面,让用户先登陆。
○4如果用户已登陆,则再次发送ajax请求,传送rid参数,服务器返回数据后,页面刷新。
后端处理:
○1servlet层:
1. 获取前端传递的rid参数。
2. 判断用户是否登陆,如果已登陆,则调用favoriteService.addFavorite方法。
○2service层:
1. 创建FavoriteDao对象,重写addFavorite方法。
2. 调用favoriteDao.addFavorite方法。
○3dao层:
1. 创建FavoriteDaoImpl类,通过rid,uid增加收藏信息到数据库。
作者:
管文祥
时间:
2019-5-31 15:49
用自己的话将线路收藏跟取消收藏功能描述出来
点击收藏:
(1)在收藏按键绑定一个点击事件,点击触发会从UserServlet中获取user对象,route_detail.html页面根据返回的user对象是否为空,如果不为空则访问FavoriteServlet传递rid进行收藏,如果为空则跳转到登录页面让用户去登录
(2)FavoriteServlet获取前端传递rid和获取session域中的user对象,判断user是否为空,不为空则获取用户的uid,并调用FavoriteServiceImpl中的addFavorite(rid,uid)方法进行添加收藏
(3)FavoriteServiceImpl中调用FavoriteDaoImpl的addFavorite(rid,uid)方法,在tab_favorite表插入一条收藏记录
取消收藏:
在取消收藏绑定单击事件,点击触发获取session域中的user对象,如果不为空,查询tab_favorite表中是否有收藏记录,有,在dao层删除收藏记录即可
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2