JavaWeb项目的大概分层
1.web层。
web层可以使用经典的MVC设计模式,又可以分为三个部分:
M-Model,模型,一般表现为提交的表单内容,请求参数等,是服务器与客户端交流的数据载体。
V-View,表现层,用来展示客户端请求的结果,服务器返回的数据经过渲染展示给用户。
C-Controller,控制器,是客户端与服务器的中间连接枢纽,它负责将客户端发来的请求分配到指定的方法,执行相应的业务逻辑,然后将服务器返回的数据分配到指定的view,view好、经过渲染展示给用户。
常用:struts,Spring MVC
2.业务逻辑层
业务层也是承接层,用来处理业务逻辑,通常使用数据库中的事务来进行,按照web层的要求来对数据层进行增删改查。
3.数据层。
数据层大概可以分为三个部分:DAO、文件系统和其他应用数据。
DAO-Data Access Objects数据访问对象,建立数据关系表和数据对象间的映射,常用hibernate、ibatis等。
文件系统-硬盘上的文件。
DAO由以下几个部分组成:
1.DatabaseConnection:专门负责数据库的打开与关闭操作的类。
2.VO:主要由属性、setter、getter方法组成,VO类中的属性与表中的字段相对应,每一个VO类的对象都表示表中的每一条记录。
3.DAO:主要定义操作的接口,定义一系列数据库的原子性操作,如增加、修改、删除和查询。
4.impl:DAO接口的真实实现类,完成具体的数据库操作,但是不负责数据的打开和关闭。
5.Proxy:代理实现类,主要完成数据库的打开和关闭,并且调用真实实现对象的操作。
6.Factory:工厂类,通过工厂类取得一个DAO的实例化对象。
三个层面各司其职,web层的Controller负责任务分配,要尽量简单,涉及到逻辑处理方面的代码都应该放到业务逻辑层。