本文歡迎轉載,轉載前請聯繫作者,經允許後方可轉載。轉載後請註明出處,謝謝! http://blog.csdn.net/colton_null 作者:喝酒不騎馬 Colton_Null from CSDN
一、前言
SpringMVC工程的創建有多種方法。可以手動下載spring framework相關jar包,添加到web工程中。也可以通過IDEA直接創建SpringMVC工程。
在實際開發中,我們一般採用Maven來管理項目依賴。所以本文重點介紹Maven + SpringMVC開發環境的初始化搭建。
二、創建Maven工程
1.打開IDEA,打開File –> New –> Project..,選擇Maven,勾選上方”Create from archetype”,找到下方”maven-archetype-webapp”,點擊”Next”
2.填寫GroupId和ArtifactId,點擊”Next”
3.選擇自帶的Maven版本或者選擇本地的Maven皆可。有關settings配置文件可以選擇默認的也可以選擇自帶的。這裏我配置的是本地的mavan和設置文件。
4.選擇工程的創建目錄,點擊”Finish”完成Maven工程的創建。
二、配置SpringMVC工程
1.創建後的工程如下
2.在main目錄中創建java目錄並對其進行標註
Sources 一般用於標註類似 src 這種可編譯目錄。有時候我們不單單項目的 src 目錄要可編譯,還有其他一些特別的目錄也許我們也要作爲可編譯的目錄,就需要對該目錄進行此標註。只有 Sources 這種可編譯目錄纔可以新建 Java 類和包,這一點需要牢記。
Tests 一般用於標註可編譯的單元測試目錄。在規範的 maven 項目結構中,頂級目錄是 src,maven 的 src 我們是不會設置爲 Sources 的,而是在其子目錄 main 目錄下的 java 目錄,我們會設置爲 Sources。而單元測試的目錄是 src - test - java,這裏的 java 目錄我們就會設置爲 Tests,表示該目錄是作爲可編譯的單元測試目錄。一般這個和後面幾個我們都是在 maven 項目下進行配置的,但是我這裏還是會先說說。從這一點我們也可以看出 IntelliJ IDEA 對 maven 項目的支持是比較徹底的。
Resources 一般用於標註資源文件目錄。在 maven 項目下,資源目錄是單獨劃分出來的,其目錄爲:src - main -resources,這裏的 resources 目錄我們就會設置爲 Resources,表示該目錄是作爲資源目錄。資源目錄下的文件是會被編譯到輸出目錄下的。
Test Resources 一般用於標註單元測試的資源文件目錄。在 maven 項目下,單元測試的資源目錄是單獨劃分出來的,其目錄爲:src - test -resources,這裏的 resources 目錄我們就會設置爲 Test Resources,表示該目錄是作爲單元測試的資源目錄。資源目錄下的文件是會被編譯到輸出目錄下的。
Excluded 一般用於標註排除目錄。被排除的目錄不會被 IntelliJ IDEA 創建索引,相當於被 IntelliJ IDEA 廢棄,該目錄下的代碼文件是不具備代碼檢查和智能提示等常規代碼功能。
3.補全目錄結構。
4.配置pom.xml,添加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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.myz</groupId>
<artifactId>myspringmvc</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>myspringmvc Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- Spring依賴 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.13.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.13.RELEASE</version>
</dependency>
<!-- Spring依賴 end -->
</dependencies>
<build>
<finalName>myspringmvc</finalName>
</build>
</project>
添加後,右下角會跳出提示,點擊”Import Changes”完成maven依賴刷新。
或者點擊Maven菜單中的刷新按鈕亦可。
5.配置SpringMVC的配置文件。在WEB-INF目錄下,新建一個Spring Config文件,命名爲springmvc-config。
文件內容如下:
<?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:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- spring自動掃描base-pack目錄下的所有Java文件,包括子目錄。如果掃描到有相關注解的類,就把這些類註冊爲Spring的bean。 -->
<context:component-scan base-package="com.myz.controller"/>
<!-- 配置annotation類型的處理映射器,它根據請求查找映射 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
<!-- 配置annotation類型的處理器適配器,完成對@RequestMapping標註方法的調用 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
<!-- 配置視圖解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/>
</beans>
<context:component-scan base-package="com.myz.controller"/>
:
spring自動掃描base-pack目錄下的所有Java文件,包括子目錄。如果掃描到有相關注解的類,就把這些類註冊爲Spring的bean。
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
:
配置annotation類型的處理映射器,它根據請求查找映射。
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
:
配置annotation類型的處理器適配器,完成對@RequestMapping標註方法的調用
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/></beans>
:
配置視圖解析器
6.修改web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<!--welcome pages-->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!--配置springmvc DispatcherServlet,前端控制器-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/springmvc-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- 攔截器配置,攔截所有請求 -->
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
這樣,web.xml文件的內容就是說告訴Web容器,使用Spring MVC的DispatchServlet,將所有URL映射到該Servlet。
三、配置Tomcat
1.點擊如圖所示按鈕選擇”Edit Configurations..”
2.點擊”+” –> Tomcat Server –> Local
3.Name:修改容器名字
Application server:配置本地tomcat。選擇本地tomcat即可。
HTTP port:端口號設置
4.點擊”Fix”,點擊右側”+”號,添加Artifact
5.war模式:將WEB工程以包的形式上傳到服務器。
war exploded模式:將WEB工程以當前文件夾的位置關係上傳到服務器。
選擇exploded模式可以熱部署。開發時一般都選此項。
到此,Maven + SpringMVC開發環境就搭建完成了。
打開瀏覽器輸入http://localhost/,顯示index.jsp歡迎頁。
工程github地址:https://github.com/MaYuzhe/SpringStudy