淘淘商城第44讲——搭建搜索系统工程

xiaoxiao2021-02-28  108

上文我们一起搭建了搜索服务工程,本文我就将带领大家一起来搭建搜索系统这个表现层工程。下面我们就来新建一个taotao-search-web工程,该工程可参考taotao-portal-web工程来搭建哟!

第一步,右键名为taotao的Working Set,然后在下拉列表选中New,接着再点击Other...,如下图所示。 第二步,这时会弹出如下一个窗口,然后在该窗口的输入框中输入maven,并选择Maven Project,接着点击Next按钮。 第三步,在弹出的如下窗口中勾选上Create a simple project复选框,如果你不打上这个勾,那么它会让你选择一个骨架,但骨架里面是没有pom这个模板的。然后再点击Next按钮。 第四步,这时会出现如下窗口,我们要在该窗口中定义maven工程的坐标,如下图所示。 温馨提示:taotao-search-web工程的打包方式是war,且须依赖父工程。

第五步,点击Finish按钮,taotao-search-web工程就创建好了,但是新建的web工程由于缺少web.xml文件而报错,解决这个错误最好的方法是直接利用Eclipse来帮我们创建该文件,而且我们只须按照下图所示的步骤进行操作即可。 taotao-search-web工程搭建好了之后,我们还要配置一下该工程的pom文件,而且我们可参考taotao-portal-web工程的pom文件来配置,仅仅只需要稍作修改即可,所做的修改有两处,一是将依赖的interface修改为taotao-search-interface,二是将最下面的tomcat插件端口号配置为8085,修改之后的pom文件的内容如下所示。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.taotao</groupId> <artifactId>taotao-parent</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <groupId>com.taotao</groupId> <artifactId>taotao-search-web</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <dependencies> <!-- 依赖taotao-search-interface --> <dependency> <groupId>com.taotao</groupId> <artifactId>taotao-search-interface</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> </dependency> <!-- JSP相关 --> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <scope>provided</scope> </dependency> <!-- 与Dubbo相关 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <!-- 排除依赖 --> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </exclusion> <exclusion> <groupId>org.jboss.netty</groupId> <artifactId>netty</artifactId> </exclusion> </exclusions> </dependency> <!-- Zookeeper的客户端,你要连接Zookeeper,需要把以下两个jar包加进来 --> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> </dependencies> <build> <plugins> <!-- 配置tomcat7插件 --> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <configuration> <port>8085</port> <path>/</path> </configuration> </plugin> </plugins> </build> </project>

紧接着我们来配置一下资源文件,我们亦可参考taotao-portal-web工程,将src/main/resources目录下的两个文件夹拷贝过来。先看resource目录下的resource.properties文件,该文件是用来配置常量的,目前我们还没有写业务代码,所以让该文件的内容暂时保持为空即可。 再来看下spring目录下的springmvc.xml文件,我们需要修改该文件,即修改要扫描的包和引用Dubbo服务这两项配置,要扫描的com.taotao.search.controller包是我们需要新建的,如下图所示。 为了大家方便复制,现把该文件的内容贴出,如下所示。

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd"> <!-- 加载外部属性文件 --> <context:property-placeholder location="classpath:resource/*.properties" /> <context:component-scan base-package="com.taotao.search.controller" /> <mvc:annotation-driven /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean> <!-- 配置静态资源映射 --> <!-- 指定/WEB-INF/js/和/WEB-INF/css/下的所有的静态资源(包括子目录下的静态资源)都不被拦截 --> <!-- mapping=/js/**:表示访问静态资源的路径的形式,/js/**表示可以访问/js/下的静态资源或者所有的子目录下的静态资源 --> <!-- <mvc:resources location="/WEB-INF/js/" mapping="/js/**"/> <mvc:resources location="/WEB-INF/css/" mapping="/css/**"/> --> <!-- 引用Dubbo服务 --> <dubbo:application name="taotao-search-web"/> <dubbo:registry protocol="zookeeper" address="192.168.81.131:2181"/> <!-- <dubbo:reference interface="com.taotao.content.service.ContentService" id="contentService" /> --> </beans>

最后来配置一下web.xml文件,我们依然可参考taotao-portal-web工程的web.xml文件来进行配置,且仅仅只需稍作修改即可。我们需要修改的地方是名字,即把原来所有的taotao-portal-web都更改为taotao-search-web(可以使用全文替换)。

至此,搜索系统便搭建完了。

转载请注明原文地址: https://www.6miu.com/read-21185.html

最新回复(0)