说到Java Web架构我们不得不想到风靡一时的Spring Web MVC,Spring Web MVC实际上是一种基于Java的实现Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。
随着 Web技术的不断发展演化,衍生了大量的耳熟能详的Java Web开发框架,比如Spring,Hibernate和Struts 2等等。
Java Web开发框架中的三层架构:
1.表现层(Presentation layer)
2.业务逻辑层(Business Logic Layer)
3.数据访问层(Data access layer)
基于如上的三层架构模型,我们可以将该架构模式发展分为三个阶段:
阶段一:Servlet阶段
阶段二:SSH(Spring+Structs+Hibernate)阶段
阶段三:SSM阶段(Spring+SpringMVC+Mybatis)阶段
阶段一:Servlet/Filter扮演控制器角色
1.在该阶段架构模式中,Servlet/Filter扮演Controller角色,JSP扮演View角色,JavaBean扮演Model角色。
2.该阶段的数据库访问技术为具体DB的jdbc
该模式虽然实现了所谓的MVC模式,但却存在诸多问题:
(1)前后端分离不彻底。由于JSP技术前后端分离不彻底,开发人员往往会在JSP页面中嵌套Java代码,从而需要前端开发人员懂java技术
(2)JSP页面可读性差,编写效率低,尽管引入EL,JSTL等技术
(3)Sevlet/Filter作为控制器,面临的稳定性,安全性考验(Servlet是线程不安全的)等
(4)数据库访问技术采用传统的jdbc,造成过多的冗余代码
阶段二:SSH
1.在该架构模式中,Controller采用Spring框架技术,View采用Structs框架技术,DB访问技术采用Hibernate框架技术。
2.从SSH中,很容易看出前后端出现了专业化,精细化分工,且朝框架演变,如前端框架采用Structs,后端框架采用Spring等。
然而,SSH架构模式虽然解决了Servlet/Filter架构模式存在的问题,实现了专业化、精细化分工,实现了模块化和抽象化,但其却存在一个比较大的问题:框架笨重不灵活。如Hibernate虽然能满足业务需求,能解决业务,但其笨重不灵活,不能很好地实现可配置化的灵活方式,Structs也过于笨重。为了解决该问题,JavaWeb专家们又提出了另外一种架构模式,即SSM架构模式。
(三)阶段三:SSM
该模式中,Spring扮演Controller角色,SpringMVC扮演View角色(当然,小型系统,可直接采用SpringMVC即可),Mybatis扮演DB访问技术SSM架构模式,在当前的JavaEE中,算是比较流行的开发模式了,也是大都数企业的技术选型之一。当然,能与SSM相媲美的另一种设计思想,那就是微服务思想(SpringBoot+cloud技术等)。
以上就是Java Web架构发展的3个阶段,也是Web技术发展的必然趋势。随着Web技术的日新月异,我们也应该与时俱进,学习更多的新兴技术,关注本站的Java资讯,前沿最新的Java实时信息一手掌握!
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习