JSP脚本元素...

为了更好的理解JSP,我从网上收集了有关JSP脚本元素的相关资料如下:

脚本元素:将Java代码插入到与jsp页面对应的servlet(n.小服务程序)中

JSP脚本元素的3种形式:1.表达式,2.Scriptlet(n.小脚本),3.声明。

------------------------------------------------------------------------------------------
1.JSP表达式标准语法:

   <%=JAVA表达式 %>     如: <%=a+b%>    <%-- 输出a+b的值 --%>
   

   JSP表达式xml语法:

   <jsp:expression>JAVA表达式</jsp:expression>    如: <jsp:expression>a+b</jsp:expression>

2.JSP表达式后面不加分号;

3.操作后的结果将转换为字符串,插入到当前servlet(n.小脚本)的输入流中

4.JSP表达式将生成Servlet(n.小脚本)的print语句,HTML转换为print语句时,使用双引号将文本引起来。

  JSP表达式转换为没有双引号的print语句。

5.这些语句都会放入_jspService方法中,无论doGet还是doPost都调用该_jspService方法。
------------------------------------------------------------------------------------------

Scriptlet(脚本段): 将Java代码插入到servlet(n.小脚本)的_jspService方法中。

 1,Scriptlet标准语法:

  <%java代码 %>


 Scriptlet的xml语法格式:

  <jsp:scriptlet> scriptlet </jsp:scriptlet>

 2,scriptlet语句后面要加分号。

 3,Scriptlet可以访问到表达式能够访问的所有自动定义变量。

 4,Scriptlet代码会按出现的次序插入到_jspService方法中。

 5,在Scriptlet中声明的变量都转译为_jspService方法中的本地变量。所以变量是线程安全的。
------------------------------------------------------------------------------------------

声明(declaration):将方法或字段定义插入到servlet类的主定义体中(_jspService方法除外)。

 1,声明的语法:

  <%!可在此处进行变量、类、方法的声明%>


 声明的xml语法格式:

  <jsp:declaration>可在此处进行变量、类、方法的声明</jsp:declaration>

 2,声明只在当前JSP页面中有效。

 3,声明不产生输出。


 4,不要使用JSP声明覆盖Servlet的(service方法)。

 5,可以使用JSP声明覆盖jspInit或jspDestroy方法来初始化和销毁JSP页面,而不要直接使用init和destroy方法。

 注意:这里是jspInit和jspDestroy而不是_jspInit和_jspDestroy方法。

 JSP容器会在调用_jspInit和_jspDestroy方法后调用自定义的jspInit和jspDestroy方法。
------------------------------------------------------------------------------------------

表达式,Scriptlet,声明的比较
 
 语法:

  Scriptlet 和 声明都是java语句,而JSP表达式只是表达式。一个完整的语句需要分号表示结束,而表达式不需要。

 Java代码插入位置:

  表达式:    _jspService方法的输出流的print方法中;

  Scriptlet : _jspService方法体中对应的位置。

  声明:       servlet类的主定义体中(_jspService方法除外);

 变量访问范围:

  表达式:    可以访问serlvet类中的类的域和_jspService方法中的局部变量。

  Scriptlet:    同表达式。

  声明:    不能访问声明外的局部变量,比如_jspService方法中的局部变量(隐含对象)。

 线程安全性:

  表达式和Scriptlet是线程安全的。

  声明是线程不安全的。

------------------------------------------------------------------------------------------

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

friendan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值