< % % >和< % !%>的不同之处在于:翻译不同,定义不同,声明不同。
一、翻译不同
1. <%%>:将<%%>的内容转换为Servlet的服务方法。
2.< % !% >: < %!%>的内容被直接翻译到Servlet类中。
二、定义不同
1. <%%>: <%%>定义局部变量或调用方法,但不能定义方法。
2.< % !% >: < %!局部变量和方法不能仅由%>定义。
三、声明不同
1.<%%>:<%%>不能声明方法、属性、全局变量。
2.< % !% >: < %!%>可以声明方法、属性和全局变量。
jsp中<%%> 与<%!%>的区别为:翻译不同、定义不同、声明不同。
一、翻译不同
1、<%%> :<%%> 的内容会翻译在Servlet的Service方法中。
2、<%!%>:<%!%>的内容会直接翻译在Servlet类中。
二、定义不同
1、<%%> :<%%> 定义局部变量或者调用方法,但不能定义方法。
2、<%!%>:<%!%>不可以定义局部变量和方法。
三、声明不同
1、<%%> :<%%>不可以声明方法、属性、全局变量。
2、<%!%>:<%!%> 可以声明方法、属性、全局变量。
唯一区别(作用):
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这个方法的内部属性