<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    用 Spring MVC 輕松進行應用程序開發(轉載)

    Spring?MVC?框架。用銀行示例介紹如何建模和構建簡單的應用程序。示例應用程序包含了已經學過的一些技術(例如依賴注入),但是主要演示?Spring?MVC?的特性。
      
      在開始之前,請?下載這篇文章的源代碼。請參閱?參考資料?訪問?Spring?框架和?Tomcat?5.0,運行示例需要它們。
      
      Spring?MVC?框架
      
      Spring?框架提供了構建?Web?應用程序的全功能?MVC?模塊。使用?Spring?可插入的?MVC?架構,可以選擇是使用內置的?Spring?Web?框架還是?Struts?這樣的?Web?框架。通過策略接口,Spring?框架是高度可配置的,而且包含多種視圖技術,例如?JavaServer?Pages(JSP)技術、Velocity、Tiles、iText?和?POI。Spring?MVC?框架并不知道使用的視圖,所以不會強迫您只使用?JSP?技術。Spring?MVC?分離了控制器、模型對象、分派器以及處理程序對象的角色,這種分離讓它們更容易進行定制。
      
      Spring?的?Web?MVC?框架是圍繞?DispatcherServlet?設計的,它把請求分派給處理程序,同時帶有可配置的處理程序映射、視圖解析、本地語言、主題解析以及上載文件支持。默認的處理程序是非常簡單的?Controller?接口,只有一個方法?ModelAndView?handleRequest(request,?response)。Spring?提供了一個控制器層次結構,可以派生子類。如果應用程序需要處理用戶輸入表單,那么可以繼承?AbstractFormController。如果需要把多頁輸入處理到一個表單,那么可以繼承?AbstractWizardFormController。
      
      示例應用程序有助于直觀地學習這些特性。銀行應用程序允許用戶檢索他們的帳戶信息。在構建銀行應用程序的過程中,可以學到如何配置?Spring?MVC?框架和實現框架的視圖層,視圖層包括?JSTL?標記(用于顯示輸出的數據)和JavaServer?Pages?技術。
      
      配置?Spring?MVC
      
      要開始構建示例應用程序,請配置?Spring?MVC?的?DispatcherServlet。請在?web.xml?文件中注冊所有配置。清單?1?顯示了如何配置?sampleBankingServlet。
      
      清單?1.?配置?Spring?MVC?DispatcherServlet
      
      <servlet>
      <servlet-name>sampleBankingServlet</servlet-name>
      <servlet-class>
      org.springframework.we.servlet.DispatcherServlet
      <servlet-class>
      <load-on-startup>1<load-on-startup>
      <servlet>
      
      DispatcherServlet?從一個?XML?文件裝入?Spring?應用程序上下文,XML?文件的名稱是?servlet?的名稱后面加上?-servlet?。在這個示例中,DispatcherServlet?會從?sampleBankingServlet-servlet.xml?文件裝入應用程序上下文。
      
      配置應用程序的?URL
      
      下一步是配置想讓?sampleBankingServlet?處理的?URL。同樣,還是要在?web.xml?中注冊所有這些信息。
      
      清單?2.?配置想要處理的?URL
      
      <servlet-mapping>
      <servlet-name>?sampleBankingServlet<servlet-name>
      <url-pattern>*.jsp</url-pattern>
      </servlet-mapping>
      
      裝入配置文件
      
      下面,裝入配置文件。為了做到這點,請為?Servlet?2.3?規范注冊?ContextLoaderListener?或為?Servlet?2.2?及以下的容器注冊?ContextLoaderServlet。為了保障后向兼容性,請用?ContextLoaderServlet。在啟動?Web?應用程序時,ContextLoaderServlet?會裝入?Spring?配置文件。清單?3?注冊了?ContextLoaderServlet。
      
      清單?3.?注冊?ContextLoaderServlet
      
      <servlet>
      <servlet-name>context>servlet-name>
      <servlet-class>
      org.springframework.web.context.ContextLoaderServlet
      </servlet-class>
      <load-on-startup>1</load-on-startup>
      </servlet>
      
      contextConfigLocation?參數定義了要裝入的?Spring?配置文件,如下面的?servlet?上下文所示。
      
      <context-param>
      <param-value>contextConfigLocation</param-value>
      <param-value>/WEB-INF/sampleBanking-services.xml</param-value>
      </context-param>
      
      sampleBanking-services.xml?文件代表示例銀行應用程序服務的配置和?bean?配置。如果想裝入多個配置文件,可以在?<param-value>?標記中用逗號作分隔符。
      
      Spring?MVC?示例
      
      示例銀行應用程序允許用戶根據惟一的?ID?和口令查看帳戶信息。雖然?Spring?MVC?提供了其他選項,但是我將采用?JSP?技術作為視圖頁面。這個簡單的應用程序包含一個視圖頁用于用戶輸入(ID?和口令),另一頁顯示用戶的帳戶信息。
      
      我從?LoginBankController?開始,它擴展了?Spring?MVC?的?SimpleFormController。SimpleFormContoller?提供了顯示從?HTTP?GET?請求接收到的表單的功能,以及處理從?HTTP?POST?接收到的相同表單數據的功能。LoginBankController?用?AuthenticationService?和?AccountServices?服務進行驗證,并執行帳戶活動。“?配置視圖屬性?”一節中的?清單?5?描述了如何把?AuthenticationService?和?AccountServices?連接到?LoginBankController。?清單?4?顯示了?LoginBankController?的代碼。
      
      配置視圖屬性
      
      下面,我必須注冊在接收到?HTTP?GET?請求時顯示的頁面。我在?Spring?配置中用?formView?屬性注冊這個頁面,如清單?5?所示。sucessView?屬性代表表單數據提交而且?doSubmitAction()?方法中的邏輯成功執行之后顯示的頁面。formView?和?sucessView?屬性都代表被定義的視圖的邏輯名稱,邏輯名稱映射到實際的視圖頁面。
      
      清單?5.?注冊?LoginBankController
      
      <bean?id="loginBankController"
      class="springexample.controller.LoginBankController">
      <property?name="sessionForm"><value>true</value></property>
      <property?name="commandName"><value>loginCommand</value></property>
      <property?name="commandClass">
      <value>springexample.commands.LoginCommand</value>
      </property>
      
      <property?name="authenticationService">
      <ref?bean="authenticationService"?/>
      </property>
      <property?name="accountServices">
      <ref?bean="accountServices"?/>
      </property>
      <property?name="formView">
      <value>login</value>
      </property>
      <property?name="successView">
      <value>accountdetail</value>
      </property>
      
      </bean>
      
      commandClass?和?commandName?標記決定將在視圖頁面中活動的?bean。例如,可以通過?login.jsp?頁面訪問?loginCommand?bean,這個頁面是應用程序的登錄頁面。一旦用戶提交了登錄頁面,應用程序就可以從?LoginBankController?的?onSubmit()?方法中的命令對象檢索出表單數據。
      
      視圖解析器
      
      Spring?MVC?的?視圖解析器?把每個邏輯名稱解析成實際的資源,即包含帳戶信息的?JSP?文件。我用的是?Spring?的?InternalResourceViewResolver,如?清單?6?所示。
      
      因為我在?JSP?頁面中使用了?JSTL?標記,所以用戶的登錄名稱解析成資源?/jsp/login.jsp,而?viewClass?成為?JstlView。
      
      驗證和帳戶服務
      
      就像前面提到的,LoginBankController?內部連接了?Spring?的?AccountServices?和?AuthenticationService。AuthenticationService?類處理銀行應用程序的驗證。AccountServices?類處理典型的銀行服務,例如查找交易和電匯。清單?7?顯示了銀行應用程序的驗證和帳戶服務的配置。
      
      清單?7.?配置驗證和帳戶服務
      
      <beans>
      
      <bean?id="accountServices"
      class="springexample.services.AccountServices">
      
      </bean>
      
      <bean?id="authenticationService"
      class="springexample.services.AuthenticationService">
      
      </bean>
      
      </beans>
      
      以上服務在?sampleBanking-services.xml?中注冊,然后裝入?web.xml?文件中,就像?前面討論的那樣。控制器和服務配置好后,這個簡單的應用程序就完成了。現在我們來看看部署和測試它時會發生什么!
      
      部署應用程序
      
      我把示例應用程序部署在?Tomcat?servlet?容器中。Tomcat?是?Java?Servlet?和?Java?ServerPagest?技術的官方參考實現中使用的?servlet?容器。如果以前沒這么做過,請?下載?jakarta-tomcat-5.0.28.exe?并運行它把?Tomcat?安裝到自己喜歡的任何位置,例如?c:\tomcat5.0。
      
      接下來,下載示例代碼?并釋放到驅動器(例如?c:\?)上。創建了?Spring?項目的文件夾之后,打開它并把?spring-banking?子文件夾拷貝到?c:\tomvat5.0\webapps。spring-banking?文件夾是一個?Web?檔案,里面包含?Spring?MVC?示例應用程序。lib?文件夾包含應用程序需要的?Spring?框架、與Spring?相關的?MVC?庫以及?JSTL?標記庫和?jar?文件。
      
      要啟動?Tomcat?服務器,請使用以下命令:
      
      cd?bin?C:\Tomcat?5.0\bin>?catalina.bat?start
      Tomcat?應當啟動并部署?Spring?MVC?示例應用程序。
      
      測試應用程序
      
      要測試應用程序,請打開?Web?瀏覽器,指向?http://localhost:tomcatport/springbanking?并用?Tomcat?服務器實際運行的端口替換?tomcatport。應當看到圖?1?所示的登錄屏幕。輸入用戶?ID?“admin”和口令“password”,并按下登錄按鈕。其他用戶?ID?或口令會造成來自驗證服務的錯誤。
      
      圖?1.?Spring?MVC?示例登錄屏幕


    登錄成功之后,會看到圖?2?所示的帳戶細節頁面。
      
      圖?2.?Spring?MVC?示例帳戶細節頁面
      


      結束語
      
      在三部分的?Spring?系列?的第三篇文章中,我介紹了?Spring?MVC?框架的特性。我演示了如何配置和開發?Spring?MVC?應用程序、如何配置?Spring?MVC?控制器和向其中插入依賴項、如何用?JavaServer?Pages?技術開發應用程序視圖,以及如何把自己的頁面與?Spring?MVC?的視圖層集成。總結這篇文章時,我演示了如何在?Tomcat?servlet?容器中部署應用程序以及如何在瀏覽器中測試它。

    posted on 2006-06-15 17:39 nbt 閱讀(378) 評論(0)  編輯  收藏 所屬分類: Spring框架

    <2006年6月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    導航

    統計

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    收藏夾

    Java技術網站

    友情鏈接

    國內一些開源網站

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲码在线中文在线观看| 亚洲第一综合天堂另类专| 免费能直接在线观看黄的视频 | 亚洲色大成网站www永久| 成人毛片免费观看视频大全| 日本中文字幕免费看| 久久久久亚洲AV成人片| 日韩免费视频一区| 欧洲人成在线免费| 亚洲欧美日韩国产精品一区| 日韩亚洲变态另类中文| 无人影院手机版在线观看免费| 免费一级特黄特色大片| 亚洲熟妇无码久久精品| 亚洲国产精品日韩| 亚洲黄色免费网站| j8又粗又长又硬又爽免费视频 | 亚洲精品二三区伊人久久| 亚洲国产天堂久久综合| 在线视频精品免费| 午夜在线免费视频| 亚洲一级毛片免费看| 国产91精品一区二区麻豆亚洲 | 亚洲综合一区国产精品| 国产亚洲精午夜久久久久久| 91手机看片国产永久免费| 两个人看的www高清免费视频| 亚洲中文字幕无码av永久| 麻豆亚洲AV永久无码精品久久| 亚洲精品国产高清不卡在线| 日本片免费观看一区二区| 成人妇女免费播放久久久| 国产精品亚洲一区二区在线观看 | 国产精品无码一区二区三区免费| 亚洲午夜免费视频| aaa毛片免费观看| 美女18毛片免费视频| 亚洲国产成人久久综合| 亚洲另类春色国产精品| 久久99亚洲网美利坚合众国| 国产亚洲成av片在线观看|