北京北大青鳥學(xué)校學(xué)術(shù)部老師將通過之后的幾篇文章,對J2EE開發(fā)的框架或開源項(xiàng)目向大家做個(gè)介紹,主要還是以Spring為核心,同時(shí)也總結(jié)了一些以前web開發(fā)常用的開源工具和開源類庫。今天北京北大青鳥學(xué)校將先介紹Hibernate、iBATIS以及SpringMVC。
1:持久層:
1)Hibernate
用的很頻繁,用的比較多的是映射,包括繼承映射和父子表映射
對于DAO在這里介紹個(gè)在它基礎(chǔ)上開發(fā)的包bba96,目前最新版本是bba96 2.0它對Hibernate進(jìn)行了封裝, 查詢功能包括執(zhí)行hsql或者sql查詢/更新的方法,如果你要多層次邏輯的條件查詢可以自己組裝QueryObject.可以參考它做HibernateDAO.也可以直接利用它
2) iBATIS
另一個(gè)ORM工具,Apache的,沒有Hibernate那么集成,自由度比較大 (北京北大青鳥學(xué)校)
2:SpringMVC
原理說明和快速入門:
配置文件為:
Spring的配置文件默認(rèn)為WEB-INF/xxxx-servelet.xm其中xxx為web.xml中org.springframework.web.servlet.DispatcherServlet的servlet-name。
Action分發(fā):
Spring將按照配置文件定義的URL,Mapping到具體Controller類,再根據(jù)URL里的action= xxx或其他參數(shù),利用反射調(diào)用Controller里對應(yīng)的Action方法。(北京北大青鳥學(xué)校)
輸入數(shù)據(jù)綁定:
Spring提供Binder 通過名字的一一對應(yīng)反射綁定Pojo,也可以直接從request.getParameter()取數(shù)據(jù)。
輸入數(shù)據(jù)驗(yàn)證
Sping 提供了Validator接口當(dāng)然還可以使用開源的Commons-Validaor支持最好
Interceptor(攔截器)
Spring的攔截器提供接口需要自己編寫,在這點(diǎn)不如WebWork做的全面
(北京北大青鳥學(xué)校提醒:WebWork和Struts的區(qū)別最主要的區(qū)別在于WebWork在建立一個(gè)Action時(shí)是新New一個(gè)對象而Struts是SingleMoule所有的都繼承它的一個(gè)Action,所以根據(jù)項(xiàng)目需要合適的選擇.)