每一次創建jsp頁面之后jsp頁面的最上面的一段都會有<%@ page contentType="text/html; charset=utf-8" language="java"%>
這些信息,那么這些信息的作用是什么呢?下面讓小編來帶領來一起的了解學習一下吧!
這是jsp的page指令,主要的作用是用來設置一個JSP頁面的屬性。那么主要的屬性包含以下幾個:
contentType="text/html:網頁類型html
charset=utf-8"網頁編碼類型
language="java"網頁編程語言
<% @ page%>編程語法
我們在寫jsp頁面的時候經常會在頁面頭部使用如下代碼:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
那么 pageEncoding , contentType 分別用來做什么那?在解釋之前讓我們先了解下jsp從被請求到響應經歷的三個階段:
第一階段:
將jsp編譯成Servlet(.java)文件。用到的指令是pageEncoding,根據pageEncoding=“XXX”的指示,找到編碼的規則為“XXX”,服務器在將JSP文件編譯成.java文件時會根據pageEncoding的設定讀取jsp,結果是由指定的編碼方案翻譯成統一的UTF-8編碼的JAVA源碼(即.java)。
第二階段: 從Servlet文件(.java)到Java字節碼文件(.class),從UTF-8到UTF-8。在這一階段中,不論JSP編寫時候用的是什么編碼方案,經過這個階段的結果全部是UTF-8的encoding的java源碼。JAVAC用UTF-8的encoding讀取java源碼,編譯成UTF-8編碼的二進制碼(即.class),這是JVM對常數字串在二進制碼(java encoding)內表達的規范。這一過程是由JVM的內在規范決定的,不受外界控制。
第三階段: 從服務器到瀏覽器,這在一過程中用到的指令是contentType。服務器載入和執行由第二階段生成出來JAVA二進制碼,輸出的結果,也就是在客戶端可見到的結果,在這次輸出過程中,由contentType屬性中的charset來指定,將UTF8形式的二進制碼以charset的編碼形式來輸出。如果沒有人為設定,則默認的是ISO-8859-1的形式。
從以上過程可知:
pageEncoding
:說明jsp內容的編碼。
contentType:設置JSP源文件和響應正文的字符集編碼及MIME類型, contentType的
charset是指服務器發送給客戶端時的內容編碼
contentType 內容類型
text/html 說明是網頁 其實還有text/css 那就是樣式
charset 編碼方式
針對Unicode的可變長度字符編碼,又稱萬國碼
language 使用的語言(現在只支持java以后可以c、c++也會支持)
參考:cnblogs.com/wuyun-blog/p/6972728.html
https://zhidao.baidu.com/question/598654881.html