用分层思想实现程序结构优化

1.前端jsp页面

首先我们新建好了一个前端jsp页面,页面中有一个表格,表格通过action的名字去寻找相对应的action。到这里信息就已经开始离开前端页面了。

2.web.xml配置文件

离开了前端页面的信息要去寻找相应的action,但是到哪里去找呢?web.xml中配置了struts核心控制器filter。

3.struts.xml配置文件

通过web.xml找到了struts.xml配置文件,然后通过user找到所属的package标签位置,它就会告诉你要将信息传往哪个类,然后执行该类中的add方法(上图例子)

4.UserAction类

现在信息已经进入了Action层, Action层只负责管理,而Service层负责实施。所以Action做的事情一般只有:
1.管理业务service
2.管理跳转(与struts.xml文件配合)

Action将信息传给了service
5.Service接口与Service实现类

信息通过Action层到达了Service层。Service层主要分为两部分:1.Service接口     2.Service接口实现     
为什么要定义了接口然后再去实现他呢?
这叫做面向接口编程。如果是一个人开发,接口的优势体现不出来。但是一个团队开发的话,优势就比较明显。同事可以调用你的service,而他只需要关心接口,不用关心具体的实现类。
编写的接口:

编写的实现类:

接口的实现类获取到传来的信息后,再将信息传给DAO
6.Dao接口与DAO实现类

Dao跟Service一样,也分为接口和实现类两部分。
Dao层使用了hibernate连接数据库 、操作数据库(增删改查),信息就通过Dao层存入了数据库中
Dao层接口:

Dao层的实现类:

7.其他基础类
信息已经从前端传到了数据库,但是要完成一系列步骤,还需要其他一些类的支持。
1.hibernate的工具类
一些固定而且经常使用的步骤我们期望做成一个工具类,以后再需要重复步骤时咱们仅需要引用此工具类就可以,从而避免了一直创建重复代码。比如加载数据库的驱动等,这里Hibernate中我们每个主程序都需要加载hibernate.cfg.xml文件、创建SessionFactory对象、创建Session对象、关闭session。这些都是固定化的步骤,因此我们将它们写在工具类HibernateUtil中
2.Model层
model,就跟“数学建模”中的“模”一样。一个现实中的问题要在人类解决,人类首先需要将其抽象成一个模型来分析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值