今天是劉小愛自學Java的第92天。html
感謝你的觀看,謝謝你。前端
話很少說,開始今天的學習:java
首先聲明:jsp這個技術基本被淘汰了,不過重要,用到它的可能性很低,可是有些企業仍是會用到的。web
花一天時間對其作一個簡單的瞭解。後端
1jsp出現的緣由瀏覽器
jsp這個技術的出現是爲了解決一個什麼問題?服務器
先看以下狀況:cookie
在Java代碼中,服務器要響應一個HTML頁面給瀏覽器,須要將標籤拼接在代碼中。session
這樣一頓操做下來就會顯得十分地繁瑣,操做麻煩不說,閱讀性還差。app
那有沒有什麼方法解決這個問題呢?
jsp技術就應運而生了,在jsp文件中,既能寫Java代碼,又能寫HTML代碼,特別地厲害。
2jsp定義
JSP全名爲Java Server Pages,翻譯爲java服務器頁面,其本質是一個簡化的Servlet。
它是由Sun公司倡導、許多公司參與一塊兒創建的一種動態網頁技術標準。
大白話就是一個既能書寫Java代碼又能書寫HTML代碼的文件。
3jsp爲何被淘汰了?
jsp被淘汰自己並非由於技術落後的緣由,它之因此被淘汰是由於行業趨勢。
如今強調先後端分離,前端寫前端的代碼,後端寫後端的代碼,沒有必要將前端和後端代碼融合在一塊兒,因此jsp使用就受限了。
固然也並非徹底就沒人用了,只是用的少了。
1在jsp中書寫代碼
①註釋格式
在jsp中的註釋格式爲:<%--註釋--%>
②Java代碼編寫
格式爲:<%Java代碼%>,在該格式裏面就能編寫Java代碼。
這樣編寫之後,在瀏覽器上輸入對應的路徑,就能發現能用Java語法在瀏覽器上輸入內容了。
以上也就完成了在jsp文件中寫Java代碼了。
2jsp執行流程
jsp文件爲什麼能夠寫Java代碼,其底層是怎麼樣的一個執行流程呢?畫圖講解:
①瀏覽器訪問demo01.jsp
根據對應的路徑來訪問jsp文件,該jsp文件會被轉化成兩個文件:
demo01_jsp.java和demo01_jsp.class。
這兩個文件對於Java開發者來講簡直不要太熟悉了:一個是Java源碼文件,一個是其對應的字節碼文件。
也就是說jsp文件其實底層被轉換成了Java文件,再執行的Java代碼。
②關於轉換後的Java源碼
打開對應的Java源碼文件,固然上圖中我只截圖了一部分作一個說明,其實源碼遠不止這麼點。
從截圖中的部分代碼能夠看出:
<%%>中的代碼被直接解析成java代碼。
html部分都被out.write("")方法以字符串的形式拼接,而後響應給瀏覽器。
繞來繞去其實仍是拼接,和最早開始的方法同樣,只不過說jsp中拼接被封裝了,不用咱們寫。
3三種書寫Java代碼的方式
①腳本聲明
格式:<%! 書寫Java代碼 %>
中間有一個感嘆號,這裏面也是能夠編寫Java代碼的。
查看其對應的Java源碼文件,會發現這塊代碼對應於源碼中的成員變量和成員方法
②腳本片斷
格式:<%書寫Java代碼 %>
它比①就少了一個感嘆號,其對應的是源碼中_jspService方法的Java代碼。
在Java中,方法裏面是不能定義一個新的方法的,因此方法定義只能用①的格式來編寫。
③腳本表達式
格式:<%="表達式" %>
其對應的Java代碼就是out.print()。
EL表達式就是專門來取代上面三種格式中③腳本表達式的。
格式爲:${str}。其就至關於<%=str%>,其中str爲一個變量。
1四大域對象
根據其範圍從小到大排列:
2從四大域對象中取值
①設定域對象的值
使用的方法都是setAttribute()方法,參數以鍵值對的方式存值,
②普通方式取值
以page域對象爲例,其格式爲:
${pageScope.pageKey}
pageKey爲page域對象對應的key,使用這種方式就能取出域對象中的值了。
③簡寫方式取值
以page域對象爲例,格式爲:${pageKey}
將pageScope簡化了,直接就是一個key。
可是這樣就會有一個問題,key可能會重複。
畢竟key是人爲命名的,page域對象中的key和request域對象中的key可能同樣。
若是key重複了,會按照從小到大逐級查找。
3從Cookie中取值
①保存Cookie到瀏覽器
在LoginServlet中保存兩個Cookie到瀏覽器:
②取出Cookie對應的值
以usernameCookie爲例,這個Cookie中的key爲usename,根據key來取值。
格式爲:${cookie.username.value}
這樣作有什麼好處?作一個測試:
在第一次登陸輸入用戶名和密碼後,其數據會被保存在cookie中,從而被頁面讀取到。
再次刷新時,用戶名和密碼會自動出現,就不用再次輸入用戶名和密碼了。
謝謝你的觀看。
若是能夠的話,麻煩幫忙點個贊,謝謝你。
本文使用 mdnice 排版