MVC,"Model-View-Controller",即"模型-视图-控制器"。在J2EE应用程序中,视图(View)可能由JavaServerPage(JSP)承担;控制器(Controller)可能是一个servlet,现在一般用Struts实现;模型(Model)则是由一个实体Bean来实现。其结构特点:
web主要是客户端网页,是表层的东西,可接收和返回数据给用户。
domain主控制层,是用户与数据库交互的核心中转站,控制用户数据收集,控制请求转向。service是业务逻辑层,处理数据逻辑,验证数据。
dao是持久层,读写数据库。
web发出请求---domain接收控制数据转向(可以返回也可以进入service)---service验证数据正确性或者是否符合业务要求---dao存入,读出,依次返回。
“DOMAIN层”是范围,界线,也被用来批一个变量的有效作用域。也常用这个词做一个包,然后在里面放些DAO类文件。
“DB层”,这一层存放了链接数据库的字符串,以及JdbcTemplate类,直接访问数据库。因为在java中,
执行SQL语句的函数按照返回值可以分为三类,所以在这一层定义了JDBC模版类(JdbcTemplate),每一
次使用操作数据库时都要执行这一层的三个方法其中一个。
“DAO层(Data AccessObject数据访问对象层)”,是后台实现业务逻辑的java类,这一层存放了SQL语句(并
不执行SQL语句,语句传给DB层执行)。这一层调用“DB层”访问数据库,它只知道“DB层”的存在,不知道数
据库的存在。软件开发过程中 系统的设计开发一般分层设计,一般分为表现层、控制层、业务逻辑层、数据
层,以此实现软件层次结构分离,各司其职。
“SERVICE层”,业务逻辑层,因为一个业务的实现,并不是一次数据库访问就可以完成的,所以这一层
通过N次调用“DAO层的方法”实现业务逻辑,它只知道“DAO层”的存在,不知道“DB层”和数据库的存
在。
“ACTION层”,调用业务逻辑层,根据返回的结果,控制JSP页面显示。它只知道业务层的存在。这一层
是入侵者的攻击平台。
“Form层”,把用户POST提交的信息封装成Form对象,经过验证后提交给ACTION层处理。
“JSP层”(显示层),这一层是最终显示给用户看的页面,同时也是入侵者的攻击平台。
用户通过访问ACTION层,自动会发生:“ACTION调用SERVICE,SERVICE调用DAO,DAO调用DB,DB执行SQL
语句返回结果给DAO,DAO返回给SERVICE,SERVICE返回给ACTION,ACTION把数据显示到JSP里返回给用户”。
链接:http://413526408-qq-com.iteye.com/blog/890155
http://dysfzhoulong.iteye.com/blog/731749