隨筆-126  評論-247  文章-5  trackbacks-0

          依賴

          pom.xml ( maven )
          <properties>
            <spring.version>3.0.5.RELEASE</spring.version>
          </properties>
          <dependencies>
            <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-core</artifactId>
              <version>${spring.version}</version>
            </dependency>
            <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-web</artifactId>
              <version>${spring.version}</version>
            </dependency>
            <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-webmvc</artifactId>
              <version>${spring.version}</version>
            </dependency>
          </dependencies>
          沒有使用 maven 的需手工導入包 ( 3.0.4 + 版本自由選擇 ) :
          spring-core-3.0.5.RELEASE.jar
          spring-asm-3.0.5.RELEASE.jar
          spring-web-3.0.5.RELEASE.jar
          spring-beans-3.0.5.RELEASE.jar
          spring-context-3.0.5.RELEASE.jar
          spring-aop-3.0.5.RELEASE.jar
          spring-webmvc-3.0.5.RELEASE.jar
          spring-context-support-3.0.5.RELEASE.jar
          spring-expression-3.0.5.RELEASE.jar
          aopalliance-1.0.jar
          commons-logging-1.1.1.jar

          web.xml 配置

          為使用 Spring MVC,首先需要在 web.xml 中配置 DispatcherServlet。
          它與 Struts 的過濾器作用類似,主要負責攔截請求并分發給對應的目標來處理。
          web.xml
          <servlet>
            <servlet-name>dispatcher</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
          </servlet>

          <servlet-mapping>
            <servlet-name>dispatcher</servlet-name>
            <url-pattern>/</url-pattern>
          </servlet-mapping>
          這種配置方式要求項目中必須存在 WEB-INF/[servlet-name]-servlet.xml 配置文件 ( 如這里的 dispatcher-servlet.xml )。
          你也可以通過 <init-param> 來自定義指定配置文件的路徑和名稱。
          web.xml
          <servlet>
            <servlet-name>dispatcher</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <init-param>
              <param-name>contextConfigLocation</param-name>
              <param-value>classpath:spring-mvc.xml</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
          </servlet>

          <servlet-mapping>
            <servlet-name>dispatcher</servlet-name>
            <url-pattern>*.action</url-pattern>
          </servlet-mapping>
          <load-on-startup>1</load-on-startup>
          load-on-startup 配置的是一個非負整數值,表示 Servlet 啟動的優先級別。數值越小,優先級別越高。
          0 或 不配置,表示只有當第一次使用該 Servlet 時,容器才會去啟動它 ( 包括加載、實例化、以及調用 init() 方法完成初始化 )。
          1 或 > 1,表示 Servlet 將隨運用程序的啟動而啟動。
          <url-pattern>*.action</url-pattern>
          表示攔截所有 .action 的請求,并交由 Spring MVC 來處理,非 .action 的請求,將不由 Spring MVC 處理。
          多個值之間用英文的逗號 “,” 分隔,需要注意的是,值與值之間不能存在空格:<url-pattern>*.action,*.htm</url-pattern>
          <url-pattern>/</url-pattern>
          表示攔截所有請求,并全部交由 Spring MVC 來處理。

          Spring MVC 配置文件配置

          spring-mvc.xml
          <?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:mvc
          ="http://www.springframework.org/schema/mvc"
            xmlns:context
          ="http://www.springframework.org/schema/context"
            xsi:schemaLocation
          ="http://www.springframework.org/schema/beans 
            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://www.springframework.org/schema/mvc
            http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
            http://www.springframework.org/schema/context 
            http://www.springframework.org/schema/context/spring-context-3.0.xsd"
          >
            
            <!-- 自動掃描的包 -->
            <context:component-scan base-package="org.lychie.tutorial.**.controller" />
            <!-- 開啟注解支持 -->
            <mvc:annotation-driven/>
            
            <!-- 視圖處理 -->
            <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
              <!-- 前綴 -->
              <property name="prefix" value="/WEB-INF/pages/" />
              <!-- 后綴 -->
              <property name="suffix" value=".jsp" />
            </bean>
            
          </beans>

          Simple Example

          HelloWorldController.java
          package org.lychie.tutorial.controller;

          import org.springframework.stereotype.Controller;
          import org.springframework.web.bind.annotation.RequestMapping;

          @Controller
          public class HelloWorldController {

              @RequestMapping("/hello_world")
              public String execute(){
                  return "hello_world_page";
              }
              
          }
          訪問方式:/hello_world.action
          頁面結果:WEB-INF/pages/hello_world_page.jsp ( 與 spring-mvc.xml 配置文件中的配置相關聯,具體是:前綴 + 方法返回值 + 后綴 )
          @Controller
          標識這是一個控制器,與 Struts 的 Action 作用相似。被標識的類具有處理請求的能力。
          @RequestMapping
          映射方法訪問的 URL 地址,具體的使用放到下一章節中。

          源代碼下載

          springmvc-helloworld.zip





            
          posted on 2014-08-15 09:39 fancydeepin 閱讀(6271) 評論(1)  編輯  收藏

          評論:
          # re: spring mvc(1):基礎入門 2014-08-15 17:25 | 黑客的蝸牛
          不錯,收藏了!  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 承德县| 阿瓦提县| 平顺县| 洪湖市| 新竹市| 招远市| 廊坊市| 莲花县| 磴口县| 景洪市| 手机| 榆中县| 日土县| 诸城市| 阆中市| 泽州县| 许昌市| 扎囊县| 申扎县| 赤城县| 柳河县| 青田县| 湘乡市| 招远市| 都昌县| 宝丰县| 卫辉市| 灵石县| 无极县| 大埔区| 广汉市| 万安县| 吉林省| 华宁县| 靖安县| 永福县| 衡南县| 陵水| 萍乡市| 油尖旺区| 海阳市|