Java开发之前后端分离

MVC模式的优点与不足:
1.每次请求必须经过"控制器 --> 模型 -->视图"这个流程,用户才能看到最终的页面,这个过程有些复杂.
2.实际上视图是依赖于模型的,如果没有模型,视图就无法呈现中的展现页面
3.渲染视图的过程是在服务端来完成的,最终呈现给浏览器的是有模型的视图页面,性能无法得到好的优化.

   为了使数据展现过程更加直接,并且提供更好的用户体验,我们有必要对MVC模式进行改进。不妨这样来尝试,首先从浏览器发送AJAX请求,然后服务端接受该请求并返回JSON数据返回给浏览器,最后在浏览器中进行界面渲染。

改进后的MVC模式如图2所示。


也就是说,我们输入的是AJAX请求,输出的是JSON数据,市面上有这样的技术来实现这个功能吗?答案是REST。

REST全称是Representational State Transfer(表述性状态转移),它是Roy Fielding博士在2000年写的一篇关于软件架构风格的论文,此文一出,威震四方!国内外许多知名互联网公司纷纷开始采用这种轻量级的Web服务,大家习惯将其称为RESTful Web Services,或简称REST服务。]

如果将浏览器这一端视为前端,而服务器那一端视为后端的话,可以将以上改进后的MVC模式简化为以下前后端分离模式,如图3所示。


整个框架包含两个应用,前端应用提供纯静态的HTML页面,后端应用发布REST API,前端需要通过AJAX调用后端发布的REST API,然而AJAX是不支持跨域访问的,也就是说,前后端两个应用必须在同一个域名下才能访问。这是非常严重的技术障碍,一定需要找到解决方案。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,268评论 25 708
  • 第一次用简书,觉得简书有着印象笔记没有的功能,在线分享资源,并且还是富文本编辑器类型。现在项目是采用前后端分离,用...
    zhuyuansj阅读 3,002评论 0 16
  • 亲爱的战友,你还好吗?离开军营30载,难忘的军营生活,更难忘的是你。 那年我刚满18岁,考不上大学只能去打工,命运...
    mimi播报阅读 318评论 8 6
  • 晚上送彭先生去机场。去的时候他自己开车,边开我们边讨论工作,有两次差点走错了,被我一声大喊又纠回来走到正确的路上。...
    小鱼要加油阅读 434评论 0 0