關于項目框架設計的一點學習
摘要: 這兩天又在接觸一個新項目,對于如何設計一個項目的框架有了點概念,關于web項目(對于oa系統來說)的主體感覺比較需要設計的幾部分為:
1. 頁面模板定義:關于view層展示,無論對于top(頂層菜單)+left(左邊樹狀菜單)+right(主體內容)結構還是left+right結構,都需要首先定制一些模板,如struts中可使用tiles定義。
2. 分頁標簽:自定義一個比較通用的分頁標簽或者使用一些框架中自帶的(如struts-menu或者JSF中的t:dataScroller),不過比較好的做法是基于其源碼編寫自己的分頁標簽。
3. DB設計:可使用Power Deisign等設計數據庫表結構,產生相關的表。
4. 代碼自動生成:編寫代碼生成腳本如build.xml文件的編寫(根據DB生成代碼,也可以忽略3,先建model,再從model生成代碼和數據庫schema),生成Struts、Spring、Hibernate相關文件。
閱讀全文
Struts學習筆記之Action
摘要: 下面是Struts中的一些常用Action如DispatchAction/LookupDispatchAction/MappingDispatchAction/ForwardAction/IncludeAction的總結
1.DispatchAction extends BaseAction
一般的Action如
,在這里UserAction只需要繼承父類(extends Action類),然后重寫父類的execute方法,在execute中實現具體的控制轉向。
對于同一個formbean上進行的新增、修改、刪除等,我們需要分發不同的Action,這里有兩種做法。
閱讀全文
Java對象初始化順序
摘要: 由此可知當新建一java對象(上面main方法中new B())時,它的內部初始化順序為:
1. 父類靜態成員和靜態初始化塊,按在代碼中出現的順序依次執行
2. 子類靜態成員和靜態初始化塊,按在代碼中出現的順序依次執行
3. 父類實例成員和實例初始化塊,按在代碼中出現的順序依次執行
4. 父類構造方法
5. 子類實例成員和實例初始化塊,按在代碼中出現的順序依次執行
6. 子類構造方法
閱讀全文
Struts學習筆記之ActionForm
摘要: ActionForm中比較常用的兩個方法是reset()和validator():
// 恢復ActionForm屬性的默認值,如把boolean型設為true/false,字符串設為null。
public void reset( ActionMapping mapping, HttpServletRequest request ) { }
// validate只檢查數據格式和語法,不檢查數據是否符合業務邏輯。
public ActionErrors validate( ActionMapping mapping, HttpServletRequest request ) { return (null); }
這兩個方法的默認實現是不執行任何操作,我們可以重寫這兩個方法來實現相關邏輯。
注:對于每個request,控制器都會先調用ActionForm的reset()方法,然后表單數據組裝到ActionForm中。如ActionForm在request范圍內,那么對于每個新的request請求都會創建新的ActionForm實
閱讀全文
Struts源碼學習之ActionServlet(二)
摘要: ④ 調用initChain(); 讀取web.xml中命令鏈文件初始值chainConfig
protected String chainConfig = "org/apache/struts/chain/chain-config.xml";
//④initChain();
// 如沒有chainConfig參數,則使用默認"org/apache/struts/chain/chain-config.xml"
String value;
value = getServletConfig().getInitParameter("chainConfig");
if (value != null) {
chainConfig = value;
}
閱讀全文
Struts源碼學習之ActionServlet(一)
摘要: Struts源碼最新版本為struts-1.3.8-src.zip (12-Mar-2007 00:06)
學習筆記使用struts-1.3.5-src.zip 的源碼,
下載地址:http://archive.apache.org/dist/struts/source/
2. 下面研究一下struts的源碼,由于servlet設置了load-on-startup,所以tomcat啟動時會加載ActionServlet,也就是會執行ActionServlet中的init()方法,Struts 的初始化實現就是在這里實現的。
注:由于servlet的生命周期為 web容器加載和實例化類/init()初始化/service()請求處理/destroy()四個階段,而init()方法在tomcat啟動后只執行一次,所以如果想在tomcat啟動后用debug模式查看ActionServlet中init()方法的執行,可以把上面的
2注釋掉就可以了(不過真正開發時還是需要的)。
閱讀全文
Struts學習筆記之MVC模式
摘要: View:由JSP、Struts自定義標記庫、資源文件(MessageResources.properties)共同組成,通過ActionForm實現JSP表單的封裝,并映射到Model部分中JavaBean的相應屬性中,完成用戶數據的封裝。
注意:關于ActionForm,有些人認為它屬于Model層(仁者見仁,智者見智)。
事實上它不是Model,真正的Model應該是一個封裝了業務邏輯的的對象。
而ActionForm僅僅是一個form-bean,封裝了用戶提交的表單數據(物理View),可以在其中進行一些非業務邏輯的驗證,并沒有真正的映射到模型數據,因為與層的關系比較密切,所以實際上它應該算是View層(邏輯View)。
閱讀全文
Axis學習筆記
摘要: 實例(參考了axis-bin-1_4.zip\axis-1_4\samples\userguide中的例子)使用版本為Axis1.4,axis-bin-1_4.zip下載地址:
http://www.apache.org/dist/ws/axis/1_4/
目錄說明如下:
jws:存放*.jws文件
src:java源碼
WEB-INF/classes:java編譯后的class文件
WEB-INF/lib:需要用到的jar包
Axis支持三種web service開發方式,分別為:
1、Dynamic Invocation Interface ( DII)
2、Dynamic Proxy方式
3、Stubs方式
閱讀全文
SCJP1.4 and SCWCD1.4學習筆記整理下載
摘要: SCJP 1.4 score:81%
SCWCD 1.4 score:91%
下載地址:
藍小刀的學習筆記_SCJP1.4
藍小刀的學習筆記_SCWCD1.4
閱讀全文