唯一区别(作用):
1、<% %>叫做脚本片段,其中写的内容会翻译在Servlet的Service方法中,显然我们可以在Service方法中定义局部变量或者调用其他方法,
但是不能在Service中再定义其他的方法,也就是我们可以在<%%>中定义局部变量或者调用方法,但不能定义方法。在jsp页面可以有多个脚本片段,但是多个脚本片段之间要保证结构完整。
2、<%!%>称作声明,其中写的内容将来会直接翻译在Servlet类中,因为我们可以在类中定义方法和属性以及全局变量,所以我们可以在<%!%>中声明方法、属性、全局变量。
3、<%=%>称作jsp表达式,用于将已经声明的变量或者表达式输出到网页上面。
扩展资料
特点
能以模板化的方式简单、高效地添加动态网页内容。可利用JavaBean和标签库技术复用常用的功能代码(设计好的组件容易实现重复利用,减少重复劳动)。
标签库不仅带有通用的内置标签(JSTL),而且支持可扩展功能的自定义标签。继承了Java语言的相对易用性。
脚本变量
1、out:JSPWriter,用来写入响应流的数据;
2、page:servlet自身;
3、request:HTTP request(请求)对象;
4、response:HTTP response(响应)对象;
5、session:HTTP session(服务端会话)对象。
参考资料来源:百度百科-JSP
<%! %>里声明的变量和方法都是作为类的属性和方法存在的,<% %>里不能声明方法
而<% %>里声明的变量则是作为_jspService这个方法的内部属性
例如
<%
String a = "test";
System.out.println(a);
out.println(a);
%>
<%! %>jsp申明标签,比如,申明一个变量。申明一个方法
比如
<%!
int a = 0;
public void fun1(){
}
%>
<%=
%>这个标签类似于<% out.println("test");%>意思是,输出一段东西在页面上
希望有帮助