• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

JSP和servlet中变量声明的方法

发布: 2007-7-04 13:34 | 作者: admin | 来源:  网友评论 | 查看: 16次 | 进入软件测试论坛讨论

领测软件测试网 我们都知道在JSP中可以在<%!…%>标签之间声明变量和方法, 在<%…%>标签中也可以声明变量, 但是在这两个不同地方声明的变量的可见度也是不一样, 在此特别提醒广大初学者.
下面详细说明:
比如我们在simple.jsp中定义一下内容:
<%!
String a = null;
%>
<%
String b = null;
%>
当编译这个jsp的时候会生成一个java文件(和直接写servlet一样). Java中的内容大致如下
….
String a = null;
public void service(…) {
String b = null;
}
通过生成的java文件我们可以看出在servlet类中直接声明的变量和jsp中在<%!..%>块中声明的变量的作用范围是一样的. 在servlet的doPost和doGet方法中声明的变量和jsp中的<%..%>声明的变量的作用范围是一样的.

在<%!…%>中声明的变量相当于一个静态变量, 所有的并发应用程序都使用同一个变量
而在<%..%>中声明的变量只会在本次操作是有效的, 操作结束变量也就失效啦.
所以说在<%!…%>中只能声明静态的变量, 一般的变量必须在<%…%>中声明
同样在servlet中是如此, 在servlet类里面直接声明的变量在操作的时候也都使用同一个值, 一般类型的变量最好声明到doPost或者doGet方法中.

下面是一个在jsp中是个两种方法声明的变量测试的demo
测试的时候可以新打4个窗口(注意不能时候CTRL+N来开新窗口, 因为IE认为他们是同一个客户端), 同时提交一般就能开出现象来.

Demo下载地址: http://www.freewebs.com/javaclub/testVarDemo.rar

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网