1、<%@ %>:这表示指令,主要用来提供整个jsp页面相关的信息,并且用来设定jsp页面的相关属性,例如网页的编码格式、语法、信息等。目前有三种指令:page、include、taglib。page指令是最复杂的jsp指令,它的主要功能为设定整个jsp页面的的属性和相关功能。include指令表示在jsp编译时引入一个文件包,这个引入过程是静态的,而引入的文件可以是jsp页面、html页面、文本文件或是一段java程序。taglib能让用户自定义新的标签。
2、<%! %>:是用来声明的,声明应用程序的全局变量或者当前页面的方法。例如:
<%! String name = "zhangsan"; %>
<%! public void show() {
System.out.print(name);
}%>
3、<% %>:JSP脚本 用来插入java代码的。例如:
<%if (count > 0){%>
<jsp:include page="grrc.jsp"></jsp:include>
<%}%>
4、<%= %>:JSP表达式 用来插入java表达式的。例如:
<div id="divtop">
<jsp:include page="<%=port.getF_link().trim() %>">
<jsp:param name="id" value="<%=id %>" />
<jsp:param name="skinid" value="<%=skinidStr %>"/>
<jsp:param name="width" value="<%=widthStr %>"/>
</jsp:include>
</div>
5、<%-- --%>:JSP声明语句 用来注释jsp代码的。例如:
<%-- <img src="<%=path %>/src/images/hwbgzdh.jpg" alt="ss" /> --%>
<%! %>和<% %>区别?
JSP声明语句:<%!声明语句%>,通常声明全局变量、常量、方法、类
JSP Scriptlet:<%java代码%>,其中可包含局部变量、java语句
<%!%>是声明标签
因为Jsp页在到tomcat的时候会被编译为java文件
jsp页面里面的所有东西都会包含在一个方法里
如果不用声明标签去声明这是个方法
就会报错了
因为方法里面不能有方法
jsp的本质就是servlet ,servlet有个方法就做doget()
使用<%!%>相当于定义一个成员变量,也就是一个servlet中的成员变量
使用<%%>相当于定义一个局部变量,就是在doget()方法里面的一个变量
jsp注释<%-- -- %> 和 <!-- --> 的区别
显示注释:即HTML注释,可以在客户端显示<!–注释部分-->
隐式注释:即JSP注释,不能在客户端显示<%--注释部分--%>
参考链接:https://blog.youkuaiyun.com/jzw230726/article/details/56669838
https://blog.youkuaiyun.com/caoPengFlying/article/details/78921679