亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

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

2019-11-18 13:00:29
字體:
來源:轉載
供稿:網友

  在 SPRing 系列 的第 3 部分中,我介紹 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 示例應用程序。
  
  <

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色偷偷综合社区| 精品国产一区av| 色小说视频一区| 欧美激情性做爰免费视频| 69久久夜色精品国产69| 国产精品久久久久久久美男| 黑人巨大精品欧美一区二区一视频| 国模gogo一区二区大胆私拍| 亚洲精品在线视频| 成人激情综合网| 亚洲精品视频久久| 欧美日韩不卡合集视频| 欧美在线一级va免费观看| 97香蕉超级碰碰久久免费的优势| 91麻豆国产精品| 国产视频精品久久久| 丁香五六月婷婷久久激情| 国产亚洲精品久久久久动| 国产精品美女久久久久av超清| 国产精品九九久久久久久久| 日韩国产高清污视频在线观看| 日韩av电影手机在线观看| 欧美韩国理论所午夜片917电影| 91香蕉嫩草神马影院在线观看| 欧美性xxxxxxx| 91在线视频免费| 久久久欧美精品| 51精品国产黑色丝袜高跟鞋| 日韩欧美中文字幕在线观看| 韩国19禁主播vip福利视频| 亚洲免费高清视频| 亚洲欧美日韩一区在线| 一本大道亚洲视频| 久久免费视频在线| 欧美日韩国产限制| 欧美专区国产专区| 亚洲国产精品va在线看黑人| 欧美成人免费播放| 中文字幕亚洲欧美日韩高清| 亚洲欧美日韩天堂| 亚洲人成伊人成综合网久久久| 久久国产精品免费视频| 精品自拍视频在线观看| 日韩免费在线免费观看| 亚洲电影av在线| 欧美日韩aaaa| 亚洲国产成人精品电影| 美女视频黄免费的亚洲男人天堂| 欧美一乱一性一交一视频| 日本精品中文字幕| 2019中文字幕在线观看| 国产精品久久久久高潮| 久久久欧美精品| 成人性生交大片免费看小说| 亚洲精品短视频| 色狠狠久久aa北条麻妃| 这里只有精品视频| 欧美成人免费小视频| 国产精品日韩av| 九九精品在线观看| 亚洲国产成人一区| 日韩欧美亚洲国产一区| 亚洲二区中文字幕| 久久夜色精品国产欧美乱| 欧美色播在线播放| 疯狂欧美牲乱大交777| 欧美大片在线影院| 国产极品精品在线观看| 欧美理论片在线观看| 欧美中文字幕视频在线观看| 欧美孕妇与黑人孕交| 欧美视频一二三| 91国内产香蕉| 亚洲qvod图片区电影| 日韩有码在线电影| 日韩精品在线私人| 一个人看的www欧美| 日韩电影第一页| 亚洲国产又黄又爽女人高潮的| 91av中文字幕| 91精品国产网站| 欧美精品情趣视频| 亚洲人免费视频| 欧美日韩中文字幕综合视频| 亚洲毛片一区二区| 国产精品久久网| 欧美成人免费大片| 欧美丝袜第一区| 北条麻妃久久精品| 一区二区三区无码高清视频| 亚洲欧洲高清在线| 国内精品久久久久久久久| 国产精品久久一| 日韩精品欧美激情| 久久91超碰青草是什么| 成人女保姆的销魂服务| 亚洲精品一区二区网址| 日韩久久免费电影| 国产精品成人播放| 久久精品中文字幕| 亚洲欧美精品一区二区| 亚洲欧美三级伦理| 国产精品视频公开费视频| 2021久久精品国产99国产精品| 亚洲va久久久噜噜噜久久天堂| 亚洲人成电影网站色…| 国内揄拍国内精品少妇国语| 九九热最新视频//这里只有精品| 国产欧美精品在线播放| 亚洲欧美999| 国产精品尤物福利片在线观看| 日韩免费观看在线观看| 伊人青青综合网站| 日韩hd视频在线观看| 日韩欧美在线观看| 午夜欧美大片免费观看| 久久亚洲综合国产精品99麻豆精品福利| 91九色精品视频| 日韩视频永久免费观看| 日韩一区二区欧美| 久久影视电视剧免费网站| 国内偷自视频区视频综合| 97视频在线观看免费高清完整版在线观看| 国产91色在线播放| 欧美激情视频一区二区三区不卡| 亚洲人成在线观看| 久久久这里只有精品视频| 久久国产精品免费视频| 欧美一级电影免费在线观看| 555www成人网| 在线观看欧美www| 国产精品av免费在线观看| 国产一区av在线| 欧美激情喷水视频| 国产aⅴ夜夜欢一区二区三区| 日韩av免费在线| 国产精品久久久一区| 中文字幕精品—区二区| 欧美最猛性xxxxx亚洲精品| 91精品国产综合久久香蕉最新版| 亚洲黄色av女优在线观看| 中文字幕欧美日韩va免费视频| 这里只有精品视频| 2023亚洲男人天堂| 欧美超级乱淫片喷水| 北条麻妃在线一区二区| 亚洲大胆人体视频| 91日本在线视频| 亚洲福利视频网站| 国产精品久久网| 亚洲欧洲视频在线| 日韩在线观看精品| 国产亚洲成精品久久| 亚洲影影院av| 美女黄色丝袜一区| 欧美一级电影免费在线观看| 77777少妇光屁股久久一区| 九九热视频这里只有精品| 精品久久久999| 日韩的一区二区| 精品网站999www| 亚洲精品suv精品一区二区| 亚洲 日韩 国产第一| 96sao精品视频在线观看|