主要就我所了解的J2EE开发的框架或开源项目做个介绍,可以根据需求选用适当的开源组件进行开发.主要还是以Spring为核心,也总结了一些以前web开发常用的开源工具和开源类库 oO! 1
.WN;TjEg!
1持久层: ,mAB)at
1)Hibernate GC5#1+fQ
这个不用介绍了,用的很频繁,用的比较多的是映射,包括继承映射和父子表映射 eXskwV+7
对于DAO在这里介绍个在它基础上开发的包bba96,目前最新版本是bba96 2.0它对Hibernate进行了封装, 查询功能包括执行hsql或者sql查询/更新的方法,如果你要多层次逻辑的条件查询可以自己组装QueryObject.可以参考它做HibernateDAO.也可以直接利用它 \'\N"g`Fr
2) iBATIS Y yQf
另一个ORM工具,Apache的,没有Hibernate那么集成,自由度比较大 7I2a*4}
/K2.V@T
PCV58n3
2:SpringMVC .{'Uvn
原理说明和快速入门: [[Jv)?jm
配置文件为: (%ri#r
Spring的配置文件默认为WEB-INF/xxxx-servelet.xm其中xxx为web.xml中org.springframework.web.servlet.DispatcherServlet的servlet-name。 *IMF4x5M
Action分发: Zi[{\7a
Spring将按照配置文件定义的URL,Mapping到具体Controller类,再根据URL里的action= xxx或其他参数,利用反射调用Controller里对应的Action方法。 ')1}#V/I
输入数据绑定: S0Rf>Eo4
Spring提供Binder 通过名字的一一对应反射绑定Pojo,也可以直接从request.getParameter()取数据。 ihpz}g
输入数据验证 .N-'; %8
Sping 提供了Validator接口当然还可以使用开源的Commons-Validaor支持最好 E.7AbHph0
Interceptor(拦截器) o{S}e!Vb
Spring的拦截器提供接口需要自己编写,在这点不如WebWork做的好.全面 #Tgz,e9
(这里提一下WebWork和Struts的区别最主要的区别在于WebWork在建立一个Action时是新New一个对象而Struts是SingleMoule所有的都继承它的一个Action,所以根据项目需要合适的选择.) ^C,/T2>
iOX4Kl
{kRDegby
3:View层 H3UX{|[
1) 标签库:JSP2.0/JSTL ~P"!DaAf
由于Webwork或Spring的标签确实很有限,一般view层用JSTL标签,而且据说JSTL设计很好速度是所有标签中最快的使用起来也很简单 |p=.Gg=2
B
$ y44
2) 富客户端:DOJO Widgets, YUI(YahooUI),FCKEditor, Coolest日历控件 ,oB k>
Dojo主要提供Tree, Tab等富客户端控件,可以用其进行辅助客户端开发 -N-4l
YahooUI和DOJO一样它有自己的一套javascript调试控制台,主要支持ajax开发也有很多Tree,Table,Menu等富客户端控件 Nj3^"}V
FCKEditor 最流行的文本编辑器 Oo3qiw
Coolest日历控件 目前很多日历控件可用,集成在项目中也比较简单,这个只是其中的一个,界面不错的说.. "c !oOaA
&2<&X( )
3) JavaScript:Prototype.js 1 o
Prototype.js作为javascript的成功的开源框架,封装了很多好用的功能,通过它很容易编写AJAX应用,现在AJAX技术逐渐成熟,框架资源比较丰富,比如YUI,DWR等等,也是因为JavaScript没有合适的调试工具,所以没有必要从零开始编写AJAX应用,个人认为多用一些成熟的Ajax框架实现无刷新更新页面是不错的选择. (DELxE
&}L36|A:
4)表格控件:Display Tag ,Extreme Table R&x7