淘淘商城第2讲——使用maven搭建后台管理系统工程

技术选型和开发环境

技术选型

你是不是很好奇,淘淘商城这个项目到底用到了哪些技术啊?不仅你,说实话我也很好奇,因为一旦知道了这些技术,就可以针对某个你不熟悉的技术做针对性学习,以扩大你的技术体系,积累这些技术点,让你在以后的竞争中脱颖而出。
在这里插入图片描述

开发工具版本和环境

这里,我统一规范一下淘淘商城的开发工具版本和环境,如下图所示。
在这里插入图片描述

后台管理系统工程的搭建

使用maven管理工程所带来的好处

关于使用maven的好处,其实有很多,不妨看看我的这篇文章——《maven快速入门第一讲——你得知道maven是个啥?》。不过,这里,我也粗略总结了如下四种好处。
在这里插入图片描述

后台管理系统工程搭建分析

maven中常见的打包方式,想必你应该很熟悉了,这里不妨再回顾一下。
在这里插入图片描述
后台管理系统工程使用maven项目管理工具来创建,而且工程之间的依赖关系如下图所示。
在这里插入图片描述

工程搭建

上面,我已经说了,我们使用的开发工具是Eclipse Mars.2,所以,在搭建工程之前,我们还需要在Eclispe中配置一下maven,至于如何配置,可以参考我的这篇文章——《maven快速入门第五讲——在eclispe中配置maven,然后再使用maven创建一个web项目》。我是经此一配置,将本地仓库放到了D盘的repository目录下。

搭建taotao-parent工程

在搭建该工程之前,我们可以在Eclispe中提前创建一个名为taotao的Working Set,继而我们就可以在该工作组里面放置多个工程了,以便方便地去管理我们自己所创建的工程。
在这里插入图片描述
下面我就使用maven来搭建taotao-parent这个父工程,taotao-parent本身就是一个父工程,所以它并不需要继承其他的工程,我们主要在该父工程中定义依赖jar包的版本和maven插件的版本信息。温馨提示:在此项目实战中,我使用的是apache-maven-3.6.2这个版本的maven。

我们该如何来搭建该父工程呢?很简单,按照这样的步骤即可。第一步,右键名为taotao的Working Set,然后在下拉列表选中New,接着再选中Other...,如下图所示。
在这里插入图片描述
第二步,弹出一个窗口,在输入框中输入maven,并选择Maven Project,如下图所示。
在这里插入图片描述
第三步,点击Next按钮,勾选Create a simple project复选框,如果你不打上这个勾,那么它会让你选择一个骨架,但骨架里面是没有pom这个模板的。
在这里插入图片描述
第四步,点击Next按钮,出现如下窗口,在该窗口中定义maven工程的坐标,如下图所示。
这里写图片描述
第五步,点击Finish按钮,可发现新创建的taotao-parent工程如下图所示。
在这里插入图片描述
可以看出这个pom文件内容很简单,主要包含当前这个工程的坐标以及其打包方式。现在我们需要在这个父工程里面管理jar包的版本号,怎样管理jar包的版本号呢?那就需要在pom文件中进行配置了。

下面我提供了一个比较全面的pom文件,文件内容可能有点多,初次接触这种商城大项目的人是不可能一蹰而就就能写完整的,肯定是在编写项目的过程中,需要用到哪个jar包,就在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>
	<groupId>com.taotao</groupId>
	<artifactId>taotao-parent</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>pom</packaging>

	<!-- 集中定义依赖版本号 -->
	<properties>
		<junit.version>4.12</junit.version>
		<spring.version>4.2.4.RELEASE</spring.version>
		<mybatis.version>3.2.8</mybatis.version>
		<mybatis.spring.version>1.2.2</mybatis.spring.version>
		<mybatis.paginator.version>1.2.15</mybatis.paginator.version>
		<mysql.version>5.1.32</mysql.version>
		<slf4j.version>1.6.4</slf4j.version>
		<jackson.version>2.4.2</jackson.version>
		<druid.version>1.0.9</druid.version>
		<httpclient.version>4.3.5</httpclient.version>
		<jstl.version>1.2</jstl.version>
		<servlet-api.version>2.5</servlet-api.version>
		<jsp-api.version>2.0</jsp-api.version>
		<joda-time.version>2.5</joda-time.version>
		<commons-lang3.version>3.3.2</commons-lang3.version>
		<commons-io.version>1.3.2</commons-io.version>
		<commons-net.version>3.3</commons-net.version>
		<pagehelper.version>3.4.2-fix</pagehelper.version>
		<jsqlparser.version>0.9.1</jsqlparser.version>
		<commons-fileupload.version>1.3.1</commons-fileupload.version>
		<jedis.version>2.7.2</jedis.version>
		<solrj.version>8.4.0</solrj.version>
		<dubbo.version>2.5.3</dubbo.version>
		<zookeeper.version>3.4.14</zookeeper.version>
		<zkclient.version>0.1</zkclient.version>
		<activemq.version>5.13.0</activemq.version>
		<freemarker.version>2.3.23</freemarker.version>
		<quartz.version>2.2.2</quartz.version>
	</properties>
	<!-- <dependencyManagement>就是管理版本的标签,其下的<dependencies>标签只是版本的管理,并不真正依赖jar包 -->
	<dependencyManagement>
		<dependencies>
			<!-- 时间操作组件 -->
			<dependency>
				<groupId>joda-time</groupId>
				<artifactId>joda-time</artifactId>
				<version>${joda-time.version}</version>
			</dependency>
			<!-- Apache工具组件 -->
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-lang3</artifactId>
				<version>${commons-lang3.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-io</artifactId>
				<version>${commons-io.version}</version>
			</dependency>
			<dependency>
				<groupId>commons-net</groupId>
				<artifactId>commons-net</artifactId>
				<version>${commons-net.version}</version>
			</dependency>
			<!-- Jackson JSON处理工具包 -->
			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-databind</artifactId>
				<version>${jackson.version}</version>
			</dependency>
			<!-- HttpClient(HTTP协议的客户端,模拟浏览器用的,实质上就是使用Java API模拟浏览器向服务器发送请求,然后再回送响应。浏览器有的功能,HttpClient也有) -->
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpclient</artifactId>
				<version>${httpclient.version}</version>
			</dependency>
			<!-- quartz任务调度框架(该项目中暂时没使用) -->
			<dependency>
				<groupId>org.quartz-scheduler</groupId>
				<artifactId>quartz</artifactId>
				<version>${quartz.version}</version>
			</dependency>
			<!-- 单元测试 -->
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${junit.version}</version>
				<scope>test</scope>
			</dependency>
			<!-- 日志处理 -->
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-log4j12</artifactId>
				<version>${slf4j.version}</version>
			</dependency>
			<!-- MyBatis -->
			<dependency>
				<groupId>org.mybatis</groupId>
				<artifactId>mybatis</artifactId>
				<version>${mybatis.version}</version>
			</dependency>
			<dependency>
				<groupId>org.mybatis</groupId>
				<artifactId>mybatis-spring</artifactId>
				<version>${mybatis.spring.version}</version>
			</dependency>
			<!-- MyBatis与分页相关的jar包 -->
			<dependency>
				<groupId>com.github.miemiedev</groupId>
				<artifactId>mybatis-paginator</artifactId>
				<version>${mybatis.paginator.version}</version>
			</dependency>
			<dependency>
				<groupId>com.github.pagehelper</groupId>
				<artifactId>pagehelper</artifactId>
				<version>${pagehelper.version}</version>
			</dependency>
			<!-- MySQL数据库驱动jar包 -->
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<version>${mysql.version}</version>
			</dependency>
			<!-- 连接池 -->
			<dependency>
				<groupId>com.alibaba</groupId>
				<artifactId>druid</artifactId>
				<version>${druid.version}</version>
			</dependency>
			<!-- Spring -->
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-context</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-beans</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-webmvc</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-jdbc</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-aspects</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-jms</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-context-support</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<!-- JSP相关 -->
			<dependency>
				<groupId>jstl</groupId>
				<artifactId>jstl</artifactId>
				<version>${jstl.version}</version>
			</dependency>
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>servlet-api</artifactId>
				<version>${servlet-api.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>jsp-api</artifactId>
				<version>${jsp-api.version}</version>
				<scope>provided</scope>
			</dependency>
			<!-- 文件上传组件 -->
			<dependency>
				<groupId>commons-fileupload</groupId>
				<artifactId>commons-fileupload</artifactId>
				<version>${commons-fileupload.version}</version>
			</dependency>
			<!-- Redis客户端 -->
			<dependency>
				<groupId>redis.clients</groupId>
				<artifactId>jedis</artifactId>
				<version>${jedis.version}</version>
			</dependency>
			<!-- Solr客户端 -->
			<dependency>
				<groupId>org.apache.solr</groupId>
				<artifactId>solr-solrj</artifactId>
				<version>${solrj.version}</version>
			</dependency>
			<!-- Dubbo相关 -->
			<dependency>
				<groupId>com.alibaba</groupId>
				<artifactId>dubbo</artifactId>
				<version>${dubbo.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.zookeeper</groupId>
				<artifactId>zookeeper</artifactId>
				<version>${zookeeper.version}</version>
			</dependency>
			<dependency>
				<groupId>com.github.sgroschupf</groupId>
				<artifactId>zkclient</artifactId>
				<version>${zkclient.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.activemq</groupId>
				<artifactId>activemq-all</artifactId>
				<version>${activemq.version}</version>
			</dependency>
			<dependency>
				<groupId>org.freemarker</groupId>
				<artifactId>freemarker</artifactId>
				<version>${freemarker.version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<finalName>${project.artifactId}</finalName>
		<plugins>
			<!-- 资源文件拷贝插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>2.7</version>
				<configuration>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<!-- java编译插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.5.1</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
		</plugins>
		<!-- 插件版本的管理。注意:<pluginManagement>标签只是控制插件的版本,如果真正想要使用,需要在子工程中再配置这个插件的坐标 -->
		<pluginManagement>
			<plugins>
				<!-- 配置Tomcat7插件 -->
				<plugin>
					<groupId>org.apache.tomcat.maven</groupId>
					<artifactId>tomcat7-maven-plugin</artifactId>
					<version>2.2</version>
				</plugin>

				<!-- 配置打包时跳过测试(一般打包的时候,会使用Maven install命令,如果你写了一些测试类,
					  它会执行这个测试类的,但是我们不希望它们执行,所以就需要有这样一个插件),首次配置使用的时候会自动联网进行下载 -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>2.12.4</version>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
</project>

大家一看是不是傻眼了,我靠!这么多内容,估计大家心都凉了一截。这可能是大家对使用maven构建工程还感到很陌生,说实话,我本人第一次使用maven来构建工程时,我也感到很难受,不抱怨了,要是你对maven项目管理工具感到非常陌生,那必然会不明了以上pom文件中的内容,就算是你懂得如何使用它,毕竟还是首次用在这样一个比较大的项目中,心里难免有一点犯嘀咕,可能你还不明了以上pom文件中的某些内容,比如你有可能对pom文件中的如下内容感到陌生。
在这里插入图片描述

搭建taotao-common工程

taotao-common工程主要存放通用的工具类和pojo,它本身是一个子工程,所以它需要继承父工程,并且它的打包方式是jar。注意,taotao-common工程并不是一个独立的模块。

我们该如何来搭建该子工程呢?很简单,按照这样的步骤即可。第一步,右键名为taotao的Working Set,然后在下拉列表选中New,接着再选中Other...,如下图所示。
在这里插入图片描述
第二步,弹出一个窗口,在输入框中输入maven,并选择Maven Project,如下:
在这里插入图片描述
第三步,点击Next按钮,勾选Create a simple project复选框,如果你不打上这个勾,那么它会让你选择一个骨架,但骨架里面是没有pom这个模板的。
在这里插入图片描述
第四步,点击Next按钮,出现如下窗口,在该窗口中定义maven工程的坐标,如下图所示。
这里写图片描述
第五步,点击Finish按钮,可发现新创建的taotao-common工程如下图所示。
在这里插入图片描述
可以看到新建的taotao-common工程的JRE的版本默认是Java 8,这是由于我们在taotao-parent父工程中定义了JDK的编译版本,taotao-parent父工程关于JDK编译版本的依赖配置如下:
在这里插入图片描述
从taotao-common工程的pom文件中可以清楚地看见<groupId>com.taotao</groupId><version>0.0.1-SNAPSHOT</version>下面有黄色的下划线,这意味着可以删掉它们,因为我们在父工程里面已经定义了组织名和版本号了,当然了你不删除掉也是没关系的。
在这里插入图片描述
接下来,我们来给taotao-common工程的pom文件添加依赖,common顾名思义,就是大家都会调用的工具类,就像公共组件。我们从taotao-parent工程中复制公共组件的依赖到taotao-common工程的pom文件当中,最后,taotao-common工程的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-common</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	
	<!-- 下面引入的是jar包真正的依赖 -->
	<dependencies>
		<!-- 时间操作组件 -->
		<dependency>
			<groupId>joda-time</groupId>
			<artifactId>joda-time</artifactId>
		</dependency>
		<!-- Apache工具组件 -->
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-io</artifactId>
		</dependency>
		<dependency>
			<groupId>commons-net</groupId>
			<artifactId>commons-net</artifactId>
		</dependency>
		<!-- Jackson JSON处理工具包 -->
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
		</dependency>
		<!-- HttpClient(HTTP协议的客户端,模拟浏览器用的) -->
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
		</dependency>
		<!-- quartz任务调度框架(该项目中暂时没使用) -->
		<dependency>
			<groupId>org.quartz-scheduler</groupId>
			<artifactId>quartz</artifactId>
		</dependency>
		<!-- 单元测试 -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>
		<!-- 日志处理 -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
		</dependency>
	</dependencies>
</project>

温馨提示:由于taotao-parent工程里面已经统一管理版本号了,因此我们在taotao-common工程中就不用再定义组件的版本了。保存后,maven会自动下载相关依赖。

搭建taotao-manager工程

现在开始我们搭建taotao-manager工程,它是后台的服务层工程。这个工程里面需要很多模块,我们须把这些模块单独拆分,所以它应该是一个聚合工程。

我们该如何来搭建该工程呢?很简单,按照这样的步骤即可。第一步,右键名为taotao的Working Set,然后在下拉列表选中New,接着再选中Other...,如下图所示。
在这里插入图片描述
第二步,弹出一个窗口,在输入框中输入maven,并选择Maven Project,如下:
在这里插入图片描述
第三步,点击Next按钮,勾选Create a simple project复选框,如果你不打上这个勾,那么它会让你选择一个骨架,但骨架里面是没有pom这个模板的。
在这里插入图片描述
第四步,点击Next按钮,出现如下窗口,在该窗口中定义maven工程的坐标,如下图所示。
这里写图片描述
第五步,点击Finish按钮,可发现新创建的taotao-manager工程如下图所示。
在这里插入图片描述
由于taotao-manager工程有可能会依赖taotao-common工程,所以我们应在taotao-manager工程的pom文件中添加对taotao-common工程的依赖,如下图所示。
在这里插入图片描述
下面我们再来添加属于该聚合工程的四个模块。

搭建taotao-manager-pojo模块

这里我们来搭建taotao-manager-pojo这个模块,按照这样的步骤搭建即可。第一步,在taotao-manager工程上右键,然后在右键菜单中选择New,接着再选中Other...,如下图所示。
在这里插入图片描述
第二步,弹出一个窗口,在输入框中输入maven,并选择Maven Module,然后点击Next按钮。
在这里插入图片描述
第三步,勾选Create a simple project前面的复选框,在Module Name一栏中输入taotao-manager-pojo,然后点击Next按钮。
在这里插入图片描述
第四步,在弹出的窗口中不用做任何编辑,直接点击Finish按钮即可。
在这里插入图片描述
这样就新建了一个taotao-manager-pojo的模块,试想一下taotao-manager-pojo这个模块是不需要依赖其他jar包的,所以pom文件不用做任何修改。细心的同学可能已经注意到了,在taotao-manager工程下面的taotao-manager-pojo这个工程与taotao-manager工程同级的taotao-manager-pojo工程的工程名是一样的,其实同名的工程是同一个工程,你删掉其中一个,另一个也会跟着消失。这里就不做演示了。
在这里插入图片描述
下面再来新建taotao-manager-dao这个模块。

搭建taotao-manager-dao模块

搭建taotao-manager-dao模块的步骤同上面搭建taotao-manager-pojo模块是一样的,只不过是模块名字改为taotao-manager-dao而已。注意,该模块的打包方式是jar。

搭建完taotao-manager-dao模块之后,打开其pom文件,并在其中添加对taotao-manager-pojo的依赖,另外由于dao层需要MyBatis、MySQL、分页、连接池等相关的jar包,因此我们需要在该pom文件中添加对这些jar包的依赖。这样,taotao-manager-dao模块的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-manager</artifactId>
		<version>0.0.1-SNAPSHOT</version>
	</parent>
	<artifactId>taotao-manager-dao</artifactId>

	<dependencies>
		<!-- 依赖taotao-manager-pojo -->
		<dependency>
			<groupId>com.taotao</groupId>
			<artifactId>taotao-manager-pojo</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>
		<!-- MyBatis -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
		</dependency>
		<!-- MyBatis与分页相关的jar包 -->
		<dependency>
			<groupId>com.github.miemiedev</groupId>
			<artifactId>mybatis-paginator</artifactId>
		</dependency>
		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper</artifactId>
		</dependency>
		<!-- MySQL数据库驱动jar包 -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
		</dependency>
		<!-- 连接池 -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
		</dependency>
	</dependencies>
</project>
搭建taotao-manager-interface模块

现在我们来搭建taotao-manager-interface模块,搭建步骤跟taotao-manager-pojo模块的搭建是一样的,只是模块名字不同而已。注意,该模块的打包方式是jar。

搭建完之后,我们修改下它的pom文件,因为该模块是要用到taotao-manager-pojo模块的。
在这里插入图片描述

搭建taotao-manager-service模块

最后,我们来搭建taotao-manager-service模块,该模块是个war工程,既然taotao-manager工程是个聚合工程,故可以聚合无数个模块,但是总归要靠一个war工程来将所有的模块聚合起来,因此我们才需要新建一个war工程,将来用于部署使用。

我们该如何来搭建该模块呢?很简单,按照这样的步骤即可。第一步,在taotao-manager工程上右键,然后在右键菜单中选择New,接着再选中Other...,如下图所示。
在这里插入图片描述
第二步,弹出一个窗口,在输入框中输入maven,并选择Maven Module,然后点击Next按钮。
在这里插入图片描述
第三步,勾选Create a simple project前面的复选框,在Module Name一栏中输入taotao-manager-service,然后点击Next按钮。
在这里插入图片描述
第四步,弹出如下窗口,接着我们在Packaging一栏中选择war,紧接着点击Finish按钮。
在这里插入图片描述
搭建完taotao-manager-service工程之后,我们会发现这个工程会报错,如下图所示。出现这个错误是因为我们的工程中缺少web.xml文件造成的。
在这里插入图片描述
下面我们来创建这个web.xml文件,当然了,你可以手动创建,但是最好直接利用Eclipse来帮我们创建该文件,一旦创建好了,该文件中的内容也会帮我们自己自动生成,而且我们只须按照下图所示的步骤进行操作即可。
在这里插入图片描述
打开该文件,你便可以看到该文件中的内容。
在这里插入图片描述
添加完web.xml文件之后,工程便不报错了。现在我们开始添加该模块的依赖,我们知道,服务层肯定要调用dao层,因此我们需要依赖taotao-manager-dao,除此之外,服务层还要用到Spring框架,因此还需要添加与Spring框架相关的jar包,最终,该模块的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-manager</artifactId>
		<version>0.0.1-SNAPSHOT</version>
	</parent>
	<artifactId>taotao-manager-service</artifactId>
	<packaging>war</packaging>
	
	<dependencies>
		<dependency>
			<groupId>com.taotao</groupId>
			<artifactId>taotao-manager-dao</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>
		<dependency>
			<groupId>com.taotao</groupId>
			<artifactId>taotao-manager-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>
	</dependencies>
</project>

注意,taotao-manager-service这个工程除了要依赖taotao-manager-dao工程之外,还要依赖taotao-manager-interface工程,很多小伙伴们都忘记了这一点。

搭建taotao-manager-web工程

搭建完了taotao-manager服务层工程,下面我们来搭建taotao-manager-web表现层工程。该如何来搭建该工程呢?很简单,按照这样的步骤即可。第一步,右键名为taotao的Working Set,然后在下拉列表选中New,接着再选中Other...,如下图所示。
在这里插入图片描述
第二步,弹出如下一个窗口,在输入框中输入maven,并选择Maven Project,如下:
在这里插入图片描述
第三步,点击Next按钮,勾选Create a simple project复选框,如果你不打上这个勾,那么它会让你选择一个骨架,但骨架里面是没有pom这个模板的。
在这里插入图片描述
第四步,点击Next按钮,出现如下窗口,在该窗口中定义maven工程的坐标,如下图所示。
这里写图片描述
第五步,点击Finish按钮,taotao-manager-web工程就创建好了,但是新建的该工程由于缺少web.xml文件而报错。

解决方法是直接利用Eclipse来帮我们创建该文件,而且我们只须按照下图所示的步骤进行操作即可。
在这里插入图片描述
下面我们来配置pom文件的依赖,表现层需要Spring相关组件,并且还需要jsp,所以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-manager-web</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>

	<dependencies>
		<!-- 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>
	</dependencies>
</project>

至此,我们终于把所有的maven工程都搭建完了,真是不简单呐!这一刻特别值得纪念!!!

  • 32
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 36
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

李阿昀

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

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

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

打赏作者

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

抵扣说明:

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

余额充值