1.1 Spring jar包下載
(1)進入官網http://repo.spring.io
(2)在資源庫界面點擊Artifacts標簽,然后點擊libs-release-local,展開后依次點擊org -> springframework -> spring。

然后,就可以看到發布的各個版本,選一個自己需要的版本,點擊Download。
(我這里下載的是當前最新版本spring-framework-4.1.6.RELEASE-dist)

?
1.2 Hello World
SpringMVC?配置過程中很容易出現各式各樣的問題,很是費勁。
下面提供傻瓜式創建HelloWorld工程的方式,希望大家少走彎路。
(1)創建一個Dynamic Web Project
點擊File -> New -> Other,?輸入web,?可以找到Dynamic Web Project。

(2)導入spring的jar包
在WEB-INF目錄下新建一個lib目錄(如果沒有lib目錄)。
將下載的spring-framework-4.1.6.RELEASE-dist\spring-framework-4.1.6.RELEASE\libs中的jar包拷貝到WEB-INF\lib目錄下
為圖省事,本人將所有jar都拷貝進來了。
此外,spring框架還依賴一個外部jar包:commons-logging-1.2.jar,需要下載并導入。
注:順便提一下,spring-framework-4.1.6.RELEASE-dist\spring-framework-4.1.6.RELEASE\libs下的jar包分為普通jar包、sources jar包和javadoc jar包。sources?和javadoc分別包含了普通jar包的源碼和java文檔。
有興趣想看spring源碼的朋友可以導入,導入方法網上有很多介紹,這里不贅述。
?
(3)添加web.xml
web.xml文件中聲明了servlet的清單。
<web-app?version="2.5"?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_2_5.xsd">
?
?
???????<display-name>SpringHello</display-name>
?
????<!--?聲明前端控制器?-->
???????<servlet>
??????????????<servlet-name>spring</servlet-name>
??????????????<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
??????????????<init-param>
?????????????????????<!--?如果不設置的話,默認的servlet配置文件名為xxx-servlet.xml?-->
?????????????????????<param-name>contextConfigLocation</param-name>
?????????????????????<param-value>/WEB-INF/spring.xml</param-value>
??????????????</init-param>
??????????????<load-on-startup>1</load-on-startup>
???????</servlet>
?
???????<!--?聲明DispatcherServlet處理哪些URL?-->
???????<servlet-mapping>
??????????????<servlet-name>spring</servlet-name>
??????????????<url-pattern>/</url-pattern><!--?映射到/表示會處理所有的請求?-->
???????</servlet-mapping>
</web-app>
SpringMVC的核心是DispatcherServlet,這個servlet的角色是前端控制器。所有的servlet都是在web.xml中配置的,DispatcherServlet當然也不例外。
如果不指定contextConfigLocation,默認情況下servlet配置文件的名字形式應該為servlet名-servlet.xml,?這個servlet名就是<servlet-name>標簽中的名字。
?
(4)添加servlet——spring.xml
新建一個名為spring.xml的文件(這個文件名必須和web.xml中的servlet對應上),內容如下:
<beans?xmlns="http://www.springframework.org/schema/beans"
???????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
???????xmlns:p="http://www.springframework.org/schema/p"
???????xmlns:context="http://www.springframework.org/schema/context"
???????xmlns:util="http://www.springframework.org/schema/util"
???????xmlns:mvc="http://www.springframework.org/schema/mvc"
???????xsi:schemaLocation="
???????http://www.springframework.org/schema/beans
????http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
????http://www.springframework.org/schema/context??
????http://www.springframework.org/schema/context/spring-context-3.0.xsd
????http://www.springframework.org/schema/util
????http://www.springframework.org/schema/util/spring-util-3.0.xsd
????http://www.springframework.org/schema/mvc
????http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
?
???????<!--?默認的注解映射的支持?-->
???????<mvc:annotation-driven?/>
??????
???????<!--?如果當前請求為“/”時,則轉發到“/login/index”?-->
???????<mvc:view-controller?path="/"?view-name="forward:/login/index"?/>
??????
???????<!--?設置后,將查找使用@Component(@Controller是它的一種具體化)注解的類并將其注冊為Bean?-->
???????<context:component-scan?base-package="com.demo.web.controllers"?/>
?
???????<!--?配置視圖解析器?(該配置的是jstl解析器的一個擴展解析類)?-->
???????<bean
??????????????class="org.springframework.web.servlet.view.InternalResourceViewResolver">
??????????????<property?name="prefix"?value="/WEB-INF/view/"?/>
??????????????<property?name="suffix"?value=".jsp"?/>
???????</bean>
</beans>
?
(5)?添加Controller——LoginController.java
Controller是SpringMVC的控制器,用于處理頁面請求。
新建一個名為LoginController的java文件,內容如下:
?
import?org.springframework.stereotype.Controller;
import?org.springframework.web.bind.annotation.RequestMapping;
import?org.springframework.web.bind.annotation.RequestMethod;
import?org.springframework.web.servlet.ModelAndView;
?
@Controller
public?class?LoginController?{
??????@RequestMapping(value="/login/index",?method?=?RequestMethod.GET)
??????public?ModelAndView?index()?{
????????????ModelAndView?mav?=?new?ModelAndView();
????????????mav.addObject("message",?"Hello?World!?First?program!");
????????????mav.setViewName("index");?//?設置視圖名稱
????????????return?mav;
??????}
}
Spring2.5版本引入了注解方式,所以,我們可以很方便的使用@Controller來將一個類標注為控制器。
在spring.xml中,我們定義了<context:component-scan>標簽,這樣LoginController會自動被發現并注冊為Bean。需要注意的是pacake要相互對應。
@RequestMapping可以將一個URL映射到一個實體類或一個特殊的handler方法上。RequestMethod.GET表示只接受get請求。
?
(6)添加視圖——index.jsp
在/WEB-INF文件夾下新建一個view文件夾,并添加一個名為index的jsp文件,內容如下:
???????pageEncoding="ISO-8859-1"%>
<!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>Spring?Hello?World</title>
</head>
<body>
???????<h1>${message}</h1>
</body>
</html>
?
(7)運行項目
經過上面的步驟,項目文件結構如下

運行項目,選擇Run As -> Run On Server結果如下:

?本文轉自靜默虛空博客園博客,原文鏈接:http://www.cnblogs.com/jingmoxukong/p/4503462.html,如需轉載請自行聯系原作者