MVC与JavaEE三层架构之间有关系吗?

MVC与三层架构有关系吗?

JavaEE的三层架构在服务器开发时,一般情况下分为三层,其实我们真正在实践的时候,这三层是通过什么体现的呢?一般情况下是通过包结构体现的,就是你在你的工程当中,建三个包,一个叫web包,一个叫service包,一个叫dao包,通过这个体现出三层架构。那,MVC呢?我们画个图。

这个代表你的客户端,后面是服务器端和数据库。

在服务器的内部有我们的web工程,比如这就是我们的web工程

这个工程你在开发的时候,之前都没有使用三层架构,现在我使用三层架构开发,怎么开发呢?通过包结构进行三层的区分。

dao层无非就是操作数据库的,我们什么代码往dao层写呢?操作数据库的所有的代码。

比如说有表单进行提交,那么,首先找web层,找web层找谁呀?找servlet

然后servlet怎么做呢?比如说你的这个表单中有很多数据要进行封装,是要封装到一个JavaBean中,我要在servlet中,把我的数据javaBean封装,这些操作都是在web层

封装之后,你的数据就都在javaBean中封装的,如果封装完之后就完事了,那是不行的,相当于没干什么作用,比方按照注册来说,注册的时候有一个注册表单,填完数据之后,提交给servlet,servlet将你表单中提交的数据封装到一个比方说叫user当中,然后将这个user进行传,传给谁?传给service层,service层肯定有响应的业务代码,传给业务代码,那么,最终你得把user这个对象放到数据库中,service层是不会放到数据库的,service层交给dao层,dao层也是编写数据库操作的代码,

最终,如果数据库完事了,放完了,你是不是得逐层返回呀,数据库告诉dao层说你的数据已经放到数据库放成功了,然后dao层再告诉service层,然后service层再告诉web层

最后,你是不是得搞个页面给客户显示告诉他说,你注册成功了,此时你可以结合前面的知识点,当注册成功之后,5s之后跳转到首页,那是一些页面,应该使用jsp,然后,servlet就指派jsp,你给我显示什么,我这个数据给用户。

把这张图记到脑子中,是重点的重点,后期开发都是这种架构,都是三层架构加MVC,所以当别人再问你MVC跟三层架构是一回事吗?不是一回事。这个面试的时候很可能会问你,这就考你对这个架构到底理解的怎么样,一般会问:三层架构和MVC有关系吗?你可以回答,它们根本就没有关系,MVC是web开发当中的一种设计模式,但是javaEE的三层架构是javaEE开发的一种设计模式,它们根本就不是一回事,但是,在web层开发的时候,因为我要用servlet干什么事,我要用javaBean干什么事,我要用jsp干什么事,正好不约而同的这三个技术组合到一起就是我们的MVC,所以说,我们也可以说MVC是属于javaEE三层架构当中web层的技术。

我们是做服务端开发的,服务端就分为三层,所以,我们学的技术都是这三层的技术。sping相当于粘合剂,它可以把每一层串到一起,你就可以这么认为。

到后面我们要学的各层的技术。

当你到企业中工作了,因为在市面上真正企业开发过程当中,好多框架可能我们不学,但是你可以发现,那些框架都可以在这张图中找到属于它的位置。这个就是javaEE三层架构。我们以后开发,不管做多简单的项目,都按照上图的结构去开发。

猜你喜欢

转载自blog.csdn.net/G_66_hero/article/details/89310737