主要就我所了解的J2EE开发的框架或开源项目做个介绍,可以根据需求选用适当的开源组件进行开发.主要还是以Spring为核心,也总结了一些以前web开发常用的开源工具和开源类库 [L 0`B9TD~
eOa:%{Kj
1持久层: beFVjVVHq
1)Hibernate rr fL[
这个不用介绍了,用的很频繁,用的比较多的是映射,包括继承映射和父子表映射 U7d%*g
对于DAO在这里介绍个在它基础上开发的包bba96,目前最新版本是bba96 2.0它对Hibernate进行了封装, 查询功能包括执行hsql或者sql查询/更新的方法,如果你要多层次逻辑的条件查询可以自己组装QueryObject.可以参考它做HibernateDAO.也可以直接利用它 z5PFppSQ
2) iBATIS GUJ[2/V~A
另一个ORM工具,Apache的,没有Hibernate那么集成,自由度比较大 sZ #Ck"n
*jo y%F
uBI?nv,
2:SpringMVC F|q-ZlpW-
原理说明和快速入门: r-
0BLq]~{
配置文件为: i|PQNhUe
Spring的配置文件默认为WEB-INF/xxxx-servelet.xm其中xxx为web.xml中org.springframework.web.servlet.DispatcherServlet的servlet-name。 AK\X{>$a!
Action分发: jZu">Eh,
Spring将按照配置文件定义的URL,Mapping到具体Controller类,再根据URL里的action= xxx或其他参数,利用反射调用Controller里对应的Action方法。 YHN@?}T()
输入数据绑定: a<l(zJptG
Spring提供Binder 通过名字的一一对应反射绑定Pojo,也可以直接从request.getParameter()取数据。 qt5CoxeJ
输入数据验证 O7|0t\)
Sping 提供了Validator接口当然还可以使用开源的Commons-Validaor支持最好 Kl<qp7o0
Interceptor(拦截器) :9N~wd
Spring的拦截器提供接口需要自己编写,在这点不如WebWork做的好.全面 {7&(2Z]z
(这里提一下WebWork和Struts的区别最主要的区别在于WebWork在建立一个Action时是新New一个对象而Struts是SingleMoule所有的都继承它的一个Action,所以根据项目需要合适的选择.) v]|^.x:
m`!C|?hu
bj4cW\b(
3:View层 _y&m4V