黑马旅游网之黑马精选

黑马旅游网之黑马精选

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

  • 人气旅游

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

    人气搜索SQL
    直接使用右外连接同时查询两张表,再把结果封装到RoutejavaBean里,直接返回List集合.再通过servlet转换为Json写回页面.

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

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

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

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

你可能感兴趣的:(黑马旅游网之黑马精选)