Spring MVC 環境搭建,springmvc環境搭建
一、建立 JavaWeb 項目
1、建立一個 Java 項目。
2、在項目下新建一個文件夾 webapp (命名可自取,這個目錄即是網站根目錄),再在該文件夾下新建一個 WEB-INF 文件夾(命名固定),WEB-INF 作為 Tomcat 啟動後的安全文件夾,浏覽器不能訪問到該目錄下的資源。tomcat 啟動會默認會在此目錄下讀取相應配置文件。
3、在 WEB-INF 下建立 web.xml 文件(命名固定),從 tomcat 安裝路徑 /conf/web.xml 中拷貝基本的文檔結構,修改相應編碼為 utf-8。tomcat 啟動後本身會加載安裝路徑下的大配置文件 web.xml,當發現我們項目的 WEB-INF 下也存在 web.xml 時會作為分配置文件一並加載。
4、在 WEB-INF 下建立 jsp 文件夾(命名可自取),用來存放相關的 jsp 文件(MVC 的 View)。
5、在 WEB-INF 下建立 lib 文件夾(命名固定),用來存放相關的 jar 包。
6、在 WEB-INF 下建立 web.xml 文件(命名固定)。
二、Spring 安裝
官方下載地址: http://maven.springframework.org/release/org/springframework/spring/
1、從官網下載需要的版本,比如 spring-framework-4.1.9.RELEASE-dist.zip。
2、解壓,將 \spring-framework-4.1.9.RELEASE\libs 目錄的下 jar 包拷貝到項目的 lib 目錄下:
(一)、關於 servlet
servlet 是在服務器上運行的小程序,譬如用 java 編寫的 server 端程序。大致過程如下:
1、客戶端(浏覽器)訪問網站,網站發送請求至服務器(tomcat 或 weblogic 等);
2、服務器將請求信息發送至 servlet。
3、servlet 生成響應內容(我們寫的程序控制響應)並將其傳送給服務器。
4、服務器將響應返回給客戶端。
5、客戶端進行展示。
三、Spring 配置
(一)、web.xml 配置
1、打開項目中的 web.xml 添加一個Spring 的 servlet(當然 tomcat 下的 /conf/web.xml 也可以,但一般不會這麼做) ,使程序啟動時就加載此 servlet。
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
load-on-startup元素標記容器是否在啟動的時候就加載這個servlet
1)它的值必須是一個整數,表示servlet應該被載入的順序
2)當值為0或者大於0時,表示容器在應用啟動時就加載並初始化這個servlet;
3)當值小於0或者沒有指定時,則表示容器在該servlet被選擇時才會去加載。
4)正數的值越小,該servlet的優先級越高,應用啟動時就越先加載。
5)當值相同時,容器就會自己選擇順序來加載。
所以,<load-on-startup>x</load-on-startup>,中x的取值1,2,3,4,5代表的是優先級,而非啟動延遲時間。
2、設置 spring url 攔截:
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-name>spring</servlet-name> 中的 spring 名字可自取,只要和上文所配的 servlet 名字對應即可。
表示 url 是 .do 為後綴(後綴名可自取,但一般規范都命名為 .do)的請求都必須經過 spring 的控制。
3、配置字符編碼過濾器
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
4、在下 WEB-INF 下創建 spring-servlet.xml (名稱(spring)和 web.xml 中配置的 <servlet-name>spring</servlet-name> 中的 spring 名稱要對應):
(二)、 Spring-servlet.xml 配置
該文件主要完成 url 映射配置;頁面目錄配置;控制器配置。即開始我們的MVC。
1、頁面架構(從文檔、手冊上復制)
<?xml version="1.0"encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
</beans>
2、頁面目錄配置。
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp" />
<property name="suffix" value=".jsp" />
</bean>
配置視圖解析器, 指定控制器頁面轉向的目錄及文件後綴。
3、url 映射配置。
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/index.do">IndexAction</prop>
</props>
</property>
</bean>
SimpleUrlHandlerMapping 提供了最簡單的 URL 映射,通過 Properties 將 URL 和 Controller 對應起來 。
一個 .do 映射一個控制器。
4、控制器配置
<bean id="IndexAction" class="com.myweb.IndexAction">
<property name="view">
<value>index</value>
</property>
</bean>
在 bean 中配置有屬性(包括 bean 格式的屬性)時,bean 對應的 java 文件內必須要定義一個與 property 的 name 名字一樣的屬性值,並且需要有這個屬性值的 getter 和 setter 方法。
5、根據 com.myweb.indexAction 寫 controller,完成處理請求的 servlet。
6、加入 spring 項目啟動必須的依賴包
解決:
7、spring MVC 環境搭建完成。
結果: