使用Tomcat服务器时出现空指针异常!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Tomcat服务器时出现空指针异常!相关的知识,希望对你有一定的参考价值。
同样的一个JSP项目..
在j2ee -verbose服务器上运行时没有任何问题..
而当我把这个项目文件夹放到Tomcat安装目录下的webapps文件夹里后..
在访问时出现空指针异常..
按照它的提示我发现就是下面3行代码中的问题..
<jsp:useBean id="connect" scope="page" class="CD.Connect"/>
//使用一个JAVABEAN..
ResultSet amount=connect.executeQuery("select top 10 * from CD_Detail order by iAmount desc");//用amount对象获取数据库里的数据...
<%while(amount.next()) //就是在这行代码处出现了空指针异常..
那意思就是说amount对象并没有取到数据库里的值咯?
而我在J2EE服务器下运行并没有这个异常吖..那就应该排除数据库方面和SQL语句方面的问题了吧!!
只是换了个服务器..就出了这个异常!!!
我想是不是因为我在Tomcat里部署这个项目时有问题吖!!
我还没怎么用过Tomcat服务器..我只是简单的把项目所需文件直接放到Tomcat安装目录下的webapps文件夹里了,然后再建一个WEB-INF文件夹,WEB-INF文件夹里再建一个classes文件夹,然后把需要的类文件放到classes文件夹里...然后我就直接用IE访问这个项目了..
是不是还得写个XML配置文件一类的东西???
也就是说到底该如何在Tomcat服务器中部署JSP项目呢????
请各位指教!!!!
不用把你写的工程手动添加到tomcat下.
当你部署tomcat的时候他会自动添加的.
还有../WEB-INF里的文件一般都是固定的..不用你写新的.
配置tomcat你应该会吧...就是指定他的主路径就行了..
XML文件是系统给的...不用你再新写一个.
还有..你得理解XML文件是做什么用的.. 参考技术B XML配置不用你自己写 你自己完整理解一下配置最简JSP项目的完整过程 参考技术C 可能的原因:
你没有连接上数据库,配置问题
使用 Hbase 运行 Nutch 爬虫 2.2 时出现空指针异常
【中文标题】使用 Hbase 运行 Nutch 爬虫 2.2 时出现空指针异常【英文标题】:Getting null pointer exception when running Nutch crawler 2.2 with Hbase 【发布时间】:2013-08-29 03:12:39 【问题描述】:当我运行 Nutch 命令:~/nutch/runtime/deploy$ bin/nutch crawl urls -dir /user/dlequoc/urls -depth 2 -topN 5 时,出现以下异常:
================================================ ========
13/08/26 16:30:15 INFO mapred.JobClient: 地图 100% 减少 0% 13/08/26 16:30:29 信息 mapred.JobClient:任务 ID: 尝试_201308261546_0004_r_000000_0,状态:失败 java.lang.NullPointerException 在 org.apache.avro.util.Utf8.(Utf8.java:37) 在 org.apache.nutch.crawl.GeneratorReducer.setup(GeneratorReducer.java:100) 在 org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:174) 在 org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:649) 在 org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:417) 在 org.apache.hadoop.mapred.Child$4.run(Child.java:255) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject.java:396) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 在 org.apache.hadoop.mapred.Child.main(Child.java:249) 13/08/26 16:30:32 信息 mapred.JobClient:任务 ID: 尝试_201308261546_0004_r_000001_0,状态:失败 java.lang.NullPointerException 在 org.apache.avro.util.Utf8.(Utf8.java:37) 在 org.apache.nutch.crawl.GeneratorReducer.setup(GeneratorReducer.java:100) 在 org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:174) 在 org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:649) 在 org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:417) 在 org.apache.hadoop.mapred.Child$4.run(Child.java:255) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject.java:396) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 在 org.apache.hadoop.mapred.Child.main(Child.java:249) 13/08/26 16:30:32 信息 mapred.JobClient:任务 ID: 尝试_201308261546_0004_r_000005_0,状态:失败 java.lang.NullPointerException 在 org.apache.avro.util.Utf8.(Utf8.java:37) 在 org.apache.nutch.crawl.GeneratorReducer.setup(GeneratorReducer.java:100) 在 org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:174) 在 org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:649) 在 org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:417) 在 org.apache.hadoop.mapred.Child$4.run(Child.java:255) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject.java:396) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 在 org.apache.hadoop.mapred.Child.main(Child.java:249) 13/08/26 16:30:32 信息 mapred.JobClient:任务 ID: 尝试_201308261546_0004_r_000004_0,状态:失败 java.lang.NullPointerException 在 org.apache.avro.util.Utf8.(Utf8.java:37) 在 org.apache.nutch.crawl.GeneratorReducer.setup(GeneratorReducer.java:100) 在 org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:174) 在 org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:649) 在 org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:417) 在 org.apache.hadoop.mapred.Child$4.run(Child.java:255) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject.java:396) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 在 org.apache.hadoop.mapred.Child.main(Child.java:249) 13/08/26 16:30:32 信息 mapred.JobClient:任务 ID: 尝试_201308261546_0004_r_000002_0,状态:失败 java.lang.NullPointerException 在 org.apache.avro.util.Utf8.(Utf8.java:37) 在 org.apache.nutch.crawl.GeneratorReducer.setup(GeneratorReducer.java:100) 在 org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:174) 在 org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:649) 在 org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:417) 在 org.apache.hadoop.mapred.Child$4.run(Child.java:255) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject.java:396) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 在 org.apache.hadoop.mapred.Child.main(Child.java:249) 13/08/26 16:30:32 信息 mapred.JobClient:任务 ID: 尝试_201308261546_0004_r_000003_0,状态:失败 java.lang.NullPointerException 在 org.apache.avro.util.Utf8.(Utf8.java:37) 在 org.apache.nutch.crawl.GeneratorReducer.setup(GeneratorReducer.java:100) 在 org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:174) 在 org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:649) 在 org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:417) 在 org.apache.hadoop.mapred.Child$4.run(Child.java:255) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject.java:396) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 在 org.apache.hadoop.mapred.Child.main(Child.java:249) 13/08/26 16:30:44 信息 mapred.JobClient:任务 ID: 尝试_201308261546_0004_r_000001_1,状态:失败 java.lang.NullPointerException 在 org.apache.avro.util.Utf8.(Utf8.java:37) 在 org.apache.nutch.crawl.GeneratorReducer.setup(GeneratorReducer.java:100) 在 org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:174) 在 org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:649) 在 org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:417) 在 org.apache.hadoop.mapred.Child$4.run(Child.java:255) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject.java:396) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 在 org.apache.hadoop.mapred.Child.main(Child.java:249) 13/08/26 16:30:47 信息 mapred.JobClient:任务 ID: 尝试_201308261546_0004_r_000000_1,状态:失败 java.lang.NullPointerException 在 org.apache.avro.util.Utf8.(Utf8.java:37) 在 org.apache.nutch.crawl.GeneratorReducer.setup(GeneratorReducer.java:100) 在 org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:174) 在 org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:649) 在 org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:417) 在 org.apache.hadoop.mapred.Child$4.run(Child.java:255) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject.java:396) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 在 org.apache.hadoop.mapred.Child.main(Child.java:249) 13/08/26 16:30:47 信息 mapred.JobClient:任务 ID: 尝试_201308261546_0004_r_000005_1,状态:失败 java.lang.NullPointerException 在 org.apache.avro.util.Utf8.(Utf8.java:37) 在 org.apache.nutch.crawl.GeneratorReducer.setup(GeneratorReducer.java:100) 在 org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:174) 在 org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:649) 在 org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:417) 在 org.apache.hadoop.mapred.Child$4.run(Child.java:255) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject.java:396) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 在 org.apache.hadoop.mapred.Child.main(Child.java:249) 13/08/26 16:30:47 信息 mapred.JobClient:任务 ID: 尝试_201308261546_0004_r_000002_1,状态:失败 java.lang.NullPointerException 在 org.apache.avro.util.Utf8.(Utf8.java:37) 在 org.apache.nutch.crawl.GeneratorReducer.setup(GeneratorReducer.java:100) 在 org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:174) 在 org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:649) 在 org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:417) 在 org.apache.hadoop.mapred.Child$4.run(Child.java:255) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject.java:396) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 在 org.apache.hadoop.mapred.Child.main(Child.java:249) 13/08/26 16:30:47 信息 mapred.JobClient:任务 ID: 尝试_201308261546_0004_r_000004_1,状态:失败 java.lang.NullPointerException 在 org.apache.avro.util.Utf8.(Utf8.java:37) 在 org.apache.nutch.crawl.GeneratorReducer.setup(GeneratorReducer.java:100) 在 org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:174) 在 org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:649) 在 org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:417) 在 org.apache.hadoop.mapred.Child$4.run(Child.java:255) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject.java:396) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 在 org.apache.hadoop.mapred.Child.main(Child.java:249) 13/08/26 16:30:47 信息 mapred.JobClient:任务 ID: 尝试_201308261546_0004_r_000003_1,状态:失败 java.lang.NullPointerException 在 org.apache.avro.util.Utf8.(Utf8.java:37) 在 org.apache.nutch.crawl.GeneratorReducer.setup(GeneratorReducer.java:100) 在 org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:174) 在 org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:649) 在 org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:417) 在 org.apache.hadoop.mapred.Child$4.run(Child.java:255) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject.java:396) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 在 org.apache.hadoop.mapred.Child.main(Child.java:249) 13/08/26 16:30:59 信息 mapred.JobClient:任务 ID: 尝试_201308261546_0004_r_000000_2,状态:失败 java.lang.NullPointerException 在 org.apache.avro.util.Utf8.(Utf8.java:37) 在 org.apache.nutch.crawl.GeneratorReducer.setup(GeneratorReducer.java:100) 在 org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:174) 在 org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:649) 在 org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:417) 在 org.apache.hadoop.mapred.Child$4.run(Child.java:255) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject.java:396) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 在 org.apache.hadoop.mapred.Child.main(Child.java:249) 13/08/26 16:30:59 信息 mapred.JobClient:任务 ID: 尝试_201308261546_0004_r_000002_2,状态:失败 java.lang.NullPointerException 在 org.apache.avro.util.Utf8.(Utf8.java:37) 在 org.apache.nutch.crawl.GeneratorReducer.setup(GeneratorReducer.java:100) 在 org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:174) 在 org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:649) 在 org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:417) 在 org.apache.hadoop.mapred.Child$4.run(Child.java:255) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject.java:396) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 在 org.apache.hadoop.mapred.Child.main(Child.java:249) 13/08/26 16:30:59 信息 mapred.JobClient:任务 ID: 尝试_201308261546_0004_r_000001_2,状态:失败 java.lang.NullPointerException 在 org.apache.avro.util.Utf8.(Utf8.java:37) 在 org.apache.nutch.crawl.GeneratorReducer.setup(GeneratorReducer.java:100) 在 org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:174) 在 org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:649) 在 org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:417) 在 org.apache.hadoop.mapred.Child$4.run(Child.java:255) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject.java:396) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 在 org.apache.hadoop.mapred.Child.main(Child.java:249) 13/08/26 16:31:02 信息 mapred.JobClient:任务 ID: 尝试_201308261546_0004_r_000005_2,状态:失败 java.lang.NullPointerException 在 org.apache.avro.util.Utf8.(Utf8.java:37) 在 org.apache.nutch.crawl.GeneratorReducer.setup(GeneratorReducer.java:100) 在 org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:174) 在 org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:649) 在 org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:417) 在 org.apache.hadoop.mapred.Child$4.run(Child.java:255) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject.java:396) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 在 org.apache.hadoop.mapred.Child.main(Child.java:249) 13/08/26 16:31:05 信息 mapred.JobClient:任务 ID: 尝试_201308261546_0004_r_000003_2,状态:失败 java.lang.NullPointerException 在 org.apache.avro.util.Utf8.(Utf8.java:37) 在 org.apache.nutch.crawl.GeneratorReducer.setup(GeneratorReducer.java:100) 在 org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:174) 在 org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:649) 在 org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:417) 在 org.apache.hadoop.mapred.Child$4.run(Child.java:255) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject.java:396) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 在 org.apache.hadoop.mapred.Child.main(Child.java:249) 13/08/26 16:31:11 信息 mapred.JobClient:任务 ID: 尝试_201308261546_0004_r_000004_2,状态:失败 java.lang.NullPointerException 在 org.apache.avro.util.Utf8.(Utf8.java:37) 在 org.apache.nutch.crawl.GeneratorReducer.setup(GeneratorReducer.java:100) 在 org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:174) 在 org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:649) 在 org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:417) 在 org.apache.hadoop.mapred.Child$4.run(Child.java:255) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject.java:396) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 在 org.apache.hadoop.mapred.Child.main(Child.java:249) 13/08/26 16:31:20 信息 mapred.JobClient:作业完成:job_201308261546_0004 13/08/26 16:31:20 信息 mapred.JobClient: 计数器: 24 13/08/26 16:31:20 信息 mapred.JobClient:作业计数器 13/08/26 16:31:20 信息 mapred.JobClient:启动减少任务=23 13/08/26 16:31:20 INFO mapred.JobClient:SLOTS_MILLIS_MAPS=113452 13/08/26 16:31:20 信息 mapred.JobClient:所有减少等待后花费的总时间 预留槽 (ms)=0 13/08/26 16:31:20 INFO mapred.JobClient: 保留槽后所有地图等待的总时间(毫秒)=0 13/08/26 16:31:20 INFO mapred.JobClient: Rack-local map tasks=1 13/08/26 16:31:20 INFO mapred.JobClient: 启动地图任务=1 26 年 13 月 8 日 16:31:20 信息 mapred.JobClient:减少任务失败 = 1 13/08/26 16:31:20 INFO mapred.JobClient: SLOTS_MILLIS_REDUCES=268210 13/08/26 16:31:20 信息 mapred.JobClient: FileSystemCounters 13/08/26 16:31:20 信息 mapred.JobClient: FILE_BYTES_READ=25743276 13/08/26 16:31:20 信息 mapred.JobClient: HDFS_BYTES_READ=704 13/08/26 16:31:20 信息 mapred.JobClient: FILE_BYTES_WRITTEN=51473783 13/08/26 16:31:20 信息 mapred.JobClient: 文件输入格式计数器 13/08/26 16:31:20 INFO mapred.JobClient: 字节读取 = 0 13/08/26 16:31:20 信息 mapred.JobClient: Map-Reduce 框架 13/08/26 16:31:20 INFO mapred.JobClient: 地图输出 物化字节=25720344 13/08/26 16:31:20 INFO mapred.JobClient: 合并输出记录=0 13/08/26 16:31:20 INFO mapred.JobClient: 地图输入记录=333988 13/08/26 16:31:20 INFO mapred.JobClient: 物理内存(字节)快照=449036288 13/08/26 16:31:20 INFO mapred.JobClient:溢出记录 = 667976 13/08/26 16:31:20 信息 mapred.JobClient:映射输出字节=25052332 13/08/26 16:31:20 INFO mapred.JobClient: CPU 时间花费 (ms)=81870 13/08/26 16:31:20 INFO mapred.JobClient:提交的堆使用总量(字节)=208011264 13/08/26 16:31:20 INFO mapred.JobClient:虚拟内存(字节) 快照=740638720 13/08/26 16:31:20 信息 mapred.JobClient: 合并输入记录=0 13/08/26 16:31:20 INFO mapred.JobClient: 地图输出记录=333988 13/08/26 16:31:20 INFO mapred.JobClient: SPLIT_RAW_BYTES=704 线程“主”中的异常 java.lang.RuntimeException:作业失败:名称=生成:空, jobid=job_201308261546_0004 在 org.apache.nutch.util.NutchJob.waitForCompletion(NutchJob.java:54) 在 org.apache.nutch.crawl.GeneratorJob.run(GeneratorJob.java:199) 在 org.apache.nutch.crawl.Crawler.runTool(Crawler.java:68) 在 org.apache.nutch.crawl.Crawler.run(Crawler.java:152) 在 org.apache.nutch.crawl.Crawler.run(Crawler.java:250) 在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) 在 org.apache.nutch.crawl.Crawler.main(Crawler.java:257) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.apache.hadoop.util.RunJar.main(RunJar.java:156)
你能帮忙吗? 谢谢!
【问题讨论】:
【参考方案1】:命令 /bin/nutch crawl
在 Nutch 2.x 中已弃用。请改用/bin/crawl
。
【讨论】:
以上是关于使用Tomcat服务器时出现空指针异常!的主要内容,如果未能解决你的问题,请参考以下文章
有时在调用时与对手创建 QBRTCSession 时出现空指针异常