曾經風光無限的jsp技術,為什麼現在很少有人用了呢?

2020-12-20 愚公要移山1

jsp技術作為曾經一度火爆的技術,在最近幾年確實使用率越來越低了,這篇文章帶你一塊探究一下jsp的從生到死。

一、jsp技術的誕生

在很久很久以前,那時候我們的開發都是通過servlet來完成的,這個servlet是什麼呢?我們先來認識一下:

servlet用Java語言編寫的伺服器端程序。主要功能是和瀏覽器進行交互,生成頁面展示。

代碼長下面這個樣子:

我們可以看到前端所展示的頁面,需要我們servlet去一個標籤一個標籤去生成,如果一個頁面超級複雜,動不動幾千行代碼,那這個servlet效率也就太低了。而且整個servlet代碼也會十分臃腫而且可讀性非常差。

這時候怎麼辦呢?sun公司很早就意識到了這個問題,於是便倡導很多公司一塊來創建了一種能夠動態生成html的新技術,不久之後jsp便誕生了。有效率的解決了上面servlet所出現的問題。

二、jsp的發展

既然jsp技術能夠解決剛剛servlet代碼裡面所出現的技術,我們來看一下是如何解決的:在這裡我們舉一個小例子,就是前端jsp向伺服器servlet發送請求圖書頁面的功能。

首先我們看一下servlet:

我們會發現,現在的servlet沒有一點html代碼了。我們只需要把數據交給jsp。此時我們的頁面展示就交給jsp來做了。現在我們來看一下jsp長什麼樣子:

這就是jsp,我們可以在html頁面中寫一些java代碼。對於我們程式設計師來說,在開發當中靜態的頁面我們只需要用html和css寫一些標籤來展示即可,對於那些動態的部分我們就可以使用java代碼。

那麼jsp和servlet是不是就是這種協作的關係,本質上有什麼區別呢?

其實jsp只是servlet的一種特殊形式,每一個jsp頁面就是一個servlet實例,通俗一點的話來說:jsp就是servlet,只不過servlet把一些業務功能剝離開來交給了或者是形成了jsp。明白了吧。在我們的項目編譯的時候就是把jsp編譯成了servlet。

你們會發現,這樣做其實挺好的,市場也驗證了一切,很快jsp技術流行開來,可是隨著時間的流逝,業務越來越複雜,jsp也開始跟不上時代了。

三、jsp的危機

我們先看一個對話場景:

java程式設計師:終於寫完了功能,是時候在界面上展示了

前端程式設計師:你功能寫完了,我沒有數據,在頁面什麼沒法展示呀

java程式設計師:數據我寫好了,你在jsp中調用XX方法就能獲取了,

前端程式設計師:我已經在jsp中寫好了這個方法,你為什麼自己寫了?

於是乎,無窮無盡的爭吵還在繼續當中。

這就是jsp的弊端,為什麼呢?我們可以來總結一下:

(1)動態和靜態資源放在一起,一旦伺服器出現狀況,前後臺一起玩完,用戶體驗極差。

(2)一旦jsp出現了問題,就需要前端後端發開人員一塊來分析解決,效率低。

(3)jsp無法使用nginx等。

(4)jsp頁面複雜,難以修改。

(5)第一次加載jsp需要編譯成servlet,時間久,而且業務量大的時候,jsp負擔太大。

(6)jsp對於開發人員簡直就是一個揮之不去的痛,太難了!!!

鑑於以上缺點,於是另外一套機制橫空出世了,這就是前後端分離。什麼是前後端分離呢?

前後端分離其實就是後端工程師只關注於後端頁面的開發,不再處理前端問題。前端工程師只關注於自己的頁面開發。需要數據交互的時候,兩者會有一份接口文檔。

就這樣這種思想架構很快的流行開來,這也就是為什麼jsp落寞的真正原因。從此java從jsp轉向了restful結構,springMCV也開始流行開來,並逐漸佔領了市場。前後端分離有什麼優點呢?我們來總結一下:

(1)動態和靜態資源分開存儲。

(2)出現bug能很快定位是前端還是後端。

(3)支持nginx。在高並發狀態下極其優秀。

(4)直接請求頁面,不用編譯,速度效率都提上來了。

(5)從此前端和後端是相親相愛的一家人了!!!!

四、jsp的落幕

又隨著時間的推移,jsp的時代基本上一去不復返了,因為我們又走入了移動互聯時代,這時候的客戶端可不是前端頁面了,還包括手機、汽車、電視等等各種設備,這種情況下,前後端必須要分離了。jsp基本上徹底告別了它的舞臺。

技術總是在不斷地發展和完善,只有技術的革新才會帶來社會的進步。

