手動配置及開發Struts

 
Struts tutorial
這是 struts架構的指導。它包括一些step by step的小應用程序,可以讓你短時間內用struts工作。
內容:
  01.    介紹
  02.    Struts的安裝
  03.    第一個實驗:簡單的JSP頁
  04.    第二個實驗:struts的國際化
  05.    struts中的Forms
  06.    struts:介紹ActionForm
  07.    分離Book和BookForm的一個好方法
  08.    處理Invalid Entries
  09.    Recapitualation: Where we are
  10.    使用logic
  11.    Templates
  12.    FAQ
  13.    Beans to XML
  14.    Replacing JSP with XSLT
  15.    介紹AspectJ
  16.    用Ant Compilation和Distribution
     16.01.    安裝Ant
     16.02.    什麼是Ant
     16.03.    配置Ant
     16.04.    Ant的使用
  17.    結論
  18.    關於這個文檔的技術背景
  19.    關於作者
  20.    用戶註解
     20.01.    郵件
     20.02.    回執卡

Appendix:
 - Sources
 - Tables
 
01.    介紹
 在這個指導中我們將step by step開發一個小的應用程序。你應該有一些JSP和XML的經驗,並且有一個可以運行的應用服務器,我們選擇tomcat4.0.4。
02.    Struts的安裝
 請先將Struts.jar拷貝到你應用程序的lib目錄中,不用刪除你的struts目錄中的其他文件。結果如圖1所示。
03.    第一個實驗:簡單的JSP
 現在我們要做一個簡單的JSP頁,用來確認至此我們的操作是正確的。
 在strutsShop裏建一個BookView.jsp的文件。內容如下,按圖2所示在瀏覽器中運行:
04.          第二個實驗:struts的國際化
 我們將使用戶能用本國的語言瀏覽預定義的文本,進而接觸一些struts的功能。首先你要按照圖3拷貝一些文件到WEB-INF目錄下。在struts-html.tld文件裏有我們要用的標籤。這些我們在上接已經介紹了,你可以簡短的回顧一下。
struts-config.xml的配置清單如下,這是一個標準的清單,你以後的程序都可以以此爲基礎進行擴展:
web.xml的配置清單如下,這是一個標準的清單,你以後的程序都可以以此爲基礎進行擴展:
 
 
classes目錄下創建一個ApplicationResources.properties的文件(此文件名在web.xml中定義),打開它,輸入一行:index.title=Struts Tutorial。然後在創建一個ApplicationResources_de.properties文件,也輸入一行:index.title=Struts Einführung。其實這兩個文件就是當加載時會根據當前的瀏覽器而選擇英文或德文,這裏我們只能瞭解國際化過程來測試前者了。我們還需編寫BookView.jsp文件,如下:
可在瀏覽器中按圖4瀏覽,你可能需要重啓你的tomcat
 
 其實我們可以將國際化寫在一個文件中,就是將參數寫在一個屬性文件中。(這是作者的意圖,但我沒有各種版本的IE進行實驗)
 
05.          struts中的Forms
 在這一章我們將創建一個簡單的Bean(Book.java)和兩個JSP頁面,一個是創建新書的,另一個是顯示它的,我們也會第一次使用struts-config.xml文件。
 我們先在你的classes目錄下創建如下Book.java文件。
 我們還需要創建新書的JSP頁。我們將使用title,auther和number of pages三個字段,在此之前我們先要做一些工作,對於一個初學者這將有些難度。在你的BookView中加上以下內容:
再次運行,你將得到圖5所示內容,如果沒有錯,那你需要重啓tomcat;如果錯誤不一樣,沒關係,因爲他都是沒有在配置文件中找到mapping路徑。
接下來我們需要第二個JSP頁面CreateBook.jsp,代碼如下:
classes目錄下創建一個BookAction文件:
它沒按照struts要求編寫僅僅創建一本書並給它標題。然後編寫你的struts-config.xml:
 我們希望在struts中在bookForm和Book間建立連接。而且我們還用bookCreated定義了一個到BookView.jsp的轉發。最後我們用action=createBook.do屬性定義了我們的form做什麼。關於do:與接受CreateBook.jsp輸入信息的bookForm相關的bean,由createBook命令創建。
    按圖6編譯你的類。由於我是初手,在這裏遇見很多問題,所以耽誤了很久,不過它讓你學到很多東東。比如:javax.servlet要用到servlet.jar包;javac後跟a.java, 而java後跟a;還有我遇見了很原文提到的問題,很多都是由於自己編寫(沒有copy)而造成的馬虎。希望大家也能引起注意,到此除了ActionForm我們都已用到了。
 編譯成功後,在你的classes目錄下會增加兩個文件:Book.class和BookAction.class.
 重啓你的tomcat(每次改動config文件你都需要重啓,改動註冊表需要重啓機器)。現在在你的瀏覽器裏登陸CreateBook.jsp,如圖7:
 當你填寫後提交,另你失望的是什麼也沒有得到。這是由於我們並沒有ActionForm bean.
06.       struts:介紹ActionForm
 這節我們繼續做ActionForm bean來完成我們的例子。我們將用ActionForm得到合法的book的信息,並進行一些檢驗,例如沒有輸入標題等,向用戶提供錯誤或成功的信息。我們還將得到book的屬性並且能夠更改它。
 爲此我們需要一個ActionForm:它僅是一個簡單的容器,沒有應用程序邏輯,只有兩個方法:reset(),validate().在struts1.1裏,validate()方法被單獨作爲一個validate.xml文件。詳見參考資料二。
 現在我們做另一個類:BookForm.java。它將包含book的實例,並且有一些getXXX和setXXX的方法來訪問它。關於內部的方法可看struts架構介紹。
 我們還要做一些額外的工作。去看struts-config.xml文件,我們需要用這個新類與Form關聯,從而替代Book.java。因此我們必須改變form-beans: <form-bean name="bookForm" type="BookForm"/>.
 另外我們還有定義一下當錯誤發生時的信息,在你的配置文件中輸入:error.book.title=Error
 現在編譯你的類,重新啓動tomcat,重新登陸CreateBook.jsp.,輸入onebook,你將在tomcat的dos窗口看見如下圖所示:
 你也可以在重輸入其他的title,看看tomcat的dos窗口有什麼變化。
 07.    分離Book和BookForm的一個好方法
 上一節我們使用一個新類BookForm.java去訪問Book.java,而不用struts直接連接到Book.java。接下來,我們要解決在這兩個類中重複輸入getXXX和setXXX。Struts允許我們直接訪問實例的方法。這很容易,但需要理解。我們給出改變的CreateBook.jsp的代碼:
 正如你看到的,除了將title改爲book.title,我們什麼也沒做。現在你可以去掉BookForm.java中的getXXX和setXXX方法了,如下圖:(別忘記了也更改BookView.jsp,否則在你的tomcat窗口下After creation of book : null)
 你還應該改動BookAction.java,把String title = req.getParameter("title");中的title改爲book.title,然後重新編譯,這樣你的tomcat下的After creation of book :none中的none就會出現你輸入的名了。
08.    處理Invalid Entries
 我們將瞭解struts怎樣處理用戶無效的輸入,產生的錯誤信息支持不同語言。
 
  
 
參考資料
1. http://rzserv2.fhnon.de/~lg002556/struts/Doku.html
2. http://www.javaren.com/bbs/cgi-bin/topic.cgi?forum=36&topic=4&show=#lastviewpost
  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章