框架总结学习笔记(以用户注册的过程为例子)

最近学习了JSSH框架,为了给做一个好的总结,同时也能为大家带来一些框架理解上的参考,所以写了这篇博客,这篇博客就拿用户注册的过程为例子来进行框架的总结。

1)两层框架


这种框架是最古老的,逻辑上也是最简单的。其中业务逻辑层、表现层都是在jsp中写的,然后就直接访问数据库了。这种框架的优点是结构简单。缺点是可扩展性太差,比如我的客户端是拿Javase写的,但是业务逻辑全都在jsp中,假如用Javase写的客户端想往这个数据库中插入一条,那么就要把jsp的逻辑重新写一遍,然后再传到数据库。


2)两层架构+entity


这种框架就是在(1)的基础上加了一个entity,对应在用户注册的流程中,就是把用户当做一个entity,然后jsp再把这个entity存到数据库。当然,具体到代码上,就是new一个user类出来,然后去用这个类就行了。


3)三层架构+entity+service


这种框架就是在(2)的基础上加入了Service层,这层专门用来管理这些entity,当然,service层也可以叫做manager层。


4N层架构+entity+service_hibernate


这层在(3)的基础上引入了hibernate,其中userManager通过hibernateuser传到数据库,其实现在hibernate已经算是单独的一个层了,只是为了更加细致的分析架构,现在这层还没有抽象出来。


(5)N层架构+entity+service_hibernate_DAO


这层是在(4)的基础上假如了DAO层,抽象出DAO这层的原因有两个,第一:另外存在一种客户端,这种客户端不去访问你写的逻辑,而是直接想访问你数据库里面的内容,因此,就会抽象出一个DAO层,因为我不可能把数据库直接暴漏给你,因此我会给你一些对数据库的访问,你按照我给你的方法来访问数据库,这样就会对于数据库的访问更加安全。此外,为了更加灵活,也就是说不一定非要通过hibernate来访问数据库,因此这层不能写死,因此就抽象出DAO层了。


6N层架构+entity+service_hibernate_DAO_impl


这层就是实现了(5)中的DAO层。


7N层架构+entity+service_Impl_hibernate_DAO_impl


这层是在(6)的基础上加入了userManager层,由于将来也许会对userManager这一层也会有不同的实现,所以在userManager这一层再抽象出一层。当然,还要有实现层。

我们在客户端会访问userManager,然后new出来的是一个具体的userManager的实现,这个实现会帮我们把user存储到数据库,存储的过程中会调用userDAO的实现。


8N层架构+entity+service_Impl_hibernate_DAO_impl_structs


接下来引入structs,以上都是有jsp来充当controller,现在有structsfilter来充当controller,(filter也是一个servlet),这样就形成了一个MVC的层次。

客户端把用户提交的数据通过jsp传递到filterfilter传递给action,然后action执行一遍业务逻辑层后将view.jsp传送给filterfilter在将view.jsp反馈给client。所以对于structs2来说,就是filteraction。就是主要起到了controller的作用。


9N层架构+entity+service_Impl_hibernate_DAO_impl_structs_spring


UserManager new DAO的时候经过spring,当然,userManager本身也是有spring管理的useraction要用userManager的时候也是有spring帮我们注入的,也就是说,当structs2filter要生产action的时候,是由spring来管理的,因此,useraction也是由spring来管理。所以spring贯穿始终。当然,spring还有一个功能就是AOPAOP这里不详细解释了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值