Eclipse搭建java分布式商城項目

博主也是在學(xué)習(xí),看到一篇博客,自己一邊學(xué)習(xí)沛励,一邊寫下了這篇博客

項目模塊劃分

  • ycshop-parent: 父工程, 其打包方式是 pom炮障, 主要管理 jar 包的版本號目派。 項目中的所有工程都應(yīng)該繼承父工程。
  • ycshop-common: 存放一些通用的工具類胁赢。 其打包方式為 jar企蹭, 被其他的工程所依賴。
  • ycshop-pojo: 存放 pojo 對象智末, 其打包方式是 jar练对。
  • ycshop-manager: 服務(wù)層工程, 又稱之為聚合工程或 pom 工程吹害。
  • ycshop-manager-dto: 數(shù)據(jù)傳輸對象。 (繼承自 tyh-pojo 對象)
  • ycshop-manager-dao: 這是一個獨立的模塊虚青, 其打包方式是 jar它呀。
  • ycshop-manager-interfaces: 打包方式是 jar。
  • ycshop-manager-service: 打包方式是 war棒厘, 主要為了方便部署纵穿。
  • ycshop-manager-web: 表現(xiàn)層工程, 打包方式是 war奢人。

搭建工程

1. 在這里我使用 maven 來搭建 ycshop-parent 這個父工程谓媒。

tyh-parent 本身就是一個父工程,所以它不需要繼承其他的工程何乎, 我們主要在父工程中定義依賴 jar 包的版本和 Maven 插件的版本信息句惯。 注意土辩, 此處我使用的 maven 是 apache-maven-3.3.9 這個版本。
首先點擊【File】 菜單選項抢野, 并在下拉框中選中【New】 拷淘, 接著點擊【Other】!


在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

修改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>cn.yuechenc</groupId>
    <artifactId>ycshop-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>

    <!-- 集中定義依賴版本號 -->
    <properties>
        <junit.version>4.12</junit.version>
        <slf4j.version>1.6.4</slf4j.version>
        <!-- spring 使用 4 版本指孤, spring5 需要 JDK1.8 與 tomcat7 插件有沖突 -->
        <spring.version>4.3.18.RELEASE</spring.version>
        <aspectj.version>1.9.1</aspectj.version>
        <aopalliance.version>1.0</aopalliance.version>
        <mysql-connector.version>5.1.46</mysql-connector.version>
        <c3p0.version>0.9.5.2</c3p0.version>
        <jstl.version>1.2</jstl.version>
        <servlet-api.version>2.5</servlet-api.version>
        <jsp-api.version>2.0</jsp-api.version>
        <jackson.version>2.9.6</jackson.version>
        <fileupload.version>1.3.3</fileupload.version>
        <mybatis.version>3.4.6</mybatis.version>
        <mybatis-spring.version>1.3.1</mybatis-spring.version>
        <pagehelper.version>5.1.2</pagehelper.version>
    </properties>
    <dependencyManagement>
        <dependencies>
            <!-- 單元測試 -->
            <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>
            <!-- spring 相關(guān)依賴包 -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</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>
            <!-- aop 相關(guān) -->
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjrt</artifactId>
                <version>${aspectj.version}</version>
            </dependency>
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjweaver</artifactId>
                <version>${aspectj.version}</version>
            </dependency>
            <dependency>
                <groupId>aopalliance</groupId>
                <artifactId>aopalliance</artifactId>
                <version>${aopalliance.version}</version>
            </dependency>
            <!-- mysql 驅(qū)動 -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql-connector.version}</version>
            </dependency>
            <!-- c3p0 連接池 -->
            <dependency>
                <groupId>com.mchange</groupId>
                <artifactId>c3p0</artifactId>
                <version>${c3p0.version}</version>
            </dependency>
            <!-- jstl -->
            <dependency>
                <groupId>javax.servlet</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>
            <!-- json 相關(guān) -->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <!-- 文件上傳組件 -->
            <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
                <version>${fileupload.version}</version>
            </dependency>
            <!-- mybatis -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>${mybatis.version}</version>
            </dependency>
            <!-- mybatis 與 spring 繼承 -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
                <version>${mybatis-spring.version}</version>
            </dependency>
            <!-- 分頁組件 -->
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper</artifactId>
                <version>${pagehelper.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.2</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <!-- 配置 Tomcat 插件 -->
                <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

</project>

Pom.xml 文件說明:
1启涯、 <dependencyManagement>節(jié)點: 依賴管理娶视, 管理的就是 jar 包的版本號棕所, 它里面并
不是真正的依賴篮愉, 如果你繼承 ycshop-parent 這個工程害捕, 會發(fā)現(xiàn)什么 jar 包也沒有依賴過來伐债。 工
程中用到的所有 jar 包都應(yīng)該在這里有定義虱饿。
2蹋绽、 <scope>provided</scope>屬性: 除了打包時不打包拍霜, 部署時也不會部署昧互; 別的時候
都會全程參與挽铁, 編譯、 測試敞掘、 運行時候都會用到叽掘。 因為我們要把這個 war 包部署到 tomcat
里面去, tomcat 里面都會提供 servlet 和 jsp 的 API玖雁, 如果把它也打包到 war 包里面更扁, 可能會
有沖突。
3赫冬、 <pluginManagement>節(jié)點: pluginManagemen 也是管理插件的版本浓镜, 這里面并不是
對插件實際的依賴, 而只是管理插件的版本劲厌。

2. 搭建 ycshop-common 工程

ycshop-common 工程主要存放通用的工具類膛薛, 它本身是一個子工程, 所以它需要繼承父工
程补鼻, 并且它的打包方式是 jar哄啄。 注意, ycshop-common 工程并不是一個獨立的模塊风范。
與創(chuàng)建 ycshop-parent 項目一樣的操作方式咨跌, 創(chuàng)建一個【maven project】 。

在這里插入圖片描述

修改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>cn.yuechenc</groupId>
        <artifactId>ycshop-parent</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <artifactId>ycshop-common</artifactId>

    <!-- 依賴 jar 包:先只添加單元測試和日志處理的 jar 包依賴 -->
    <dependencies>
        <!-- 單元測試 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <!-- 日志處理 -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </dependency>
    </dependencies>
</project>
3.搭建 ycshop-pojo 工程

ycshop-pojo 工程主要存放項目中通用的 pojo 對象锌半。
和創(chuàng)建ycshop-commom工程同樣的方法創(chuàng)建一個名為“ycshop-pojo”的maven工程


在這里插入圖片描述

修改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>cn.yuechenc</groupId>
        <artifactId>ycshop-parent</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <artifactId>ycshop-pojo</artifactId>

    <!-- 依賴 jar 包:先只添加單元測試的 jar 包依賴 -->
    <dependencies>
        <!-- 單元測試 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
4. 搭建 ycshop-manager 工程

搭建 ycshop-manager 工程寇漫, 這是后臺管理子項目服務(wù)工程刊殉。 這個工程里面需要很多模塊殉摔,
我們須把這些模塊單獨拆分, 所以它應(yīng)該是一個聚合工程冗澈。
聚合工程選擇 pom 打包形式钦勘。 并選擇父項目 ycshop-parent


在這里插入圖片描述

修改pom文件,使其依賴于ycshop-common和ycshop-pojo工程

<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>cn.yuechenc</groupId>
        <artifactId>ycshop-parent</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <artifactId>ycshop-manager</artifactId>
    <packaging>pom</packaging>

    <dependencies>
        <dependency>
            <groupId>cn.yuechenc</groupId>
            <artifactId>ycshop-common</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>cn.yuechenc</groupId>
            <artifactId>ycshop-pojo</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>
</project>
5.搭建 ycshop-manager-dto 模塊工程
在這里插入圖片描述

在這里插入圖片描述

此模塊作為一個輔助的jar包亚亲,不需要其他的依賴彻采。

6.搭建ycshop-manager-dao模塊工程

搭建 tyh-manager-dao 模塊的步驟同上面 tyh-manager-dto 一樣, 只不過是模塊名字改為
tyh-manager-dao 而已捌归。
修改pom文件肛响,添加dao層所需依賴

<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>cn.yuechenc</groupId>
        <artifactId>ycshop-manager</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <artifactId>ycshop-manager-dao</artifactId>

    <dependencies>
        <!-- 對 dto 的依賴 -->
        <dependency>
            <groupId>cn.yuechenc</groupId>
            <artifactId>ycshop-manager-dto</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <!-- 單元測試 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <!-- 日志處理 -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </dependency>
        <!-- mysql 驅(qū)動 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!-- c3p0 連接池 -->
        <dependency>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
        </dependency>
        <!-- mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
        </dependency>
        <!-- mybatis 與 spring 集成 -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
        </dependency>
        <!-- 分頁組件 -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
        </dependency>
    </dependencies>
</project>
7.搭建 ycshop-manager-interfaces 模塊工程

ycshop-manager-interfaces 模塊為 service 模塊的接口模塊。
搭建方式與 dao 模塊的搭建方式一致惜索, 打包方式為 jar 包方式特笋。(此處省略)
修改pom文件,使其依賴于dto和dao兩個模塊巾兆。

<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>cn.yuechenc</groupId>
        <artifactId>ycshop-manager</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <artifactId>ycshop-manager-interfaces</artifactId>

    <dependencies>
        <!-- 對 dto 的依賴 -->
        <dependency>
            <groupId>cn.yuechenc</groupId>
            <artifactId>ycshop-manager-dto</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <!-- 對 dao 的依賴 -->
        <dependency>
            <groupId>cn.yuechenc</groupId>
            <artifactId>ycshop-manager-dao</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>
</project>
8.搭建 ycshop-manager-service 模塊工程

該模塊是個 war 工程猎物, 既然 tyh-manager 工程是個聚合工程, 故可以聚合無數(shù)個模塊角塑,
但是總歸要靠一個 war 工程來將所有的模塊聚合起來蔫磨, 因此我們才需要新建一個 war 工程,
將來用于部署使用(可以單獨部署 service 應(yīng)用做到前后端分離) 圃伶。

在這里插入圖片描述

此時工程會報錯堤如,是因為缺少web.xml文件


在這里插入圖片描述

在圖中的webapp文件夾下創(chuàng)建WEB-INF文件夾,在他下面創(chuàng)建一個xml文件窒朋,內(nèi)容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"  version="3.1">
</web-app>
在這里插入圖片描述

此時已近解決了報錯的問題搀罢,接下來開始添加依賴——服務(wù)處需要調(diào)用dao層,所以要依賴于dao侥猩,另外還需要使用spring榔至,

<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>cn.yuechenc</groupId>
        <artifactId>ycshop-manager</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <artifactId>ycshop-manager-service</artifactId>
    <packaging>war</packaging>

    <dependencies>
        <!-- 對 dao 的依賴 -->
        <dependency>
            <groupId>cn.yuechenc</groupId>
            <artifactId>ycshop-manager-dao</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <!-- 對接口的依賴 -->
        <dependency>
            <groupId>cn.yuechenc</groupId>
            <artifactId>ycshop-manager-interfaces</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <!-- spring 相關(guān)依賴包 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</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>
        <!-- aop 相關(guān) -->
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
        </dependency>
        <dependency>
            <groupId>aopalliance</groupId>
            <artifactId>aopalliance</artifactId>
        </dependency>
    </dependencies>
</project>
9.搭建 ycshop-manager-web 工程

ycshop-manager-web 工程雖然從名稱上看好像是一個 ycshop-manager 的子工程。 但是在創(chuàng)建
的時候為了讓服務(wù)和前端頁面分離開來欺劳, 最好是將 web 工程單獨作為一個項目洛退, 不要作為
聚合工程的子工程


在這里插入圖片描述

在這里插入圖片描述

因為是war打包方式,同樣會報錯杰标,解決方式和service一樣
修改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>cn.yuechenc</groupId>
        <artifactId>ycshop-parent</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <artifactId>ycshop-manager-web</artifactId>
    <packaging>war</packaging>

    <dependencies>
        <!-- 單元測試 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <!-- 日志處理 -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </dependency>
        <!-- spring 相關(guān)依賴包 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
        </dependency><!-- aop 相關(guān) -->
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
        </dependency>
        <dependency>
            <groupId>aopalliance</groupId>
            <artifactId>aopalliance</artifactId>
        </dependency>
        <!-- jstl -->
        <dependency>
            <groupId>javax.servlet</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>

到此彩匕,我們的第一個系統(tǒng)架構(gòu)就算是搭建完成了

10.使用 maven tomcat 插件啟動工程

如果要運行 web 工程腔剂, 按照傳統(tǒng)的方式應(yīng)該是將其發(fā)布到一個 tomcat 服務(wù)器中, 然后
啟動服務(wù)器來運行這個工程驼仪。
但是在這里我們應(yīng)該在其 pom.xml 文件中配置一個 maven 的 tomcat 插件掸犬。 那么為什么
要使用 maven tomcat 插件來啟動 web 工程呢袜漩?
這是因為在互聯(lián)網(wǎng)項目中, 動輒十幾個甚至好幾十個 web 工程湾碎, 如果按照傳統(tǒng)的添加
tomcat 服務(wù)器的方式來啟動的話宙攻, 那么我們?yōu)榱吮苊舛丝跊_突, 每增加一個 web 工程都要
修改三個端口介褥, 非常麻煩座掘。 而使用 maven tomcat 插件來啟動工程, 則只需改一個端口即可柔滔,
顯然簡單了很多溢陪。
先來看 web 工程。 它可以獨立運行睛廊, 那么應(yīng)該怎么運行呢形真?
為了方便測試, 在 webapp 文件夾下超全, 創(chuàng)建一個 Index.jsp 文件咆霜。 如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    <h1>歡迎進入越宸閣!</h1>
</body>
</html>

