日期:2014-05-20  浏览次数:20554 次

想问一段代码
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY>
<%! 
  int number=0;
  synchronized void countPeople()
  {
  number++;
  }
%>
<%
   
  countPeople();
%>
这是jsp的程序 我想之都他的执行顺序,到底是哪段先执行?请赐教,感谢

------解决方案--------------------

------解决方案--------------------
引用楼主 wongshiang 的帖子:
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY>
<%!
int number=0;
synchronized void countPeople()
{
number++;
}
%>
<%

countPeople();
%>
这是jsp的程序 我想之都他的执行顺序,到底是哪段先执行?请赐教,感谢

------解决方案--------------------
<%@ page contentType="text/html;charset=GB2312" %> 
<HTML> 
<BODY> 
<%! 
int number=0; 
synchronized void countPeople() 

number++; 
System.out.print("1");

%> 
<% 

countPeople(); 
System.out.print("2");
%> 


可以加 System.out.print 试试就知道了 

应该是先下面后上面
------解决方案--------------------
引用楼主 wongshiang 的帖子:
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY>
<%!
int number=0; //在Servlet里定义属性
synchronized void countPeople()//在Servlet里定义一个countPeople方法
{
number++;
}
%>
<%

countPeople();//在Servlet里面的XXXservice方法里面调用countPeople方法
//先定义..再调用.
%>

------解决方案--------------------
看一下编译后的servlet估计会一目了然


个人觉得应该是声明 先执行<%!%>