国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

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

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

[[380599]]

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

一、jsp技術的誕生

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

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

長下面這個樣子:

  1. public class HelloWorld extends HttpServlet {   
  2.      public void doGet(HttpServletRequest request, HttpServletResponse response)   
  3.              throws ServletException, IOException {   
  4.          response.setContentType("text/html");   
  5.          PrintWriter out = response.getWriter();   
  6.          out.println("<html>");   
  7.          out.println("<head>");   
  8.          out.println("<title>Hello World</title>");   
  9.          out.println("</head>");   
  10.          out.println("<body>");   
  11.          out.println("<h1>Hello World!</h1>");   
  12.          out.println("</body>");   
  13.          out.println("</html>");   
  14.      }  
  15.  }   

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

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

二、jsp的發展

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

首先我們看一下servlet:

  1. public class List_book extends HttpServlet {           
  2.      public void doGet(HttpServletRequest request, HttpServletResponse response)   
  3.              throws ServletException, IOException {   
  4.         //聲明一個ArrayList.用來存放Book類中的數據   
  5.          ArrayList<Book> list = new ArrayList<Book>();  
  6.          for(int i=0;i<10;i++){ 
  7.                       Book book = new Book();   
  8.          book.setName(res.getString("name"+i));   
  9.          book.setAuthor(res.getString("author"+i));   
  10.          list.add(book);   
  11.          } 
  12.          //將list數據發送到.jap文件中   
  13.          request.getRequestDispatcher("ListBook.jsp").forward(request, response);   
  14.      }   
  15. }   

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

  1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 
  2. <%String path = request.getContextPath();%>  
  3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  4. <html>   
  5.  <head>    
  6.    <meta http-equiv="pragma" content="no-cache">  
  7.    <meta http-equiv="description" content="This is my page">  
  8.    <script></script>  
  9.   </head>   
  10.   <body>      
  11.    <% ArrayList list = (ArrayList) request.getAttribute("list");  %>    
  12.    <h2 align = "center">圖書列表</h2>   
  13.    <table border = 1px align = "center">    
  14.     <tr><th>圖書名稱</th><th>圖書作者</th></tr>    
  15.     <!-- 繼續使用jsp語句 循環放入存放于list中的Book實體類中的數據 -->    
  16.     <%      
  17.     for(int i = 0;i<list.size();i++){    
  18.      Book book =(Book)  
  19.      list.get(i);%>     
  20.      <tr><th><%=book.getName() %></th><th><%=book.getAuthor()%></th><tr>  
  21.      } 
  22.             %>   
  23.    </table>   
  24.   </body> 
  25.  </html> 

這就是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基本上徹底告別了它的舞臺。

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

本文轉載自微信公眾號「愚公要移山」,可以通過以下二維碼關注。轉載本文請聯系愚公要移山公眾號。

 

責任編輯:武曉燕 來源: 愚公要移山
相關推薦

2020-03-23 10:45:32

C語言C++Web

2010-04-02 17:59:37

云計算

2024-08-06 09:51:21

SpringHTTPJSON

2019-10-30 12:24:57

網絡安全安全風險網絡攻擊

2022-10-19 07:35:28

2022-01-04 21:45:43

蘋果6安卓手機

2020-07-21 11:30:30

Java技術開發

2020-11-07 16:42:02

Java技術開發

2010-08-04 09:01:00

2018-06-04 22:27:47

2024-01-02 10:38:22

Go語言數組

2023-04-26 07:06:56

CPU主板半導體器件

2020-07-19 15:39:37

Python開發工具

2019-03-19 09:00:14

Python 開發編程語言

2021-10-08 15:52:19

電腦蘋果Windows

2011-01-18 15:27:30

Postfix

2021-05-25 10:05:39

Python模擬導彈代碼

2021-11-15 09:32:06

浮點面試Java

2017-08-31 16:22:22

2021-10-13 09:00:19

排序數據集開發
點贊
收藏

51CTO技術棧公眾號

