我们就以一般3层的模式为例子既Web Tie. Domain Tie. Resource Tie..
其中的Resource Tie也就是我要省略的数据库层..
也就是说对于开发主要还是注重Web和Domain这两层....
1. Web层: Struts的MVC框架,不用我说大家也应该知了吧..不过自从我看了Spring的Web MVC框架之后,我觉得还是比较喜欢后者...
Struts的优势:
a. 多种不同的Action让用户选择, 可以说,Action中Struts的灵魂..对于Spring MVC来说, 它也有很多种Action, 其功能跟Struts都差不多...
b. ActionForm, 用了这个之后,有时候觉得挺好用的,可是也有时候觉它是一个累赘,至少我是这么认为的..对于Spring来说呢, 它只不过是一般的JavaBean而以,不过原理是一样的,通过request.getParameters()来populate到JavaBean里面去.
c. 多种的Tags.包含了Bean, Html, Logic..等之类的,相信这也是大家喜欢Struts的原因之一吧.....对于Spring来说呢, 没有这个支持,大家只能通过第三方的支持了,如:JSTL..我是比较喜欢用JSTL的,虽然Struts也有自己的Struts-EL(我觉是copy JSTL的,呵呵).....
d. validation..验证对于一个网站,特别是商业性的网站来说是必不可少的吧, 对于Struts的JS的验证,大家一定觉得很方便吧. 对, 特别是对于客户端的JS验证来说,可以减少很多服务器端的压力...........而对于Spring MVC来说,虽然也有validation这个功能,但是我觉得还是没有Struts的validation的功能强大.
e. Tiles布局..一个好的网站(不论是商业性的,还是非商业性的),即使有非常强大的功能,可是如果没有好的布局的话,相信服务器是很吃力的. 可是如果你的布局好的话, 就可以事半功倍了......Spring中也没有这种功能,不过你可以集成Tiles进去..
2. Domain层
首先我就先讲Hibernate. 这是一个ORM(object/relational mapping)..其它的大家也都应该知道吧..
所以主要的就是建立PO,然后生成hbm文件来对应到数据库中去...
上面我说了web 和 po..
对于一般的流程可以分为: web <=web tie||domain tie=> service <==> dao <==> po
接下来我可说Spring的应用:
a. 管理hibernate的SessionFactory, 这是Spring为hibernate提供为了更好的管理Session,
b. DAO的功能, Spring为Hibernate提供了HibernateDaoSupport+HibernateTemplate. 让用户更方便的处理PO..(dao)
c. 最后就是它的Transaction功能了, 这个是其必不可少的. (主要位于service)
这就是我所要讲得4个部分,能更好得结合Struts, Spring, Hibernate