这个异常都是因为调用null对象的方法 , ,就是一个对象还没有没有正常初始化 就先调用它的方法
比如 Object obj=null; obj.toString(); 这就会抛出 这个异常
今天在写一个struts2的程序的时候出现了这个异常,异常的提示位置是在action的execute方法里面,程序是这样的,表单提交参数给action,然后在execute里面调用这个参数的方法,既然出现了空指针异常,那么肯定就是这个参数还没有被实例化,这个参数还是null,我们就调用他的方法了,出现这个异常,最简单的想法就是可能是参数的名称不对,action 没有接受到参数,检查了一下果然是tel在运行的时候没有接受到参数,他的值是null,原来是表单的tel属性写错了,于是更改之后重新部署,没有问题 了
在这还学会了如何调试程序,所有的程序都一样
1.打断点,其实断点的位置很随便,如果是main程序,你搞不清楚程序到底在哪里出了问题,你就在main函数的开始位置打个断点就好了
我这里也是在action开始执行的位置打个断点,也就是execute函数的开始位置,然后debug
2.每个IDE的调试工具不一样,但是大同小异,无非就是通过变量窗口查看变量的值,myeclipse里面打开show view->others->输入debug或者variable过滤,出现variable窗口
3.点击debug开始调试,myeclipse有这点好处,就是你程序执行到哪里,当前对象this下的所有变量都会给你显示出来,你只要查看就可以了,而不需要想c编译器那样手动添加要查看的变量
4.调试结束,返回myeclipse工作视图,在右上角位置
最后说说myeclipse显示行号,preferrence-》text过滤,如图