说到注释,相信大家肯定都不陌生,它是对程序代码的解释和说明。注释可以提高代码的可读性,让他人能够更加轻松地了解代码,从而提高团队合作开发的效率。
在 JSP 中可以使用以下 4 种注释:
在 JSP 规范中,它们都属于 JSP 中的注释,且语法规则和运行效果都各不相同。本节我们将对 JSP 中的各种注释进行介绍。
由于 JSP 文件中可以包含 HTML 标记,所以 HTML 中的注释同样可以在 JSP 文件中使用。HTML 注释语法如下:
HTML 注释中的内容是不会在客户端浏览器中显示的,但可以通过 HTML 源代码看到这些注释内容。
HTML 中的注释:
<!-- 欢迎提示信息 -->
<h1>欢迎访问</h1>
访问该 JSP 页面,客户端浏览器中会输出以下内容:
查看 HTML 源代码,您将看到以下内容:
<!-- 欢迎提示信息 -->
<h1>欢迎访问</h1>
在 HTML 注释中还可以嵌入 JSP 表达式,格式如下:
包含该注释语句的 JSP 页面被请求后,服务器能够自动识别并执行注释中的 JSP 表达式,对于注释中的其他内容则不做任何操作。
当服务器将执行结果返回给客户端浏览器后,注释的内容也不会在浏览器中显示。
当我们查看 HTML 源代码时,只能查看到 JSP 表达式执行后的结果,并不能看到原来的 JSP 表达式。
带有 JSP 表达式的注释:
<%
String name = "admin";
%>
<!--当前登录用户为:<%=name%>-->
<h1>欢迎您的到来,<%=name %></h1>
访问该 JSP 页面,客户端浏览器中会输出以下内容:
查看 HTML 源代码,您将看到以下内容:
<!--当前登录用户为:admin-->
<h1>欢迎您的到来,admin</h1>
无论是普通的 HTML 注释还是带有 JSP 表达式的注释,虽然都不能在客户端浏览器中显示,但是它们却都存在于 HTML 源代码中,客户端可以通过 HTML 源代码看到被注释的内容,所以严格来说,这两种注释其实并不安全。下面我们介绍的隐藏注释,就可以解决这个问题,
隐藏注释的内容,不会显示在客户端的任何位置(包括 HTML 源代码),安全性较高,其注释格式如下:
隐藏注释代码如下:
<%
Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = dateFormat.format(date);
%>
<%--获取当前时间 --%>
<h1>当前时间为:<%=nowTime %></h1>
访问该 JSP 页面,客户端浏览器中会输出以下内容:
查看 HTML 源代码,您将看到以下内容:
<h1>当前时间为:2021-06-17 10:51:17</h1>
脚本程序中包含的是一段 Java 代码,所以在脚本程序中的注释与在 Java 中的注释是相同的。
脚本程序中包括下面 3 种注释方法。
单行注释的格式如下:
符号“//”后面的内容为注释的内容,服务器对该内容不进行任何操作。由于脚本程序的代码在客户端通过查看源代码是不可见的,因此在脚本程序中通过该方法注释的内容也是不可见的。
JSP 文件中包含以下代码:
<%
int count=6; //定义一个计数变量
%>
计数变量 count:<%=count%>
访问该 JSP 页面,客户端浏览器中会输出以下内容:
查看 HTML 源代码,您将看到以下内容:
计数变量 count:6
由于服务器不会对注释的内容进行处理,因此可以通过该注释暂时删除某一行代码。例如:
<%
String name = "admin";
//name="cdsy";
%>
<h1>欢迎您:<%=name %></h1>
包含上述代码的 JSP 文件被执行后,会输出如下结果:
多行注释是通过“/*”与“*/”符号进行标记的,它们必须成对出现,在它们之间的注释内容可以换行。注释格式如下:
与单行注释一样,在“/*”与“*/”之间注释的所有内容,服务器都不会做任何处理,即使被注释的内容是 JSP 表达式或其他脚本程序也不例外。
多行注释的开始标记和结束标记可以不在同一个脚本程序中同时出现。
JSP 文件中包含以下代码:
<%
String name = "www.cdsy.xyz";
/*if ("www.cdsy.xyz".equals(name)) {%>
<h1>城东书院</h1>
<% }
*/%>
<h1><%=name %></h1>
访问该 JSP 页面,客户端浏览器中会输出以下内容:
若将 JSP 文件中的多行注释去掉,再次访问该 JSP 页面,客户端浏览器输出内容如下:
文档注释的内容会被 Javadoc 文档工具在生成文档时读取,文档是对代码结构和功能的描述。注释格式如下:
文档注释与多行注释很相似,但它是以“/**”符号作为其开始标记的,而不是“/*”。与多行注释一样,被注释的所有内容,服务器不会做任何处理。
在 Eclipse 中创建的一个 JSP 文件,该文件包含以下代码:
<%!
/**
@作者:城东书院
@网址:www.cdsy.xyz
*/
public String sayHello(String who) {
return "您好:" + who;
}%>
<h1><%out.println(sayHello("城东书院")); %></h1>
访问该 JSP 页面,客户端浏览器中会输出以下内容:
将鼠标指针移动到调用 sayHello() 方法的位置,Eclipse 会自动读取并展示文档注释的内容。