HIbernate常见错误:
http://ctc.qzs.qq.com/qzone/app/blog/v6/bloglist.html#nojump=1&page=1&catalog=list
java.lang.NoSuchMethodException
java.lang.NoSuchMethodException:com.yxq.action.AdminAction.addGoods()
在学习struts2的时有时会出现此异常,现将其总结如下,方便大家参考:
1、 先尝试下看其它的方法能不能用,要是都是这种情况的话,可能是你的Action类没有继承structs里面的DispatchAction或者其它的类。还有你注意下方法的参数列表,类型顺序要正确才行,是按照以下顺序的:ActionMapping mapping,ActionForm form ,HttpServletRequest request,HttpServletResponse response
2、 Action 类的方法被定义成 private 类型.如下 Action 中被访问的方法被定义成 private 类型.程序在访问其方法时,会抛出以上异常.
3、 其实java.lang.NoSuchMethodException这个异常的根本原因有两个:
(1)、缺少某些jar文件;
(2)、某些jar文件有重复。
4、使用struts2框架出现的问题
在页面使用jquery ajax 调用action中的vaildUname方法,报错,说我的方法不存在。但实际是存在的。public String vaildUname(String loginName) throws Exception{ }
问题就在这个参数上,struts2中是不能有参数的(struts2是通过反射机制来执行action的方法,struts2规范目前action方法是不需要参数的,有参数的方法和没参数的方法是两个不同的方法,所以会出现找不到的情况)
解决方法:
private String loginName;
public String vaildUname() throws Exception{}
loginName的getter和setter方法
这样在使用ajax调用的时候,就可以了
5、java.lang.NoSuchMethodException 这个异常是指你的action里面没有这个方法,说明已经找到了action 但是没有找到方法,所以有2个情况,
第1种情况:你提交到的不是这个action ,查查配置文件,有没有一样的path
第2种情况:你的action里面没有这个方法
①java.net.ConnectException:connection refused connect
At java.net.PlaintSocketConnect(Native Method)
②java.net.BindException:Address already in use:JvM_Bind
端口被占用,到tomcat文件夹lib目录下,双击shutdown.bat将tomcat停止从新运行
Spring 初始化 在action中调用去出现java.lang.NullPointerException错误
①
楼主struts.xml ,中实例化了action ,
<action name="adduser" class="com.jsw.struts2.action.UserAction">
而在spring 中也实例了action,这样实例化对象无法setter ,出现null ,
<bean id="UserAction" class="com.jsw.struts2.action.UserAction">
<property name="userservice" ref="UserService"/>
</bean>
楼主不妨修改为
struts.xml
<action name="adduser" class="这里就是spring注册的action bean的id">
(UserAction)
eg:<action name="adduser" class="UserAction">
spring.xml
<bean id="UserAction" class="com.jsw.struts2.action.UserAction" scope="prototype">
<property name="userservice" ref="UserService"/>
</bean>
②
NullPointerException异常的原因??
所谓空指针异常,是因为用空(null)去调用属性或方法。
null表示没有这个对象,既然没有这个对象,那么去调用他的属性和方法,就会报异常。
<--主要有以下几种原因:
1、使用了未初始化的变量(虽然已经声明)
2、使用了未初始化的对象(虽然已经声明)
3、使用了关键字或已存在的类名作变量对象方法或类名。
当应用程序试图在需要对象的地方使用 null 时,抛出该异常。
<--这种情况包括:
调用 null对象的实例方法。
访问或修改null对象的字段。
将null作为一个数组,获得其长度。
将null作为一个数组,访问或修改其时间片。
将null作为Throwable值抛出。
(以上几点看明白,然后再查看你的代码,肯定能找出来
<!--EndFragment-->