相關焦點

  • 為什麼有人說《拳皇97》現在很少人用特瑞了,全是因為無限連?
    為什麼有人說《拳皇97》現在很少人用特瑞了,其實道理很簡單,因為現在平臺不允許無限連。當年在街機廳裡各種社會打法,拳皇97的一哥絕對是特瑞,起手容易,連招簡單粗暴。只要撞到就是一套打暈帶走。但是現在不同了,平臺規則約定禁止無限連招,那特瑞最牛叉的招式被禁止,理所當然的跌落神壇。比壓制他不如千鶴,比賴皮不如猴子和包子、大豬。要是比指令投的話,那更完蛋,他直接沒有。
  • 中國最委屈的985大學,曾經風光無限,現在因這一條件不好被遺忘
    說到我國的好大學,很多人都會想到985工程大學和211工程大學,雖然現在教育部已經取消了985和211工程,但是985和211仍然有著不可替代的影響力,雖然我國只有39所985工程大學,但是這39所大學之間的差距也還是有的,最頂尖的當屬清華和北大了,而今天咱們要講的這所985,堪稱是最委屈的一所了
  • 曾是「最快打字速度」的輸入法,為什麼現在卻很少有人用了?
    導語:曾是「最快打字速度」的輸入法,為什麼現在卻很少有人用了?現在大部分的青年人都使用的是拼音輸入文字,甚至有的不想打字的年輕人,早早的習慣了語音聊天,語音轉換文字,網絡電話等一系列的方便交流方式,拼音輸入有時候都會被嫌棄太慢,太麻煩。
  • 北京這所211大學,曾經風光無限,如今默默無聞,原因使人惋惜
    而且退步的還很嚴重,曾經在高校之中也是風光無限,如今變得默默無聞,今天小編就為大家分享下這個特殊的高校吧!北京這所211大學,曾經風光無限,如今默默無聞,原因使人惋惜l 北京科技大學這所北京科技大學是國家直屬的重點大學,是國家「世界一流科學建設高校」是國家重點的211工程大學。
  • jsp技術被淘汰了?那還要不要學它?
    一、jsp概述1jsp出現的原因jsp這個技術的出現是為了解決一個什麼問題?先看如下情況:在Java代碼中,伺服器要響應一個HTML頁面給瀏覽器,需要將標籤拼接在代碼中。那有沒有什麼方法解決這個問題呢?jsp技術就應運而生了,在jsp文件中,既能寫Java代碼,又能寫HTML代碼,特別地厲害。
  • 盤點6 個被淘汰的 Java 技術,它們都曾經風光過!
    大家好啊,今天棧長給大家分享下我的開發歷程中,我知道的那些被淘汰的技術或者框架,有些我甚至都沒有用過,但我知道它曾經風光過。棧長去年中秋也用過 swing:這個中秋,我用 Java 畫了一個月餅!Swing 算是 Java 早期代替 AWT 的桌面應用 GUI 開發工具包,一個聽到就已經淘汰的技術,給我的感覺就是醜醜醜!現在與 AWT 一起在時間這個長河裡長眠。
  • JSP !
    後來就從 Angularjs 用到 React,又用回 Angular4,一直到現在都以最新版本的 Angular 為主,企業應用和網際網路應用都有開發。移動開發主要用 Ionic,React Native 也用過。為什麼要詳細介紹我過去和 JSP 以及前端框架相關的開發經歷呢?
  • 再見,JSP!!!
    後來就從Angularjs用到React,又用回Angular4,一直到現在都以最新版本的Angular為主,企業應用和網際網路應用都有開發。移動開發主要用Ionic,React Native也用過。為什麼要詳細介紹我過去和JSP以及前端框架相關的開發經歷呢?
  • 再見 JSP !
    後來就從Angularjs用到React,又用回Angular4,一直到現在都以最新版本的Angular為主,企業應用和網際網路應用都有開發。移動開發主要用Ionic,React Native也用過。為什麼要詳細介紹我過去和JSP以及前端框架相關的開發經歷呢?
  • 為什麼CD都很少有人用 還是有許多汽車上配備呢?
    為什麼好多幾十萬的車還要弄個CD呢? 汽車廠商為什麼不取消 CD 播放器? 大家都知道,CD 由於存儲密度已經太低,體積太大等問題是遲早會被淘汰的。不得不說,很多堅持的也更多是為了情懷而已。光碟作為存儲介質在大容量 U 盤、移動硬碟出現之後便開始衰敗了,這點在索尼的 PSP 上都能看出來。那麼為什麼汽車生產廠商為什麼還是沒有取消呢?
  • 為什麼農村現在很少有人打屁股針了?是什麼原因導致的?
    為什麼農村現在很少有人打屁股針了?是什麼原因導致的?不過現在打屁股針的人卻是少了很多,這到底是什麼原因導致的呢?老農認為至少跟下面這些是有關的。2、輸液好得更加快,都不願意打屁股針了其次還是打屁股針好的速度還是比較慢一些的,而輸液的話好的比較快,基本上感冒發燒輸液就可以好了,越來越多的農民也願意打大針,不願意再打小針了,這也是屁股針很少有人再打的原因了。
  • 曾經風光無限的英語四六級考試,現在已經越來越沒有存在感了嗎?
    對於大學英語四六級考試,很多大學生覺得其並不重要,但是又覺得不考過似乎還不應該,所以最終也就有了現在的很多大學生在畢業時還沒有通過大學英語四六級考試。那麼,曾經風光無限的英語四六級考試,現在已經越來越沒有存在感了嗎?
  • 真的嗎,Java 的 JSP 已經被淘汰了?
    控制層負責接收參數,調用相關業務層,封裝數據,以及路由到jsp頁面。然後jsp頁面上使用各種標籤(jstl/el)或者手寫java(<%=%>)將後臺的數據展現出來。對吧?我們先看這種情況,需求定完了,代碼寫完了,測試測完了,然後呢?要發布了吧?
  • 加油站員工月薪不足3千,為什麼卻很少有人辭職呢?終於知道了!
    但是總的來說差距也都是不是特別的大,而這些加油站因為也是國營加油站,所以說也都是一些大型的加油站,而在這些加油站裡面加油的員工也是非常的多的,而有很多的人也都表示加油站的員工月薪不足3000,但是為什麼卻很少有人辭職了?終於知道原因了。
  • 味精作為調味品,為什麼現在很少有人買進廚房呢?
    但為什麼十幾年後,大家都很少用味精呢?要了解這個問題,首先要了解一下味精是什麼時候進入千家萬戶的。味精,學名較穀氨酸鈉(MSG),屬於天然的最豐富的非必需胺基酸之一。它的誕生時間,其實不長,只有100多年,相比於人類是用食鹽幾千的歷史,那真是一件「新鮮」的調味品。
  • 曾經風光無限的五筆輸入法,為什麼輸給的拼音輸入法?原因就仨字
    話說在十幾年前電腦這玩意兒在中國還不是特別普及,但是人們已經意識到電腦是未來的趨勢,所以說每當有時間的時候都會讓孩子去學電腦,現在想像當初學電腦,並不是學什麼,很多人都在學的一個東西就是五筆輸入法。後來市面上又有一種輸入法叫做拼音輸入法,大家對於這兩種輸入法,曾經有過各種各樣的爭論,因為五筆輸入法可能要比拼音快很多很多,但是用拼音輸入法的人越來越多。據說有人可以在1分鐘的時間裡頭輸入將近200字。從使用效率上來講,五筆輸入法可能確實要比拼音輸入法高效很多。
  • 為什麼現在很少有人把越野車叫做「吉普車」了呢?
    這些都是在不了解車型概念,以「象形」的理解進行錯誤定義,但大家都認為這樣的定義沒有錯的認知中形成的錯誤定義;吉普車也不例外,而且在外國也有這種現象,比如有些影視作品中提到「把我的吉普車開過來」,結果開來的臺悍馬或者衛士,那麼究竟為什麼會用吉普來定義越野車呢?
  • 為什麼曾經很火的一兩元店,現在卻很少看到?幾個原因,很現實!
    導讀:為什麼曾經很火的一兩元店,現在卻很少看到?幾個原因,很現實!當年的一元兩元店那麼火爆,再看卻基本不存在,那麼究竟是什麼原因導致這些一元兩元店倒閉的呢?一元兩元店雖然價格便宜,但質量很差一人兩元店的老闆也不傻,賣這種一元兩元的東西。本來就賣的便宜,那老闆想賺錢的話,只能把進貨價壓的很低很低。可能一元兩元的東西,進貨價就只有那麼一毛兩毛。
  • 為什麼曾經的座椅都像沙發一樣舒適,而現在卻放棄了這種設計呢?
    可是很多消費者都會注意到,現在基本上已經再也看不到那樣的座椅了,反而採用了質感更硬,坐起來不是那麼舒適的皮質座椅。這是為什麼呢?為什麼曾經的座椅都像沙發一樣舒適,而現在卻放棄了這種設計呢?那麼為什麼會有這樣的改變呢?難道說是時代的發展促使座椅的落後?
  • 學生時代那些「混社會」的人風光無限,現在都過得怎麼樣?
    學生時代那些「混社會」的人風光無限,現在都過得怎麼樣?我們80後一代人可以說是看著「古惑仔」電影長大的一批人!那時候學校總是有人拉幫結派,磕頭拜把子!更有人選擇輟學「混社會」!那麼你身邊有人混社會嗎?他們現在過得怎麼樣了呢?