<%! int i=0%>
具体作用是什莫?
在哪里经常用到?
我刚接触JSP还请大家不吝赐教!
具体作用是什莫?
在哪里经常用到?
我刚接触JSP还请大家不吝赐教!
解决方案 »
- 这样接口如何初始化,我现在总是为空
- 添加到JPanel的组件比如按钮之类的总是自动居中显示,我希望能由顶部开始显示
- 问一个关于PPT在游览器上面的问题
- 我是选 b c d 的
- 怎样用一个表达式正则表达式统计字符串中英文字母,中文和日文的个数啊?
- 我想知道JAVA怎样连接远程打印机?
- 懂递归和RecordSet的人帮我参谋一下!
- 怎么在application(java)中传递信息
- ■■请教:.CSS文件是什么文件,是如何编写的,我学习WEBSPHERE,多谢! ■■
- 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
- JApplet中有没有和getAppletContext()方法功能一致的方法呢
- 新手请教线程问题?
http://topic.csdn.net/t/20030102/16/1320844.html
<%! int i=0%> 等同于private static int i=0;注意是类一级的,不是doGet. doPost方法一级的
jsp中的脚本元素,在jsp文件中声明一个变量并初始化为0,此时你在整个jsp页面中就可以使用这个变量了。它相当于java类中的一个实例变量
首先每个JSP在运行之前都会编译成一个servlet,这个你可以通过Tomcat下边的work文件夹一直找到.比如说你项目名为a,JSP文件为b.jsp,那么你去到work下边的你的目录下边去找到b_jsp.java,这里就是一个JSP对应的Servlet文件.你会发现,JSP文件里普通的内容都是在那个
public void _jspService(HttpServletRequest request, HttpServletResponse response)
throws java.io.IOException, ServletException {
//jsp文件的代码
}
这个方法里边.
而其中的一些
<%! int i=0;%>
这里的多了一个!就会定义成类的属性.
为什么要这样?
因为还可以在JSP里定义方法
<%!
public int getC()
{
return i;
}
%>这时候就写Servlet一样的了.
out.println(this);
你就会发现为什么像是static一样的了.
主要是因为在一段时间内这个JSP只创建了一个对像.多个浏览器都访问都是同一个对像,所以结果像是stati的,实际不是.