任务十 实现首页的页面效果
学习目标
➢ 了解项目二中首页要实现的页面效果。
➢ 根据首页的数据访问需求设计相关的标签。
➢ 实现首页的页面功能。
任务描述
任务一~任务九已经为项目二的功能实现铺好了地基,从任务十开始要为网站实现页面的最终显示效果,本次任务要实现的是首页的页面效果。首页要实现的主要效果是:商品分类展示、要推荐在首页的商品展示、会员快速登录、最新游记的快速浏览等。
任务分析与相关知识
首页主要的功能如图2-10-1所示。
图2-10-1 首页页面功能分析
1)一区是表单,要将搜索条件提交到search.jsp,完成商品的搜索功能。
2)二区是用户区,登录前和登录后会有不同的显示,此区域在用户访问网站的全程相对固定,所以可以设计成一个标签,便于重复使用。
3)三区是商品类型展示区,此区域在用户访问网站的全程相对固定,所以可以设计成一个标签,便于重复使用。
4)四区是首页特有的显示内容——推荐商品显示区域。
5)五区是最新游记浏览,同样该区域在用户访问网站的全程相对固定,所以也可以设计成一个标签。
为了实现首页及整个网站都需要重复使用的页面效果,需要为网站设计几个自定义的标签,分别用来显示用户区效果、商品分类展示效果、最新游记浏览效果;首页包含了快速登录的功能,所以需要添加一个用来判断登录是否成功的Servlet类LoginServet;如果首页登录失败,需要一个msg.jsp显示错误提示信息,综上所述,本次任务要完成的文件见表2-10-1。
表2-10-1 任务清单
任务实施
步骤一 在项目greenbarb2c下添加一个包tags,在tags下添加一个类UserTag.java,该类是自定义标签<mytags:userzone/>的标签解析类,主要实现图2-10-1中二区的功能。请读者结合首页的设计需求完成编码任务。
步骤二 在项目greenbarb2c下的tags包下添加一个类TravelsTag.java,该类是自定义标签<mytags:travels/>的标签解析类,主要实现图2-10-1中五区的功能。请读者结合首页的设计需求完成编码任务。
步骤三 在项目greenbarb2c下的tags包下添加一个类ProductTypeTag.java,该类是自定义标签<mytags:producttype/>的标签解析类,主要实现图2-10-1中四区的功能。请读者结合首页的设计需求完成编码任务。
步骤四 在项目greenbarb2c下添加一个包controllers,在controllers下添加一个Servlet类LoginServlet.java,该类的路径映射和别名都要设置为login,用来实现用户身份的判断,要求把成功登录的用户信息存储在会话中。请读者结合首页的设计需求完成编码任务。
步骤五 在项目greenbarb2c根目录下的WEB-INF文件夹下添加一个标记描述文件mytags.tld,用于将自定义标签与标签解析类对应起来(在后续的任务中还会陆续添加自定义标签类,此文件无需重新创建,只需要在该文件基础上继续添加tag标签就可以了)。请读者结合首页的设计需求完成编码任务。
步骤六 修改web.xml文件(在项目greenbarb2c根目录下的WEB-INF文件夹下),为该XML文件添加如下几行标签(该段标签可以直接添加在标签<web-app>后面)。
代码2-10-1 web.xml添加的部分
步骤七 在项目greenbarb2c根目录下添加msg.jsp,用来在网站运行中显示提示信息,请读者模仿项目一任务四的消息提示页面完成编码任务。
步骤八 在项目greenbarb2c根目录下添加index.jsp,完成首页的整体页面效果,请读者结合首页的设计需求完成编码任务。
步骤九 完成如上步骤,运行网站项目,测试首页的页面效果:登录成功、登录失败、首页推荐商品的浏览、首页最新游记的浏览、首页商品分类的浏览。
自我评价