ssh2项目,表单提交到业务层时JSP报
空指针错,请问都有哪些原因造成的?
望高手解惑,
exception
javax.servlet.ServletException:
java.lang.NullPointerException org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:422)
root cause
java.lang.
NullPointerException user.action.LoginAction.execute(LoginAction.java:40)
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)
------解决方案--------------------user.action.LoginAction.execute(LoginAction.java:40)
这个ACTION的40行引用了空对象
------解决方案--------------------无论何时何地,引发
空指针异常的原因基本只有“向一个指向null的对象引用发送消息(调用其方法)”这一个。而这个对象为何为null,原因就很多了,比如楼主从数据库查出一个对象,未经判断是否为null就用了起来,或是spring配置错误,导致某些组件的实例没有被注入到需要的地方,引用时自然会出错。
------解决方案--------------------
------解决方案--------------------3楼说得很对呀,只能看到代码,才能确切得告您是什么哪里的问题。。
------解决方案--------------------private UserDao userDao;
没有写get,set方法啊
------解决方案--------------------不要在到页面才发现空指针。。。。。。
在业务逻辑层中就要测试数据。。。。。。。。。。
看数据是否符合你的要求。。。。。。。。。
拿到数据后在朝页面上甩。。OK?
------解决方案--------------------6楼发现了,
private UserDao userDao;
没有写get,set方法,那么那么spring就不能注入.应该就是这里抛了,可以debug一下.要是不会debug,可以在调用方法的时候,打印出对象就可以发现是否为null了
------解决方案--------------------