lz 你这样的问题,怀疑是你的数据有问题了,数据项有空值,当你取的时候无法正常生产对象,这样就抛出空指针。你可以去看看是哪个功能抛出来的异常,然后到这么功能下把sql打印出来,到数据执行一下,对对数据看看正确不,和以前的数据有没有什么异样。如果数据有问题,你就手工改下,然后到程序相应模块做bug修正。一般都是程序验证疏忽引起的。

解决方案 »

  1.   

    严重同意楼上.
    index_jsp.java:116
    index_jsp.java:72
    看看这个文件,这两行前后.
      

  2.   


    这个文件在哪里呢??
    在 tomcat/works/catalina/localhost 目录下面哦!
      

  3.   

    如果经过测试程序没有问题,跑了两个月都没有出现问题,如今出现异常,我还是怀疑是你数据库的数据有问题当你取数据的时候有null值导致了你程序抛NullPointerException。可能是某些程序在添加数据的时候,验证的不够全面,导致有空值传入数据库,你可以先去查查那个页面所要用的相关表里有没有某些数据是空值的。把数据手工改一下看看能不能出来,然后再跟踪程序是那个页面没有验证数据就添到数据库中了。
      

  4.   

    察看一下index.jsp那个变量值为null,或直接用System.out.println()打印出来看看
      

  5.   

         org.apache.struts.taglib.bean.MessageTag.doStartTag(MessageTag.java:224) 
    你的index.jsp页面的Message(err)标签收到了null  你检查一下这个项的数据来源,一般在资源文件里面。也可能是在数据库里面
      

  6.   

    我还想把这个帖子顶高点,,,,,就是我不知道怎么在linx下调试---------所以System.out.println()?????
    这里怎么简易的调试 jsp  程序
      

  7.   

    我把linux下代码 全部移动到我windows平台下,访问localhost:8080/main的时候,报告hibernatefilter出错,所以我把web.xml里面关于filter的映射去掉了,终于可以进入登录界面了,可是输入用户名密码,进入下一个页面就报错了,错误是无法找到servlet,可能是环境不对。为什么是这个情况?还有谢谢大家帮忙,我基本放弃修改了,***,上任走的时候留给我到linux权限不够修改代码,我晕死。
      

  8.   

    你把filter去掉了,有可能你进入下一个页面后需要用到filter里面的东西,所以提示找不到servlet了。我的建议是,问一下linux下的修改权限,直接跟踪查找bug.像web应用有时候出的问题是让你想不到的。我转帖到http://www.ityouku.com一块解决。
      

  9.   

    null pointer 是最简单也最容易出现问题的地方了。
      

  10.   

    俩月不出问题, 不代表没有问题. 呵呵.
    貌似是 jsp 里用到的 resource 字段 在 文件里没有定义. 
    org.apache.struts.taglib.TagUtils.retrieveMessageResources(TagUtils.java:1175) 
    org.apache.struts.taglib.TagUtils.message(TagUtils.java:1038) 
    org.apache.struts.taglib.bean.MessageTag.doStartTag(MessageTag.java:224) 
    比如说 jsp 里 <bean:write message="testdir"/>
    但 testdir 在 web.xml 制定的 application resource 文件里 不存在.
    引用了不存在的 资源字段.
      

  11.   

    1,你这个应用是静态应用吗?如果不是,运行后出问题,可能是程序的原因出现的,正如楼上的几位说过;检查是不是由数据不完整性造成的,很简单——将你的数据库数据恢复到2天前(可以运行的日期下),看看是否可以正常运行。2,_jsp.java一般对应jsp文件的,直接看,应该能看的出来。简单的调试方法就是,分批删除代码:),定位到底哪里出了问题BTW:最后再问下,你们是什么公司,因为这个饭碗不保?还是你这里是标题党?利用我们程序员的同情心呢,哈哈
      

  12.   

    楼上的大哥啊,你是吧了解实际情况啊,我在给台湾人做奴隶ing-望各位不要鄙视我。。,负责整个工厂的erp,软件,数据库。开发维护一个人做,我命苦啊。有问题没地方问。。
    楼上的想法我十分赞同,之直接恢复数据库,不过我想干脆把数据库清干净(现在正在和linux的权限问题做斗争……-……)。还有问题想问
    <%@taglib uri="/tags/struts-logic" prefix="logic"%>
    <%@taglib uri="/tags/struts-bean" prefix="bean"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    [b]<title><bean:message key="LiveZine.Console.Tilte" /></title> [/b]
    《!好像这里问题了,我检查index_jsp.java的时候,在web.xml里面也无法找到application resource定义》
    <script type="text/javascript">
    var host=window.location.href;
    alert(host);
    if (host.indexOf("http://localhost:8080/")>0)
    {
    alert(">0");
    window.location="http://localhost:8080/main/Logins.shtml";
    } else{
    alert("else");
    window.location="http://localhost:8080/main/Login.shtml";
    }
    </script>
    </head>
    <body>
    <logic:redirect page="/Login.shtml" />
    </body>
    </html>
    想问下
    logic:redirect page="/Login.shtml这里的为什么写 shtml,我也找不到 Login.shtml,我不了解shtml它是否就是对应Login.jsp?
      

  13.   

    这个应该不会,因为你以前是可以运行的,如果你觉得这个有问题,你将<bean:message key="LiveZine.Console.Tilte" />换成CONSOLE之类的看看。shtml找不到的话,需要你到web.xml中看看,是否有全局转向配置,也许这是struts的action呢
    代码中写locaohost,貌似不是很好