一、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内核)。
<%@ page pageEncoding="utf-8" %>
<%@ page contentType="text/html;charset=utf-8" %>
<!DOCTYPE html>
<html>
<head>
<title>JSP注释格式</title>
<style type="text/css">
/* 这是CSS注释内容 */
</style>
<script type="text/javascript">
// 这是javascript注释内容1
/* 这是javascript注释内容2 */
</script>
</head>
<body>
<!--
out.println("HTML注释内Java代码仍然可以运行")
--> <%
/* 连续输出10个"Hello World!" */
for(int i = 0; i < 10; i++) {
out.println("Hello World!"); // out是JSP的隐含对象,其实就是打印流对象
}
%>
<%--
<!-- HTML代码也不会被运行 -->
out.println("这里的Java代码不会被运行");
也就是说,JSP特有的注释能够注释掉所有语言的内容
--%>
</body>
</html>
JSP注释格式
浏览器端显示的结果如下:
从上面的代码以及在客户端运行的结果来看,不同的注释是由不同的效果的。基本的规律总结如下:
1、前端技术注释
1)<!-- HTML注释内容 --> ,内容显示在浏览器源代码中的,内容Java代码的内容作为文本输出(不运行)。
2)/* CSS注释内容,或Javascript注释内容 */, // JavaScript注释内容,显示在浏览器源代码中。
这是因为前端技术本身的因素。
2、JSP特有注释
JSP特有注释<%-- 所有内容 --%>,内部的所有内容都不会在浏览器显示,里面的Java代码也不会运行。
3、Java语言注释
Java语言注释,无论是单行注释还是多行注释,都是不会在浏览器页面中显示的,这是属于后端的内容。
结论:在浏览器中能够显示在源代码中的注释只能够是HTML、CSS、JavaScript的注释,后端的注释只能在服务器端的源代码中看到。
四、多行注释、引号、帧相似性的原理分析
宏观上看是因为存在配对问题,但从计算机底层来看就涉及到如何判断字节流的问题。如图计算机网络的数据帧,接收方接收的是连续的比特流,得判断哪个时候是一个帧的开始,哪个时候是一个帧的结束,这些都是需要标志来区分的。基于这个思路,理解多行注释和引号的问题也容易多了。