求<%!a=1;%>与<%a=1;%>的区别?? 求jsp文件中的<%!a=1;%>与<%a=1;%>的区别??他们的原理,以及在Sevlet中代码意义! 求高手!!!不是JavaScript中的 越详细越好 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 呵呵,类型都没有,题目错误的。<%! %>声明的变量,在jsp页面转换为servlet类时,会作为该类的实例变量或类变量,慎用 如果是<%!int a=1;%>的话,会在jsp对应的类里定义一个成员int a=1;而<%int a=1;%>则是在jsp对应的_jspService方法中定义一个局部变量a可以根据这个去分析你的问题. <%! %> 这个是声明。 就是写在这里面的 是 jsp转成servlet 后的 成员属性 成员方法。<%= %> 这个是表达式。 输出变量等。 和 out.println() out.print() out.write() 作用都差不多,大同小异 表达式运用更灵活。 哦 看错了 <% %> 这个是小脚本。 你可以看翻译后 work 目录下的java文件 实际上除了声明的内容 都在一个方法内。写在小脚本的内容 是 原样的抽取到java文件中,其他的 都是 out.print() 输出的。 <%!%>这个是脚本元素中的声明,声明脚本元素用于声明字jsp页面的脚本语言中使用的变量和方法。生命必须是完整的声明语句,遵照Java语言的语法。声明不会在当前的输入流中产生任何输出。<%%>是脚本段,它是在请求处理期间要执行的java代码段。脚本段可以产生输出,并竟输出发送到客户端,也可以是一些流程控制语句。在脚本段中可以声明本地变量,在后面的脚本段中一样可以使用该变量后台原理:利用<%!%>声明的变量,在JSP容器转换JSP页面为Servlet类时,将作该类的实例变量或者类变量(声明时使用了static关键字),在多用户并发访问时,将导致线程安全的问题,除非你确认是单用户访问或者变量是只读的。(这里不讨论线程安全的问题)而<%%>,在JSP容器转换JSP页面为Servlet类时,页面中的代码会按照代码段中出现的次序,依次被转换为_jspService()方法中的代码,在脚本段生命的变量,将作为_jspService()方法中的本地变量,因此脚本段中的变量是线程安全的 说得很好,同样在servlet中声明的全局变量也是危险的吧? 建议使用<%= %>比较好,jsp页面定义变量和方法时尽量少使用全局的。不过脚本<% %>在页面的使用也不要过于频繁,一般要控制每个<% %>内5-7行代码! 如何取文件夹下所有文件名 ajax+displaytag标签实现局部刷新 求助,数组赋值错误。 關於jsp:forward page="aaa.jsp" 問題 怎样让Action不显示参数 uri=/WEB-INF/怎么办?急寻上海的所有JAVA朋友! java web 程序 服务器端问题 怎样把图形的热点链接产生的缝隙弄掉????????? 给我一个resin好吗 javaweb串口通信 JSP通过超连接传值到JSF页面,在JSF里怎么接受这个值?能接受的到吗? httpclient上传文件到网站的问题
<%! %>声明的变量,在jsp页面转换为servlet类时,
会作为该类的实例变量或类变量,慎用
<%!int a=1;%>的话,会在jsp对应的类里定义一个成员int a=1;
而
<%int a=1;%>则是在jsp对应的_jspService方法中定义一个局部变量a可以根据这个去分析你的问题.
<%= %> 这个是表达式。 输出变量等。 和 out.println() out.print() out.write() 作用都差不多,大同小异 表达式运用更灵活。
写在小脚本的内容 是 原样的抽取到java文件中,其他的 都是 out.print() 输出的。
生命必须是完整的声明语句,遵照Java语言的语法。声明不会在当前的输入流中产生任何输出。<%%>是脚本段,它是在请求处理期间要执行的java代码段。脚本段可以产生输出,并竟输出发送到客户端,也可以是一些流程控制语句。在脚本段中可以声明本地变量,在后面的脚本段中一样可以使用该变量
后台原理:
利用<%!%>声明的变量,在JSP容器转换JSP页面为Servlet类时,将作该类的实例变量或者类变量(声明时使用了static关键字),在多用户并发访问时,将导致线程安全的问题,除非你确认是单用户访问或者变量是只读的。(这里不讨论线程安全的问题)而<%%>,在JSP容器转换JSP页面为Servlet类时,页面中的代码会按照代码段中出现的次序,
依次被转换为_jspService()方法中的代码,在脚本段生命的变量,将作为_jspService()方法中的本地变量,
因此脚本段中的变量是线程安全的
说得很好,同样在servlet中声明的全局变量也是危险的吧?
不过脚本<% %>在页面的使用也不要过于频繁,一般要控制每个<% %>内5-7行代码!