[求助]请问tomcat输出java.lang.NullPointerException这个错误通常是哪里的问题。详情见内。

楼主
[求助]请问tomcat输出java.lang.NullPointerException这个错误通常是哪里的问题。详情见内。
2003-11-11 01:04:02 StandardWrapperValve[default]: Servlet.service() for servlet default threw exception
java.lang.NullPointerException
     at java.io.File.<init>(File.java:263)
     at org.apache.naming.resources.FileDirContext.file(FileDirContext.java:880)
     at org.apache.naming.resources.FileDirContext.getAttributes(FileDirContext.java:487)
     at org.apache.naming.resources.BaseDirContext.getAttributes(BaseDirContext.java:797)
     at org.apache.naming.resources.ProxyDirContext.cacheLoad(ProxyDirContext.java:1491)
     at org.apache.naming.resources.ProxyDirContext.cacheLookup(ProxyDirContext.java:1412)
     at org.apache.naming.resources.ProxyDirContext.lookup(ProxyDirContext.java:300)
     at org.apache.catalina.servlets.DefaultServlet$ResourceInfo.set(DefaultServlet.java:2267)
     at org.apache.catalina.servlets.DefaultServlet$ResourceInfo.<init>(DefaultServlet.java:2219)
     at org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:921)
     at org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:506)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
     at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
     at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
     at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416)
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
     at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
     at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
     at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
     at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601)
     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
     at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
     at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
     at java.lang.Thread.run(Thread.java:536)[em09]
1楼
把你的JAVA  代码 发出来  我看看
2楼
写的很乱,因为是jsp网页,代码段挺多,我看着感觉与下面这一段有的关系,你看看是不是这里有问题。(整个log文件全都是这样的日志,却看不明白,能不能讲讲如上日志的含义。)

  File dir=new File(dirPath); //建立文件目录对象

  class DirFilter implements FilenameFilter  //建立一个文件过滤器
  {
          String key;
          DirFilter(String key) { this.key = key; }
          public boolean accept(File dir, String name)
          {
                  String f = new File(name).getName();
                  return f.indexOf(key) == -1;
          }
  }
  String fileList[]=dir.list(new DirFilter("Thumbs.db")); //建立目录内容数组
3楼
你的LOG文件 说实话  我也没有那么厉害能够给你结实 但你现在给的这个代码
String key;
          DirFilter(String key) { this.key = key; }
改成
String key;
          DirFilter(key) { this.key = key; }  你试试
4楼
好的,我试试。谢谢你!
其实全站代码我都测试过,包括上面贴出来的这一块。测试的时候一点问题都没有,发布后,打开联结也不产生错误。是否为这段代码的问题我也说不上,因为看到日志的第一行提示io错误,所以判断为这里的问题(所有代码中只有这一块用了io操作)。任何一段代码都没有错误抛出,可时间长点就有问题了,tomcat经常会因内存溢出而停止,就是:memout,256M的w2k,tomcat设置200个线程竟然出现内存溢出,不可思意。可能是我的程序写的太不完善吧。所以现在正在优化bean结构和缩减程序,并减少sql查询,设置连接池,尽量少的连接数据库。
5楼
是的  其实你应该用点抓抛模型 来判断 代码是否有错的 !!  其实很多错都是不容易看出来的

电脑版 Page created in 0.0312 seconds with 2 queries.