jsp <% %>与<%! %>的区别
如题,不知这连个符号有什么区别,请大家指点一下!
------解决方案-------------------- <%这个里面写java代码%>  
  <%!--这个里面是JSP的注释--%>  
  <%! var可设置该页面的全局变量%>    
 按照印象写的^^自己考证下哦~
------解决方案--------------------一般 <%! %> 里放函数
------解决方案-------------------- <%%> 叫代码片段,用户装java代码的. <%!%> 叫声明,用于声明函数或变量的。相当于声明类的成员。
------解决方案--------------------jsp写的代码,经过Tomcat或别的什么容器编译后,最终是以_youjspname_jsp.java形式出现的,代码基本样式如下: 
 public final class _youjspname_jsp extends org.apache.jasper.runtime.HttpJspBase 
     implements org.apache.jasper.runtime.JspSourceDependent {   
  int n = 0; 
   private static java.util.Vector _jspx_dependants;   
   public java.util.List getDependants() { 
     return _jspx_dependants; 
   }   
   public void _jspService(HttpServletRequest request, HttpServletResponse response) 
         throws 
java.io.IOException, 
ServletException { 
     int m = 0; 
     ... 
   } 
 } 
 其中_jspService()是jsp的主体~~   
 在上面的代码中,有两个变量,全局变量n和局部变量m,其中n就是用 <%!int n = 0;%> 定义的,m是用 <%int m = 0;%> 定义的,如果你在 <%!%> 里面定义一个方法,那么这个方法将是class _youjspname_jsp的一个方法; <%%> 是不允许定义方法的,原因很明显:方法里面不允许定义方法!   
------解决方案-------------------- <%%> 是jspscript代码段,在由jsp转换成Servlet后  <%%> 中的代码是放在serive方法中,相当与   
      doGet()和doPost()方法 
  <%!%> 是jsp声明,用来定义属性和方法的,在由jsp转换成Servlet后  <%!%> 中的代码是放serive   
      方法之外的 
  <%=%> 是jsp表达式,在由jsp转换成Servlet后  <%=%> 中的代码是放在,service方法中的 
        out.println( "这里 ")中的其中的内容将直接输出到浏览器的页面中