我用jsp+javabean写了个小型论坛网站,但在打开   动态生成的网页   的时候,   
  经常会抛出下边的异常,但是一“刷新”,就又可以正常显示了。这是怎么   
  回事呢??     
    
  我阅读了异常的最后几行,似乎是说线程出现了问题,我想另外问一下:   
  是不是动态生成的网页都要用   synchronized(application){   }进行同步啊!!??   
    
  java.io.IOException:   tmpFile.renameTo(classFile)   failed   
                  at   org.apache.jasper.compiler.SmapUtil$SDEInstaller.install(SmapUtil.jav   
  a:241)   
                  at   org.apache.jasper.compiler.SmapUtil.installSmap(SmapUtil.java:163)   
                  at   org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:449)   
                  at   org.apache.jasper.compiler.Compiler.compile(Compiler.java:492)   
                  at   org.apache.jasper.compiler.Compiler.compile(Compiler.java:471)   
                  at   org.apache.jasper.compiler.Compiler.compile(Compiler.java:459)   
                  at   org.apache.jasper.JspCompilationContext.compile(JspCompilationContext   
  .java:511)   
                  at   org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper   
  .java:295)   
                  at   org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:2   
  92)   
                  at   org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)   
                  at   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)   
                  at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl   
  icationFilterChain.java:237)   
                  at   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF   
  ilterChain.java:157)   
                  at   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV   
  alve.java:214)   
                  at   org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv   
  eContext.java:104)   
                  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav   
  a:520)   
                  at   org.apache.catalina.core.StandardContextValve.invokeInternal(Standard   
  ContextValve.java:198)   
                  at   org.apache.catalina.core.StandardContextValve.invoke(StandardContextV   
  alve.java:152)   
                  at   org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv   
  eContext.java:104)   
                  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav   
  a:520)   
                  at   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j   
  ava:137)   
                  at   org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv   
  eContext.java:104)   
                  at   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j   
  ava:118)   
                  at   org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv   
  eContext.java:102)   
                  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav   
  a:520)   
                  at   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal   
  ve.java:109)   
                  at   org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv   
  eContext.java:104)   
                  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav   
  a:520)   
                  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)   
    
                  at   org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:16   
  0)   
                  at   org.apache.coyote.http11.Http11Processor.process(Http11Processor.java   
  :799)   
                  at   org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce   
  ssConnection(Http11Protocol.java:705)   
                  at   org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java   
  :577)   
                  at   org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP   
  ool.java:684)   
                  at   java.lang.Thread.run(Thread.java:534)