1、創建 JavaWeb 項目
一、創建一個 Java 項目。
二、在項目下新建一個文件夾 webapp (命名可自取,這個目錄便是網站根目錄),再在該文件夾下新建一個 WEB-INF 文件夾(命名固定),WEB-INF 做爲 Tomcat 啓動後的安全文件夾,瀏覽器不能訪問到該目錄下的資源。tomcat 啓動會默認會在此目錄下讀取相應配置文件。
三、在 WEB-INF 下創建 web.xml 文件(命名固定),從 tomcat 安裝路徑 /conf/web.xml 中拷貝基本的文檔結構,修改相應編碼爲 utf-8。tomcat 啓動後自己會加載安裝路徑下的大配置文件 web.xml,當發現咱們項目的 WEB-INF 下也存在 web.xml 時會做爲分配置文件一併加載。
四、在 WEB-INF 下創建 jsp 文件夾(命名可自取),用來存放相關的 jsp 文件(MVC 的 View)。
五、在 WEB-INF 下創建 lib 文件夾(命名固定),用來存放相關的 jar 包。
六、在 WEB-INF 下創建 web.xml 文件(命名固定)。
2、Spring 安裝
一、從官網下載須要的版本,好比 spring-framework-4.1.9.RELEASE-dist.zip。
二、解壓,將 \spring-framework-4.1.9.RELEASE\libs 目錄的下 jar 包拷貝到項目的 lib 目錄下:
(一)、關於 servlet
servlet 是在服務器上運行的小程序,譬如用 java 編寫的 server 端程序。大體過程以下:
一、客戶端(瀏覽器)訪問網站,網站發送請求至服務器(tomcat 或 weblogic 等);
二、服務器將請求信息發送至 servlet。
三、servlet 生成響應內容(咱們寫的程序控制響應)並將其傳送給服務器。
四、服務器將響應返回給客戶端。
五、客戶端進行展現。
3、Spring 配置
(一)、web.xml 配置
一、打開項目中的 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表明的是優先級,而非啓動延遲時間。
二、設置 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 的控制。
三、配置字符編碼過濾器
<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>
四、在下 WEB-INF 下建立 spring-servlet.xml (名稱(spring)和 web.xml 中配置的 <servlet-name>spring</servlet-name> 中的 spring 名稱要對應):
(二)、 Spring-servlet.xml 配置
該文件主要完成 url 映射配置;頁面目錄配置;控制器配置。即開始咱們的MVC。
一、頁面架構(從文檔、手冊上覆制)
<?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>
二、頁面目錄配置。
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp" />
<property name="suffix" value=".jsp" />
</bean>
配置視圖解析器, 指定控制器頁面轉向的目錄及文件後綴。
三、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 映射一個控制器。
四、控制器配置
<bean id="IndexAction" class="com.myweb.IndexAction">
<property name="view">
<value>index</value>
</property>
</bean>
在 bean 中配置有屬性(包括 bean 格式的屬性)時,bean 對應的 java 文件內必需要定義一個與 property 的 name 名字同樣的屬性值,而且須要有這個屬性值的 getter 和 setter 方法。
五、根據 com.myweb.indexAction 寫 controller,完成處理請求的 servlet。
六、加入 spring 項目啓動必須的依賴包
解決:
七、spring MVC 環境搭建完成。
結果: