欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

黑马旅游网之黑马精选

程序员文章站 2024-03-06 10:49:01
...

黑马旅游网之黑马精选

,是本次项目实战的指定扩展功能之一,其中分为人气精选,最新旅游,以及主题旅游.

  • 人气旅游

     个人认为这个是三个功能中较为难的一个,主要牵涉两张表,一张favorite,一张是route.其中favorite记录的是用户收藏的线路id以及用户id.这张表提供的数据使得我们可以统计出对应的线路有多少收藏者.(数据需要自己添加)可以先选择在dao层查询favorite表获得rid,再在service层通过循环查询route表,获得单个路线的route对象封装成route集合.这里提供一种一步到位的方法.
    

    黑马旅游网之黑马精选
    直接使用右外连接同时查询两张表,再把结果封装到RoutejavaBean里,直接返回List集合.再通过servlet转换为Json写回页面.

  • 最新旅游
    最新旅游其实没有表面上看起来那么神奇,其实就牵涉到一张表,route,这张表上记录有route的全部信息,其中我们需要关注的就是上架时间,上架时间越晚,就是越新,所以我们只需要在数据库中查询每条线路的上架时间就行了,再做一个降序排列,再取四个就是我们需要的结果.黑马旅游网之黑马精选

  • 主题旅游
    主题旅游如果你仔细看过Route应该不难想到.其实每条路线在上架时都有个标识:isThemeTour,是必须输入的条件.我们就可以利用这个去数据库中查询我们想要的数据了.黑马旅游网之黑马精选
    这里我建议大家使用随机数生成一个rid,然后取这个id我们得到的结果就会和其他人不一样,这也算是一个比较好的想法.借用这个随机数的想法,我们还可以把下面的国内游和*游也写成动态的,我就不放SQL,大家自己动手试一下.

前端页面的书写
前端页面是我最苦恼的一部分,因为技术太差,所以总是没有办法正确的取出我需要的数据,后来在同学的帮助下,我总算成功取出我后台返回数据,一举完成三个页面数据的显示.
首先使用的是JQuery加载页面完成方法,主页第一页使用的就是人气搜索,所以直接使用Ajax发送异步请求到服务器,调用相应查询人气旅游的方法,不需要传递任何参数,在回调函数中,可以直接选择用id选择器调用JQuery的Append方法追加循环拼接的
标签以及内容.护着使用JQuery中的html方法,将拼接的字符串写入对应的div中
黑马旅游网之黑马精选
因为数据库中的图片尺寸与页面上的不同所以最好指定图片的尺寸,这样看上去更加符合页面需求

.因为时间紧迫,很多东西没有继续优化,所以暂时没有需要说的了,有时间再更.感谢.