淘淘商城第51讲——从商城首页跳转到搜索页面

通过上文的学习,我们已经学会了如何把商品数据导入到索引库中,本文我将会教大家如何从淘淘商城首页跳转到搜索页面。

我们要访问淘淘商城首页就得先启动Redis服务,大家根据自己使用的情况来启动,使用的是单机版那就启动单机版服务器,使用的是集群那就启动集群版服务器。而且在启动taotao-portal-web工程之前,我们还得启动taotao-content工程,然后我们便可访问淘淘商城首页了,如下图所示。
在这里插入图片描述
该首页对应的后台代码如下图所示,在index.jsp页面当中是没有搜索相关代码的,那么这部分代码在哪儿呢?其实是在commons目录下的header.jsp页面当中。
在这里插入图片描述
header.jsp页面的内容如下图所示,可以看到在搜索框中输入搜索关键词之后,回车或者点击搜索按钮即可触发search方法,但我们发现在整个header.jsp页面当中并没有search这个方法,那么该方法是在哪儿定义的呢?其实它是在页面引用的base-v1.js文件当中。
在这里插入图片描述
我们打开base-v1.js这个文件,便可以发现在该文件中就有search这个方法,如下图所示,它指定的访问端口是8082,但我们要把它改成8085,因为8085对应着我们的taotao-search-web工程。
在这里插入图片描述
接下来我们便使用tomcat插件启动的方式来启动taotao-search-web工程,方法是在工程上右键,在其下拉列表中选中Run As,继续再在其下拉列表中点击Maven build...,如下图所示。
在这里插入图片描述
这时,你便会看到如下图所示的窗口了,然后在该窗口的Goals一栏中输入clean tomcat7:run,接着依次点击ApplyRun按钮之后,就能启动该工程了。
在这里插入图片描述
该工程成功启动之后,我们在淘淘商城首页的搜索框中输入手机这样的关键字进行搜索,这时我们便会看到如下图所示的界面,可以看到已经正确跳转到搜索系统工程中了,只是我们的搜索功能还没完成,因此现在访问会报404错误。
在这里插入图片描述
下面我们来分析一下如何来实现搜索这个功能,在分析之前,我们得把搜索系统工程所需的静态资源放到该工程当中。这个时候,你可能就要问了,这些静态资源从哪儿可以获取到呢?你可以从我给出的百度网盘链接地址中下载。

链接:https://pan.baidu.com/s/13xi_h1eQUauWbS7MdOktVA,提取码:hfh2

下载下来之后,将其导入到搜索系统工程当中,如下图所示。
在这里插入图片描述
在淘淘商城这个项目中,我们的商品搜索页面只需进行查询和分页即可,现在也不用像京东做的那么复杂,也就是说我们不用实现诸如过滤、排序等功能了,而只实现分页查询功能,正如下图所示的那样,练习嘛,不丢人!
这里写图片描述
我们再去到搜索系统工程中的search.jsp页面查看一下其中的内容,可以看到搜索页面由总页数(即totalPages)和搜索出来的内容列表(即itemList)组成,而且还有可能会用到查询总总记录数,理所应当的,所有这些东东我们应该封装到一个pojo当中去。
在这里插入图片描述
由于搜索服务和搜索系统这两个工程都需要用到这个pojo,因此我们还是把这个pojo放到taotao-common工程中比较合适,如下图所示。
在这里插入图片描述
注意该类一定要实现序列化接口!! 为方便大家复制,现将该类的代码贴出,如下所示。

package com.taotao.common.pojo;

import java.io.Serializable;
import java.util.List;

/**
 * 商品搜索的分页信息结果对象
 * @author liayun
 *
 */
public class SearchResult implements Serializable {
	
	private List<SearchItem> itemList;// 搜索结果列表
	private long recordCount;// 总记录数
	private long pageCount;// 总页数
	public List<SearchItem> getItemList() {
		return itemList;
	}
	public void setItemList(List<SearchItem> itemList) {
		this.itemList = itemList;
	}
	public long getRecordCount() {
		return recordCount;
	}
	public void setRecordCount(long recordCount) {
		this.recordCount = recordCount;
	}
	public long getPageCount() {
		return pageCount;
	}
	public void setPageCount(long pageCount) {
		this.pageCount = pageCount;
	}

}
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李阿昀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值