程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Unmi的Struts2學習筆記(三)

Unmi的Struts2學習筆記(三)

編輯:關於JAVA

連續幾日熬夜,以致左胸又起悶痛感,何來如此辛苦?不由自忖,人生至今, 印象中從來就沒有過安逸與幸福感。常要回避刺疼。

1. WebWork 的核心控制器是 ServletDispatcher,映射到 *.action 的 <url-pattern> 即可。在 WebWork 與 Struts2 的 struts.xml 和 struts.properties 相對應的分別是 xwork.xml 和 webwork.properties,文件 內容幾乎一樣,只幾個關鍵字的差異。

2. Struts2的 struts.xml 中 <action ../> 的 name 屬性相當於 struts1 的 <action ../>的 path 屬性,但在這裡不需要以 "/" 開始。

3. Action 中使用業務邏輯組件實例時,通常不直接 New,而會通過工廠方法 或 IOC 容器。雖然 WebWork 有 IOC 容器,但 Struts2 通常會使用 Spring 的 IOC。

4. 可把 struts.xml 拆成多個文件,如 struts-part1.xml、struts- part2.xml ... 等,然後在 struts.xml 中逐個 <include file="struts- part1.xml"/>、<include file="struts-part1.xml"/> ... 即可。看 看 struts2-core-x.x.x.jar 中的 struts-default.xml 為你內建了多少東西吧 。

5. Struts2 的官方說是它要求在支持 Servlet2.4/JSP2.0 的容器中運行,不 過我仍然把那個簡單的例子(web.xml 中用 web-app_2_3.dtd) 放到 Tomcat 4.1.30(支持到 Servlet2.3/JSP1.2) 下運行了一番,能正常工作,不知可能產生 的問題有哪些。

6. Struts2 還提供一種類似 Eclipse 那種可插拔的方式來安裝插件,看到下 載的 Struts2 的 lib 目錄下有好多 struts2-xxx-plugin.jar,這些包中都有一 個 struts-plugin.xml(就是一個 struts.xml 配置文件),當把 struts2-xxx- plugin.jar 拷入到 WEB-INF/lib 下,這個 struts-plugin.xml 就會自動被加載 。你也可以像這樣做自己的插件包。struts.properties 中屬性 struts.configuration.files=struts-default.xml,struts- plugin.xml,struts.xml。

7. struts.properties 中本人認為比較重要的屬性 struts.action.extension、struts.serve.static.browserCache、 struts.enable.SlashesInActionNames、struts.devMode、struts.i18n.reload 、struts.configuration.xml.reload、struts.custom.i18n.resources、 struts.i18n.encoding。好多屬性值都支持逗號分隔的多個值。默認的屬性配置 在 default.properties。

8. 默認情況,*.action 請求交給 Struts2 處理,你也可以改成其他擴展名 ,只要改 struts.properties 中的 struts.action.extension 屬性值,如 struts.action.extension=unmi,action,則*.unmi和*.action都會被 Struts2 處理了。

9. Struts2 比起 Struts1 來在開發時不僅改了 struts.xml 不用重啟應用, 就連改了國際化資源文件都可以不需要重啟應用。設置 struts.i18n.reload = true 即可。

10. Struts2 提供了兩種方式來管理 Struts2 屬性,既可以寫在 struts.properties,也可以寫在 struts.xml 中配置為 constant 元素,如 <constant name="struts.i18n.reload" value="true"/>。相信大多數人 還是傾向於寫在 struts.properties 中。

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