首頁  >  文章  >  Java  >  Jakarta Struts學習之應用實踐

Jakarta Struts學習之應用實踐

黄舟
黄舟原創
2016-12-17 10:41:38984瀏覽

  本文是三篇學習Struts框架系列文章的第二篇。在本系列的第一篇中,我們大致瀏覽了Struts框架,框架的功能以及框架中應用到的各個模組。而本文,我將利用Struts 1.0為大家示範建立一個簡單的應用程式;在第三篇文章中將介紹如何利用Struts的標籤在jsp中存取applicationResource檔案中的資訊。 我們在這篇文章將會一步一步的講解Struts的應用,以這樣的形式打開Struts一道道神秘的大門,透過這樣的過程,相信也能激起你在應用開發中如何應用Struts的靈感。假如你對Struts的一些術語不是很清楚的話,可以參考本系列前一篇對Struts作大體介紹的文章。 
  
  再次重複一遍,本文需要讀者有以下幾方面的知識和經驗:JSP,Servlets,自訂標籤庫(Custom Tag libraries)和xml。此外,在本文中,我也會使用Jakarta專案組其他一些好東東,例如Tomcathttp://jakarta.apache.org/tomcat/index.Html(實作java Servlet和JSP官方標準的Servlet容器,通俗的講就是一個JSP的Web Server啦)和Anthttp://jakarta.apache.org/ant/index.html(基於Java的自動編譯發布工具,這可是好東東啊)。 
  
  作為一名一直使用前沿技術開發了諸多應用的技術人員,我一直堅信把握新技術,理解該技術開發的邏輯是至關重要的。但這往往就是陷住我們學習步伐的泥潭,正因如此,我打算將利用Struts開發的一套完整流程作為我們教學的案例。這個流程的這個案例可謂“麻雀雖小、五臟據全”,你完全可以將這個流程應用到你手頭那些複雜龐大的項目中,至少在我們的大項目中應用這個流程效果不錯。
  
  有開發複雜商業應用的開發人員都知道,客戶的需求總是在不停變幻,所以假如有一套規範的開發流程來遵循,當客戶提出新的需求時,我們至少可以明確哪些“無理”需求其實是合理可行的。好,接下裡我將在我的這個例子中向各位展示和應用整個流程。 
  
  本文中的範例程式碼是StrutsSample應用程式中的一部分,包括build.xml的完整程式碼可以到此處http://www.onjava.com/onjava/2001/10/31/examples/StrutsPartII.jar下載。
  
  Struts開發過程
  從Struts發布的版本號可以看出,Struts是個新玩意,她有好幾個部分組成,明智的你假如搞清楚了何時該開發將完成合適的部分,那將會完成更好的利用我們的開發時間。從我所發展的幾個利用Struts應用中,我大致總結出如下這個比較有效的開發步驟: 
  
  1,明確應用需求; 
  
  2,由用戶輸入和獲取數據的角度,出發和出道每一個使用者介面; 
  
  3,確定使用者介面的進入路徑; 
  
  4,由應用邏輯資訊決定動作映射表(ActionMapping); 函數; 
  
  6,由使用者介面中的資料資訊開發ActionForm和對應的資料校驗方法; 
  
  7,ActionMapping中將會被呼叫對應的Action或是這些頁面Action; 
  
  8,發展商業應用邏輯,就是對應的JavaBean、EJB或其他東東; 
  
  9,開發由ActionMap3. -config.xml和web.xml; 
  
  11,編譯/測試/發布。 
  
  明確應用需求
  開發任何應用系統的第一步就是收集使用者需求資訊。不管一個用戶邏輯初看上去多麼合理,但總有可能在開發時才發現它比看起來要難得多。所以,建議擬一份明確的使用者需求列表,這不只是出於開發的目的,還能透過該表分析使用者需求以確定哪些地方可能需要花更多的精力。 
  
  在我們這個StrutsSample專案中,應用需求就是: 
  
  作為一個展示Struts框架應用的完整例子,本範例完成的功能是使用者登入。目的只為明確Struts的應用,本範例將不會涉及到一般複雜應用系統中可能應用的安全性、資料庫、EJB開發等等相關技術。
  
  設計使用者介面
  這個應用程式中,包含以下三個使用者介面: 
  
  1)登入介面,用於使用者名稱和密碼輸入; 
  3)登入失敗時的錯誤提示介面。 
  
確定使用者介面的進入路徑
  1)登入介面作為此應用程式的預設頁面; 
  
  2)歡迎介面只有當成功登入後才能進入; 
  㟎  3)任何可能發生錯誤的提示頁;
  由應用邏輯資訊決定ActionMapping ActionMap昀三篇學??? ?本文是三篇學習Struts架構系列文章的第二篇。在本系列的第一篇中,我們大致瀏覽了Struts框架,框架的功能以及框架中應用到的各個模組。而本文,我將利用Struts 1.0為大家示範建立一個簡單的應用程式;在第三篇文章中將介紹如何利用Struts的標籤在JSP中存取ApplicationResource檔案中的資訊。 我們在這篇文章將會一步一步的講解Struts的應用,以這樣的形式打開Struts一道道神秘的大門,透過這樣的過程,相信也能激起你在應用開發中如何應用Struts的靈感。假如你對Struts的一些術語不是很清楚的話,可以參考本系列前一篇對Struts作大體介紹的文章。
  
  再次重複一遍,本文需要讀者有以下幾方面的知識和經驗:JSP,Servlets,自訂標籤庫(Custom Tag libraries)和XML。此外,在本文中,我也會使用Jakarta專案組其他一些好東東,例如Tomcathttp://jakarta.apache.org/tomcat/index.html(實作Java Servlet和JSP官方標準的Servlet容ping為整個應用確定的“線路圖”,在設定檔struts-config.xml 通常對ActionMapping進行定義,透過轉送請求(forward)來理順應用程式的處理流程,確定應用程式中每個使用者請求對應的動作。過程中就逐步確定了ActionMapping所需的信息,開發程式碼的過程就是在由草稿開始一步步完善struts-config.xml的過程。定義的一個。全域轉送(global forward)。全域的將會起作用,同樣,一個Action中目前定義的forward將覆蓋全域定義。 」這個映射,那麼Errorpage.jsp頁面將會顯示給用戶,儘管當前Action並沒有對其定義。我們繼續不斷的開發,項目日漸完善,項目相關的配置文件也會越來越具體。在下面的例子中,我們將以StrutsSample中所用到的struts-confug.xml檔為例,學習global forward和一個Action中相關映射的定義。 .LoginAction的實例,當Action處理使用者登入成功後將一個名為"sUCcess"的forward傳回,使用者也會看到Welcome.jsp頁面,假如登入失敗,Action會傳回對應的forward以再顯示Login.jsp給用戶,而如果處理過程中發生其他錯誤,Action將傳回全域定義的forward――“error”,用戶也會看到錯誤提示頁面Errorpage.jsp。
  
  
  
   for* ="error" path="/Errorpage.jsp"/>
  

  
  
 『
  
  
   
    type="com.oreilly.actions.LoginAction"
  name="loginForm"
  scope="request"🎀name="loginForm"
  scope="request"〔〦 forw昀三篇學??? ?ard name="success" path="/Welcome.jsp"/>
  
  

   
  在前一篇文章中,我們曾說過,struts-config.xml就是MVC模式的的Controller。在決定struts-config.xml中的設定資訊時,應該多花點時間精力在上面,以確保每一 

 以上就是Jakarta Struts學習應用實作的內容,而更多相關文章請關注PHP中文網(www .php.cn)! 

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn