前言

在將Spring專案轉化為Spring Mvc專案時出現了點問題,總是無法成功部署,查閱資料也並沒有找到一個完美的解決方案,最後是參考在idea中建立maven web app專案後的目錄才成功執行,並將過程記錄下來。

轉化過程

修改pom.xml檔案

新增Spring對應的Web依賴,我新增的依賴如下。


<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency> <!--j2ee servlet jsp jstl-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>

主要需要新增spring-webspring-webmvc兩個依賴。

修改專案結構

src/java目錄下建立webapp目錄,並建立WEB-INF目錄,最後在WEB-INF目錄下建立web.xml檔案,檔案內容如下。


<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app>
<display-name>Archetype Created Web Application</display-name>
</web-app>

具體目錄如下截圖(其中views目錄放置jsp檔案,不新增不影響)。

修改pom檔案

由於Web應用的打包的方式是war,所以需要在pom.xml檔案中申明為war打包方式,需在pom.mxl新增<packaging>war</packaging>。類似如下


<groupId>com.hust.grid.leesf</groupId>
<artifactId>springproject</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>

配置Tomcat

接下配置TomcatServlet容器

  • 首先點選如下按鈕,選擇Edit Configurations

  • 再點選+按鈕,選擇Tomcat ServerLocal

  • 再點選如下的fix按鈕。

  • 然後再點選+按鈕。

  • 不用修改,點選確定即可。

  • 最後如下截圖所示。

  • 啟動Tomcat,在瀏覽器中顯示如下,大功告成。

總結

之前也遇到過類似的問題,解決了之後未記錄,事隔很長時間後又遇到這個問題,又花了很長時間才解決,於是將解決過程進行記錄,方便以後遇到類似問題時更快速的處理。