Spring MVC 環境搭建(一)

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 環境搭建完成。
結果:
相關文章
相關標籤/搜索