在web工程的pom文件中加入tomcat插件

<!-- 配置 tomcat 插件 -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <configuration>
                    <port>8080</port>
                    <path>/</path>
                </configuration>
            </plugin>
        </plugins>
    </build>

說明:
1嘶朱、 其中<path>/<path>的意思是輸入完 localhost:端口號之后便可以直接訪問工程首頁了
2蛾坯、 <port>8080</port>的意思是指定該 web 工程的訪問端口號。
此時我們最好對之前的項目都進行install使其重新編譯
因為項目之間存在依賴關(guān)系见咒,所以最好按照創(chuàng)建順序依次install

在這里插入圖片描述

下面偿衰,我們啟動項目
在這里插入圖片描述

在 Goals 輸入框中輸入: clean tomcat7:run, 點擊【Apply】 和【Run】 來運行該 web 工程改览。
在這里插入圖片描述

運行完成下翎,會在控制臺打印出運行的url和端口
在這里插入圖片描述

最后,我們在瀏覽器中訪問此url
在這里插入圖片描述

11.使用 maven tomcat 插件啟動聚合工程

與上一節(jié)基本一樣宝当。 在 ycshop-manager 項目 pom.xml 中配置 tomcat 插件视事。 并修改其端口,
與 web 項目端口不同庆揩。

