出错代码
<%
public void show(){
System.out.println("hello the world");
}
%>
改为全局变量正确
<!%
public void show(){
System.out.println("hello the world");
}
%>
这其实时一个java语法错误
java不允许在方法内声明方法,因为java的函数俗称成员函数,依赖对象。为了在方法内变相声明变量可以声明一个内部类或者匿名类来实现。
另外通过查看tomcat中的\work\Catalina文件夹下,编译后的jsp文件可以发现,声明的全局变量即为 e_jsp的成员变量,这个类最终间接继承于servlet
而声明的局部变量在e_jsp的_jspService方法中,这个方法间接重写的service方法。