<%! int a=0; %>中的!是什么意思 当浏览器第二次访问以下jsp网页时的输出结果是 a=2 b=1<%!int a = 0;%> <% int b = 0; a++; b++; %> a:<%=a%><br> b:<%=b%> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <%! %> 声明语句 <%! Date myD = new Date(); %><% %> 代码语句 <% for(int i=0;i<10;i++) %><%@ %> 指令语句 <%@ page import="java.util.*" %> <%!int a = 0;%> //声明的变量a在是成员变量,在此处生命的方法或变量不属于service()方法体<%int b =0 %>//此处声明的变量在service方法中//具体区别可以写一个测试的jsp,运行tomcat,到work子目录下查看对应生成的java文件就知道了 <%!%>这是一个整体符号,表示里面的内容是声名语句 jsp请求会被翻译成servlet,编后执行,比如tomcat可以在work文件下找到翻译后的源码一个servlet在服务器中只有一个对应实例而servlet的service方法(doGet,doPost)是线程安全的,应用服务器给每一个客户端(线程)分配不同的内存区域(你可以理解为service方法里的局部变量)实现请求处理,而jsp中<%!int a = 0;%>相当于是在servlet里声明了实例变量,每个客户端都会访问这个变量,所以你每次访问的都是同一个a,它是线程不安全的。 Hibernate 问题 通知功能 大家帮忙看看这个应该用冒泡排序怎么实现 开发一个OA,有一个子模块用SPRING 哪个技术好 求助 各种大神请进 有关配置struts-config.xml老是要重启的问题,解决方法... 紧急求助!tomcat4.06服务mssql2000数据库取image字段会这么慢? 高分求struts实力教程(700) 从数据库中取记录用struts框架时,Action中怎么写,另外JSP中怎么调用 【求助】公司内部系统登陆问题 求一个java正则,在线等。
<% %> 代码语句 <% for(int i=0;i<10;i++) %>
<%@ %> 指令语句 <%@ page import="java.util.*" %>
<%int b =0 %>//此处声明的变量在service方法中//具体区别可以写一个测试的jsp,运行tomcat,到work子目录下查看对应生成的java文件就知道了
这是一个整体符号,表示里面的内容是声名语句
一个servlet在服务器中只有一个对应实例
而servlet的service方法(doGet,doPost)是线程安全的,应用服务器给每一个客户端(线程)分配不同的内存区域(你可以理解为service方法里的局部变量)实现请求处理,而jsp中<%!int a = 0;%>
相当于是在servlet里声明了实例变量,每个客户端都会访问这个变量,所以你每次访问的都是同一个a,它是线程不安全的。