上文我們一起學習了怎樣搭建maven工程,這篇文章我就來教大家一起學習怎樣用tomcat插件來啟動web工程。
我們把服務層和表現層的工程都建立好了,目前來說,其實真正能運作的就2個,一個是表現層工程——taotao-manager-web,一個服務層工程——taotao-manager。本文先來看表現層工程,它可以獨立運作,它應該怎麼運作呢?
為何要用maven tomcat插件來啟動web工程?
如果要運作表現層工程,那麼應該在其pom.xml檔案中配置一個maven的tomcat插件,而不是像我們之前那樣在外部的tomcat伺服器上運作。聰明的同學可能會思考,為什麼要使用maven tomcat插件來啟動web工程呢?這是因為在網際網路項目中,動辄十幾個甚至好幾十個web工程,如果按照傳統的添加tomcat伺服器的方式來啟動的話,那麼我們為了避免端口沖突,每增加一個web工程都要修改三個端口,非常麻煩。而使用maven tomcat插件來啟動工程,則隻需改一個端口即可,顯然簡單了很多。
使用maven tomcat插件啟動web工程
目前來說,表現層工程——taotao-manager-web中的web.xml檔案内容是空的,是以我們應該修改一下,複制以下内容到web.xml檔案中。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>taotao-manager-web</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
為了便于測試,我們在taotao-manager-web工程的webapp目錄下建立一個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>Hello Taotao!</h1>
</body>
</html>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
我截圖如下:

以上準備工作之後做好之後,我們直奔主題。
首先在taotao-manager-web工程的pom.xml檔案中配置maven 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
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
其中
<path>/<path>
的意思是輸入完
localhost:端口号
之後便可以直接訪
enter code here
問工程首頁了,
<port>8080</port>
的意思是指定該web工程的通路端口号。
這樣,taotao-manager-web工程整個pom.xml檔案的内容如下:
<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>
<!-- 配置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>
</project>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
下面我就來使用
clean tomcat7:run
指令啟動工程,大家要是願意的話,可以跟着我一起做喲!
在taotao-manager-web工程上右鍵→Run As→Maven build,如下圖所示:
在下圖Goals輸入框中輸入:
clean tomcat7:run
,點選【Apply】和【Run】來運作該web工程。
這時Eclipse控制台列印如下:
這說明我們已經使用maven tomcat插件成功啟動web工程了,并沒有報錯。這真是夠幸運的!!!
啟動完工程了,我們在浏覽器位址欄中輸入
http://localhost:8080
來通路工程。可以看到頁面輸出”Hello Taotao! “,說明我們的web工程成功啟動了!
最後一點話
我以為我第一次使用maven tomcat插件啟動web工程,肯定會報錯,沒想到這麼順利,搞得我有點受寵若驚。可能也有小夥伴第一次不會像我這樣順利,可能會遇到這樣一個問題——找不到taotao-parent這個工程,而我們要運作的web工程依賴了taotao-parent這個工程。是以我們的web工程要運作,就要找到這個依賴,這個依賴并不是在Eclipse的workspace裡面找,它要到本地倉庫中去找,由于本地倉庫中并沒有taotao-parent的包,那就自然找不到了,找不到了就會報錯了嘛!是以我們應該先把這個taotao-parent工程安裝到本地倉庫,安裝完之後,再啟動。那如何安裝呢?下面是步驟:
在taotao-parent工程上右鍵,在右鍵菜單中選擇”Run As”,在其子菜單中點選”Maven install”,如下圖所示:
打包完之後,我們在本地maven倉庫中可以看到已經有taotao相關包了,如下圖所示。
輕按兩下進入taotao,可以看到taotao-parent,如下圖所示。
要是大家再遇到這種問題,相信大家都能解決了。