程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Spring Web Flow 2.0入門 - 配置Spring Web MVC

Spring Web Flow 2.0入門 - 配置Spring Web MVC

編輯:關於JAVA

Spring Web Flow 2.0 就是 Spring Web MVC 的一個擴展,如果粗略一些來講,所謂 flow 就相當於 Spring Web MVC 中一種特殊的 controller ,這種 controller 可通過 XML 文件加以配置,因此在使用 Spring Web Flow 2.0 前須先對 Spring Web MVC進行配置,步驟如下:

創建 Web 應用的目錄結構

在 /WEB-INF/lib 下導入相關類庫

在 Web 應用部署描述符文件 web.xml 中聲明 DispatcherServlet 並指定配置文件

添加 DispatcherServlet 映射

創建 web-application-config.xml 文件

創建 webmvc-config.xml 文件

創建 index.jsp

創建 Web 應用的目錄結構

本示例應用將采用 eclipse Dynamic Web Project 向導默認生成的目錄結構,在 WEB-INF 目錄下添加 config 和 flows 子目錄,其中 config 子目錄用來存放各種配置文件, flows 子目錄下存放 Spring Web Flow 的定義文件。最後目錄如圖3所示:

圖 2 目錄結構

在 /WEB-INF/lib 下導入相關類庫

只需將以下幾個 jar 包導入 /WEB-INF/lib 目錄下就可以了:

commons-logging.jar

jstl.jar

standard.jar

spring-webmvc.jar

spring.jar

聲明 DispatcherServlet 並指定配置文件

為使用 Spring Web MVC ,須在 web.xml 中聲明 DispatcherServlet ,見清單3:

清單 3 聲明 DispatcherServlet 和指定配置文件

<servlet>
  <servlet-name>CartServlet</servlet-name>
  <servlet-class>
  org.springframework.web.servlet.DispatcherServlet
  </servlet-class>
  <init-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>
   /WEB-INF/config/web-application-config.xml
   </param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>

添加 DispatcherServlet 映射

要讓 DispatcherServlet 處理所有以 /spring/ 開頭的請求,見清單 4:

清單 4 web.xml 中的 DispatcherServlet映射

<servlet-mapping>
<servlet-name>CartServlet</servlet-name>
<url-pattern>/spring/*</url-pattern>
</servlet-mapping>

創建 web-application-config.xml

開發基於 Spring Web Flow 的應用往往會有大量的配置,這些配置全放在一個文件中是不合適的。本示例參考 Spring Web Flow 2.0 自帶示例,將不同功能的配置文件分開。其中 web-application-config.xml 用於配置與 Web 應用全局相關的內容, Spring Web MVC 的相關配置放在 webmvc-config.xml 中,教程後面要添加的 Spring Web Flow 的配置則放在 webflow-config.xml 中。在 web-application-config.xml 中用 import 元素導入其他的配置文件。 web-application-config.xml的內容見清單5:

清單 5 web-application-config.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:context="http://www.springframework.org/schema/context"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
   http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context-2.5.xsd">
   <!-- 搜索 samples.webflow 包裡的 @Component 注解,並將其部署到容器中 -->
   <context:component-scan base-package="samples.webflow" />
   <!-- 啟用基於注解的配置 -->
   <context:annotation-config />
   <import resource="webmvc-config.xml"/>
</beans>

加入注解功能是出於最後運行 Web Flow 示例的需要,在這裡只要知道注解功能已被啟用就可以了。

創建 webmvc-config.xml

webmvc-config.xml 主要用於配置 Spring Web MVC 。所要做的就是添加一個 view resolver (視圖解析器),用於將視圖名解析成真實的視圖資源。另外,再配置好 URL 請求的 handler (處理器),用於將 URL 請求定向到某個控制器,在本例中,用到的是 UrlFilenameViewController。

清單 6 webmvc-config.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"
  xsi:schemaLocation="
   http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans.xsd">
   <bean id="viewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass"
    value="org.springframework.web.servlet.view.JstlView"/>
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp"/>
   </bean>
   <bean id="viewMappings"
    class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="defaultHandler">
    <!-- UrlFilenameViewController 會將 "/index" 這樣的請求映射成名為 "index" 的視圖 -->
    <bean class="org.springframework.web.servlet.mvc.UrlFilenameViewController" />
   </property>
  </bean>
</beans>

創建 index.jsp

現在的 index.jsp 只是顯示一行文字。

清單 7 index.jsp

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <title>Cart Application</title>
  </head>
  <body>
   <h1>Hello!</h1>
  </body>
</html>

運行應用程序

將應用程序發布到 Tomcat 容器,再通過 http://localhost:8080/CartApp/spring/index.jsp 訪問 index.jsp 頁面(應用程序所在文件夾名是 CartApp ),測試 Spring Web MVC 配置是否正確。如果一切正常,可得到如下頁面:

圖 3 顯示結果

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved