一、JSP注釋格式來源
JSP是Sun Microsystems公司制定的一種服務器端動態網頁技術的組件規范,其主體由HTML、CSS、JavaScript和Java拼湊組成。
正是因為JSP是一種組件規范,也就是說JSP是多種語言技術的整合,使得JSP必須能夠盡可能兼容多種語言的注釋。
二、JSP注釋格式內容
1、前端相關
1)HTLM格式注釋: <!-- 注釋內容 -->(多行注釋)
2)CSS格式注釋: /* 注釋內容 */(多行注釋)
3)JavaScript注釋: /* 注釋內容 */ (多行注釋)、 // 注釋內容(單行注釋)
2、Java語言
1)單行注釋: // 注釋內容
2)多行注釋: /* 注釋內容 */
3)文檔注釋: JSP中不存在Java的文檔注釋
3、JSP特有注釋
1)多行注釋:<%-- 注釋內容 --%>
三、JSP注釋格式應用舉例
本例子將包括盡可能多的區別,以便讀者能夠完全明白JSP注釋的區別。使用的編譯器是MyEclipse,並顯示語法高亮。選擇的瀏覽器是Chrome(webkit2內核)。

1 <%@ page pageEncoding="utf-8" %> 2 <%@ page contentType="text/html;charset=utf-8" %> 3 <!DOCTYPE html> 4 <html> 5 <head> 6 <title>JSP注釋格式</title> 7 <style type="text/css"> 8 /* 這是CSS注釋內容 */ 9 </style> 10 <script type="text/javascript"> 11 // 這是javascript注釋內容1 12 /* 這是javascript注釋內容2 */ 13 </script> 14 </head> 15 <body> 16 <!-- 17 out.println("HTML注釋內Java代碼仍然可以運行") 18 --> 19 20 <% 21 /* 連續輸出10個"Hello World!" */ 22 for(int i = 0; i < 10; i++) { 23 out.println("Hello World!"); // out是JSP的隱含對象,其實就是打印流對象 24 } 25 %> 26 <%-- 27 <!-- HTML代碼也不會被運行 --> 28 out.println("這里的Java代碼不會被運行"); 29 也就是說,JSP特有的注釋能夠注釋掉所有語言的內容 30 --%> 31 </body> 32 </html>
瀏覽器端顯示的結果如下:
從上面的代碼以及在客戶端運行的結果來看,不同的注釋是由不同的效果的。基本的規律總結如下:
1、前端技術注釋
1)<!-- HTML注釋內容 --> ,內容顯示在瀏覽器源代碼中的,內容Java代碼的內容作為文本輸出(不運行)。
2)/* CSS注釋內容,或Javascript注釋內容 */, // JavaScript注釋內容,顯示在瀏覽器源代碼中。
這是因為前端技術本身的因素。
2、JSP特有注釋
JSP特有注釋<%-- 所有內容 --%>,內部的所有內容都不會在瀏覽器顯示,里面的Java代碼也不會運行。
3、Java語言注釋
Java語言注釋,無論是單行注釋還是多行注釋,都是不會在瀏覽器頁面中顯示的,這是屬於后端的內容。
結論:在瀏覽器中能夠顯示在源代碼中的注釋只能夠是HTML、CSS、JavaScript的注釋,后端的注釋只能在服務器端的源代碼中看到。
四、多行注釋、引號、幀相似性的原理分析
宏觀上看是因為存在配對問題,但從計算機底層來看就涉及到如何判斷字節流的問題。如圖計算機網絡的數據幀,接收方接收的是連續的比特流,得判斷哪個時候是一個幀的開始,哪個時候是一個幀的結束,這些都是需要標志來區分的。基於這個思路,理解多行注釋和引號的問題也容易多了。