jspMultiple annotations found at this line: - Syntax error on token "void", @ expected - Syntax er

出错代码

 <%
    	 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方法。

发布了41 篇原创文章 · 获赞 1 · 访问量 4727

猜你喜欢

转载自blog.csdn.net/tomorrow_shoe/article/details/96538884