MVC:
模型:处理业务逻辑 视图:展现界面,向用户呈现相关的数据 控制器:对请求进行处理,负责请求转发
处理过程:首先控制器接收用户的请求,调用相应的模型来进行业务处理,并返回数据给控制器。控制器调用相应的视图将数据回显给客户。
比如登录功能来说:首先前端界面可以通过表单提交或者a链接(传参url)或者ajax的方式发送一个请求,接着控制器接受到这个请求调用相应的方法进行处理,最后将处理返回的数据呈现给客户
好处:对程序的后期维护和扩展提供了方便,并且为程序某些部分的重用提供了方便。同时MVC也使程序简化,更加直观。比如以后要转到安卓/IOS端,他们的业务层是通用的,只是控制器变了(不是servlet/action等,而是安卓自己对应的控制器)
在项目中要对应MVC的话:View对应项目中的jsp,controler对应action,model对应service+dao层的业务逻辑和持久层的操作,也包括bean。
--- view--controller--model(dao+entity+service)
流程图如下:
JavaWeb的经典三层结构:
web层(表示层):包含JSP和Servlet(action/controller)等与WEB相关的内容; *
service业务层:业务层中不包含JavaWeb API,它只关心业务逻辑;
dao数据访问层:封装了对数据库的访问细节;
PS:所以我们在Java中一般说的是JavaWeb的三层结构
调用流程如下:
详细版本
简化版本