<%
int aaa = 0;
aaa = 3;
aaa = 4;
aaa = 5;
bei_shu = 40; //注意 ,bei_shu是下面全局区定义的全局变量,而全局变量对应的是servlet的一个成员变量
out.println("<br>" + (ff(aaa)));
%><%!
int bei_shu=1;
public int ff(int var001) {
int bbb = 0;
int ff = 0;
bbb = var001 * bei_shu;
ff = bbb;
return ff;
}%>
解决方案 »
- 页面有时会出现页面无法显示,刷新后又能正常显示了,这是为什么,请高手请教
- org.springframework.beans.factory.BeanCreationException
- iterator 里面取值问题
- 用debug监视程序 Cannot perform nested evaluations
- SSH 整合登陆实例报错!
- 为什么tomcat下正常,weblogic下就报错?
- 放假前问个小问题,commons-fileupload 1.1 如何取得文件后缀名,谢谢,顶都者有分!!!
- 请教一个Struts的问题
- jsp连接sql 2000server出现了问题 急盼解决
- 最近需要调用致远A8系统的一些接口!遇到单点登录获取Ticket的问题!不知道如何解决,有没有知道的朋友给讲解哈啊!
- ejb问题
- 求一个站内消息的案例
2、tomcat/只要响/应该/用户的访问,那么该变量就要被赋值,最终这个函数到底是不是多线程安全的呢?
3、某个用户访问//过/程,对应线程A,线程可能只被服务器响//应了一半/刚刚赋值完成,就切换到线/程B去了,线程B重新赋值,
然//后不等线程B执行完,又切换回来了,这个时候,//变量bei_shu已经//不是线程A///原来设定的值了。然后,接着运行,就出错了/初次发帖,请给予指点,初学者不易啊
import javax.servlet.http.*;
import javax.servlet.jsp.*;public final class test_005ff2_jsp extends org.apache.jasper.runtime.HttpJspBase
implements org.apache.jasper.runtime.JspSourceDependent {
int bei_shu=1;
public int ff(int var001) {
int bbb = 0;
int ff = 0;
bbb = var001 * bei_shu;
ff = bbb;
return ff;
}
private static final javax.servlet.jsp.JspFactory _jspxFactory =
javax.servlet.jsp.JspFactory.getDefaultFactory(); private static java.util.List<java.lang.String> _jspx_dependants; private javax.el.ExpressionFactory _el_expressionfactory;
private org.apache.tomcat.InstanceManager _jsp_instancemanager; public java.util.List<java.lang.String> getDependants() {
return _jspx_dependants;
} public void _jspInit() {
_el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
_jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig());
} public void _jspDestroy() {
} public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
throws java.io.IOException, javax.servlet.ServletException { final javax.servlet.jsp.PageContext pageContext;
javax.servlet.http.HttpSession session = null;
final javax.servlet.ServletContext application;
final javax.servlet.ServletConfig config;
javax.servlet.jsp.JspWriter out = null;
final java.lang.Object page = this;
javax.servlet.jsp.JspWriter _jspx_out = null;
javax.servlet.jsp.PageContext _jspx_page_context = null;
try {
response.setContentType("text/html");
pageContext = _jspxFactory.getPageContext(this, request, response,
null, true, 8192, true);
_jspx_page_context = pageContext;
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
session = pageContext.getSession();
out = pageContext.getOut();
_jspx_out = out;
int aaa = 0;
aaa = 3;
aaa = 4;
aaa = 5;
bei_shu = 40;
out.println("<br>" + (ff(aaa))); out.write("\r\n");
out.write("\r\n");
out.write(' ');
out.write('\r');
out.write('\n');
} catch (java.lang.Throwable t) {
if (!(t instanceof javax.servlet.jsp.SkipPageException)){
out = _jspx_out;
if (out != null && out.getBufferSize() != 0)
try { out.clearBuffer(); } catch (java.io.IOException e) {}
if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
}
} finally {
_jspxFactory.releasePageContext(_jspx_page_context);
}
}
}
用户A访问的变量可能被用户B的变量给覆盖了,访问的是用户B的变量,这样,业务就错误了。
那这个全局变量是定义在一个大的jsp头文件呢?被其它的jsp文件include进来呢?
用数据库可以做,用application可以做业务系统中,首先要做是,把干净、真实的用户数据赶快入库。然后考虑其他的
---------------------------
<%!int count = 0;%>
您好,你是第<%=++count%>位访客。
<% for (int i = 0; i < 100000; i++) { %>
<!-- 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 -->
<% } %>
再见,第<%=count%>位访客。test.html
--------------
<html>
<frameset rows="30%,30%,*">
<frame src="test.jsp" />
<frame src="test.jsp" />
<frame src="test.jsp" />
</frameset>
</html>
然后访问test.html,你会发现,同一个页面上面的count可能完全不同。
比如我生成的3个就是:
您好,你是第1位访客。 再见,第2位访客。
您好,你是第2位访客。 再见,第3位访客。
您好,你是第3位访客。 再见,第3位访客。解决方案,使用局部变量,test.jsp
----------
<%!int count = 0;%>
<% int myCount = ++count; %>
您好,你是第<%=myCount%>位访客。
<% for (int i = 0; i < 100000; i++) { %>
<!-- 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 -->
<% } %>
再见,第<%=myCount%>位访客。