<!-- 配置 tomcat 插件 -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <configuration>
                    <port>8081</port>
                    <path>/</path>
                </configuration>
            </plugin>
        </plugins>
    </build>

和啟動web同樣的方法啟動manager項目
此時會打印出8081端口的url


在這里插入圖片描述

到此我們的工程就算是搭建完成了俐东。

下一篇,將會對整個系統(tǒng)進行ssm框架的整合

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末订晌,一起剝皮案震驚了整個濱河市虏辫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌锈拨,老刑警劉巖砌庄,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡娄昆,警方通過查閱死者的電腦和手機佩微,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來萌焰,“玉大人哺眯,你說我怎么就攤上這事“歉” “怎么了奶卓?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長陵珍。 經(jīng)常有香客問我寝杖,道長,這世上最難降的妖魔是什么互纯? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任瑟幕,我火速辦了婚禮,結(jié)果婚禮上留潦,老公的妹妹穿的比我還像新娘只盹。我一直安慰自己,他們只是感情好兔院,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布殖卑。 她就那樣靜靜地躺著,像睡著了一般坊萝。 火紅的嫁衣襯著肌膚如雪孵稽。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天十偶,我揣著相機與錄音菩鲜,去河邊找鬼。 笑死惦积,一個胖子當著我的面吹牛接校,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播狮崩,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼蛛勉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了睦柴?” 一聲冷哼從身側(cè)響起诽凌,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎坦敌,沒想到半個月后皿淋,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體招刹,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年窝趣,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片训柴。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡哑舒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出幻馁,到底是詐尸還是另有隱情洗鸵,我是刑警寧澤,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布仗嗦,位于F島的核電站膘滨,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏稀拐。R本人自食惡果不足惜火邓,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望德撬。 院中可真熱鬧铲咨,春花似錦、人聲如沸蜓洪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽隆檀。三九已至摇天,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間恐仑,已是汗流浹背泉坐。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留菊霜,地道東北人坚冀。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像鉴逞,于是被迫代替她去往敵國和親记某。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內(nèi)容