spring mvc(1) 爲何要使用mvc

在使用spring mvc以前,咱們首先要理解咱們爲何要使用spring mvc。關於這個問題咱們能夠看一下java web的簡單發展過程。前端

1. servlet 開發階段java

  上世紀90年代,隨着Internet和瀏覽器的飛速發展,基於瀏覽器的B/S模式隨之火爆發展起來。sun提出了Servlet體系,這個體系使得使用java程序員也能開發基於B/S架構的WEB應用程序,使用Servlet類將HTTP請求和響應封裝在標準JAVA類中來實現各類WEB應用方案。jquery

使用Servlet的一個問題是頁面的輸出經過Servlet類返回,這使得開發沒法方便的作到各類頁面效果和豐富多彩的風格程序員

因而sun借鑑asp推出了jspweb

2.jsp 開發階段ajax

  推出了jsp後,JAVA程序員也能象ASP的程序員那樣將服務端代碼添加在已經由美工設計好的靜態頁面上,通過一個JSP容器對JSP文件進行自動解析並轉換成Servlet類來交給WEB服務器運行。jsp理解就是先設計顯示頁面,再將顯示頁面轉成servlet輸出。spring

使用jsp提升了開發效率,但仍是存在一些問題:首先頁面中有大量的java邏輯代碼,前端美工在維護是不得不考慮這些邏輯代碼,而java程序員在維護java代碼是不得不考慮前端的顯示邏輯。後端

因而sun推出了mvc模式瀏覽器

3.mvc開發階段服務器

  mvc模式將程序分爲三個模塊:數據模塊(model)、業務邏輯模塊(controller),顯示模塊(view)。業務邏輯模塊(controller)接受請求,處理業務邏輯,最終生成數據(model),顯示模塊(view)接受數據(model)渲染頁面展現,最終返回顯示內容。

spring mvc的本質也就是將業務邏輯處理和顯示渲染分離開來,經過數據模塊進行關聯

題外話

  早期WEB應用程序頁面的現實主要經過服務器返回顯示頁面,瀏覽器只負責渲染。但隨着前端技術的發展尤爲是js、ajax、jquery等技術的發展。這些前端技術基本上已經承擔了頁面顯示和控制的功能,然後端只負責業務邏輯和返回顯示數據,這種模式下view和controller就已經分離。spring mvc隨着版本的迭代,也發送了不少變化,如今的spring mvc框架,除了本來的mvc分離目的外,相對servlet仍是提供了不少有用的功能,便於開發。

相關文章
相關標籤/搜索