国产极品一区| 日韩欧美国产系列| 欧美性感一类影片在线播放| 欧美二区乱c黑人| 欧美 日韩 国产精品| 亚洲亚洲免费| 日本在线不卡一区| 亚洲一区二区三区小说| 女生裸体视频一区二区三区| 美女网站色91| 加勒比在线一区二区三区观看| 粉嫩的18在线观看极品精品| 久久精品91久久久久久再现| 捆绑调教日本一区二区三区| 欧美v日韩v国产v| 国产剧情在线| 欧洲国产伦久久久久久久| 二个人看的毛片| 素人啪啪色综合| 原千岁中文字幕| 欧美aaaaa成人免费观看视频| 精品国产一区二区三区免费| 欧美三级第一页| 99视频国产精品免费观看| 欧洲亚洲一区二区三区| 97精品视频在线| 久久不见久久见中文字幕免费 | 一区二区三区在线视频免费观看| 亚洲国产精品久久久久爰色欲| av综合在线播放| 大肉大捧一进一出好爽动态图| 国产清纯白嫩初高生在线观看91| 国产乱子夫妻xx黑人xyx真爽| av在线这里只有精品| 日韩av播放器| 国产精品国产三级国产普通话蜜臀 | 国内精品久久久久久久97牛牛 | 尤物网站在线| 欧美熟乱第一页| 日韩另类在线| 久久精品视频在线| 日本高清精品| 91精品国产综合久久香蕉的用户体验| 国产精品99久久久久久动医院| 91免费的视频在线播放| 国产情侣一区| 黄色激情在线视频| 亚洲图片自拍偷拍| www视频在线观看| 性欧美亚洲xxxx乳在线观看| 在线观看日韩| 欧美极品少妇无套实战| 国产精品护士白丝一区av| 精品视频三区| 日韩中文字幕免费看| 日韩在线不卡| 热久久最新网址| 一区二区三区四区蜜桃| 免费观看成人高潮| 超碰精品一区二区三区乱码 | 欧美另类交人妖| 99久久www免费| 亚洲区一区二区三区| 国产色综合久久| 97最新国自产拍视频在线完整在线看| 日韩麻豆第一页| 久久综合亚洲| 一区二区av| 亚洲精品久久久蜜桃| 大桥未久在线播放| 日本亚洲精品在线观看| 日韩精彩视频在线观看| 日本 片 成人 在线| 日韩亚洲欧美在线| 日韩激情毛片| 一区二区三视频| 亚洲一区二区中文在线| 都市激情久久综合| 国产精品视频99| 成人在线视频一区二区| 亚洲pron| 欧美国产亚洲视频| 日韩黄色片在线观看| 91中文字幕网| 亚洲新中文字幕| 国产精选一区| av五月天在线| 成人免费一区二区三区视频| 97视频久久久| 亚洲精品1234| 99热99热| 激情偷拍久久| http;//www.99re视频| 亚洲aa在线| 麻豆国产精品va在线观看不卡 | 欧美在线观看视频一区二区| 久久久久久爱| 热舞福利精品大尺度视频| 中文无字幕一区二区三区 | 色偷偷久久一区二区三区| 国产精品久久久久久久久久久久久久久 | 欧美亚洲国产怡红院影院| 91精品视频一区二区| 免费成人在线观看av| 洋洋av久久久久久久一区| 日韩成人综合网站| 中文字幕精品一区日韩| 欧美午夜精品久久久| 国产精品久久天天影视| 国产精品一品二品| 日本中文字幕电影| 精品久久久久久久久久 | 国产不卡一区二区在线播放| 91亚洲国产| 精品少妇无遮挡毛片| 欧美夫妻性生活| 欧美日韩女优| 久久视频在线直播| 中文字幕av一区二区三区佐山爱| 日韩中文字幕在线视频播放| 欧美精品高清| 日韩精品一区二区三区四| 先锋成人影音| 中文字幕久精品免费视频| 美女在线视频一区| 米奇精品一区二区三区| 成人18视频| 欧美亚洲国产bt| 欧美高清不卡| 国产精品视频二区三区| 一区二区三区日韩欧美| 一区二区欧美久久| 日韩激情视频在线观看| av网址在线播放| 日韩欧美在线观看强乱免费| 精品视频一区 二区 三区| 亚洲综合五月| 成人av电影观看| 国产一区视频观看| 日韩欧美一卡二卡| 久久成人免费电影| 韩国三级一区| 日韩免费高清在线| 欧美自拍视频在线观看| 午夜成人免费电影| 精品91视频| 国产在线看片免费视频在线观看| 色噜噜色狠狠狠狠狠综合色一| 日韩欧美一区中文| 成人激情免费电影网址| **爰片久久毛片| 欧美vide| 日韩电影免费观看高清完整| 日韩av在线导航| 国产三级精品视频| 婷婷综合社区| 成人性生交大片免费看网站| 久久久久久www| 97视频在线观看视频免费视频| 亚洲国产色一区| 夜夜夜久久久| 丁香久久综合| 蜜臀在线观看| 一区二区三区四区视频在线| y97精品国产97久久久久久| 最新国产精品久久精品| 欧美99久久| 亚洲人成在线网站| 男女羞羞视频网站| 超碰97人人人人人蜜桃| 亚洲人成网7777777国产| 国产日本一区二区| 欧美久久久久| 色猫猫成人app| h精品动漫在线观看| 欧美日韩在线观看一区二区三区| 中文字幕日韩电影| 欧美日韩中文字幕在线视频| 麻豆国产精品官网| 免费短视频成人日韩| 中文字幕在线三区| 成人女人a毛片在线看| 国产日产精品一区二区三区四区 | 国产欧美视频一区二区三区| 国产精一区二区三区| 久久97超碰国产精品超碰| 国产老女人精品毛片久久| 五月天久久久| 国产精品videossex撒尿| 免费不卡视频| 爱久久·www| 欧洲亚洲在线| 青青草免费观看免费视频在线| 精品少妇人欧美激情在线观看| 欧美激情第一页在线观看| 国产精品一区二区久久| 欧美大片在线免费观看| 精品国产区一区| 国产一区二区激情| 亚洲欧美日韩爽爽影院|