有一天一对恋人(user and password)来到政务大厅要办理登记结婚,一到政务大厅,哇!太多的部门与人员不知道该怎么办,到咨询台问问servlet小姐吧,于是把户口簿与身份证交给了servlet小姐,servlet看了后说:你去二楼的service层吧,这对恋人说:那到二楼的service找谁呢?servlet小姐在脑海里想了想(UserService userSvice = new UserService();),于是就马上给了他们一个对象userSvice先生,这对恋人来到了二楼的service层,找到userSvice先生,并说明情况。userSvice先生说,要办结婚证,那先要register,登记过后,又说你们还得去三楼的dao层,找UserDao,她会根据你们的身份证在电脑的数据库里查查。于是这对恋人又来到了三楼的dao层,UserDao说你们直接到一楼大厅等结果吧!UserDao查后把结果告诉userSvice先生,可以登记并在电脑的数据库里进行了登记注册,userSvice又将结果告知servlet小姐,于是servlet小姐把结婚证给了这对恋人,你们结婚登记成功,祝福你们!
理解:由于web是基于请求的响应模式,所以非常适合用MVC架构方式开发
Servlet起控制作用(Control)【当然还可以用Struts2以及Spring mvc等】,负责调用Model
Service、dao以及javaBean:属于Model层,代表一个个的功能。
Jsp:view负责显示
注意:为了严格遵守MVC,我们的功能实现过程时,要求所有的请求都发送到Servlet,开发中,不能发送一个请求直接到jsp页面。
三层架构
分层的优点:进行粗粒度耦合,容易扩展
如果项目对数据库的操作方式更改了,更改DAO层代码即可
如果项目上了新的功能,仅仅更改service
如果项目需要新的界面支持,更改UI即可(如:安卓终端、微信小程序等)