用spring做为struts2的ObjectFactory,用spring来生成action,并对action的方法加上aop时,不要使Action继承于ActionSupport,否则会出现类似于以下的异常:
java.lang.NoSuchMethodException: $Proxy84.executeList()
at java.lang.Class.getMethod(Class.java:1581)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.getActionMethod(AnnotationValidationInterceptor.java:55)
我的Action类继承于ActionSupport类,没有直接实现什么接口。我用AOP把事务加在了Action里的execute打头的方法前,结果,运行时就出现了上面的找不到方法的异常,如果不让Action继承于ActionSupport类就没有了这样的问题。在调试的时候,发现spring生成的代理类里面只有一个execute方法。看来spring在生成代理类时,如果找不到被代理类直接实现的接口,就会到它的超类中去找。在这个例子中,spring就找到了ActionSupport实现的Action接口。
我又试过在struts.xml里定义让struts2以接口的方式去取Action,Action实现一个自己接口,结果struts2又报另外一个错误。看来在这种情况下,只好不要让Action继承于struts2的ActionSupport类了。
分享到:
相关推荐
在Java编程中,`java.lang.NoSuchMethodException` 是一个常见的运行时异常,它表示尝试调用一个不存在的方法。这个异常通常发生在动态方法调用或反射操作中。在给出的标题 "java.lang.NoSuchMethodException: ....
在Java编程中,`java.lang.NoSuchMethodException`异常通常表明在运行时尝试调用一个不存在的方法。这个错误在上传文件时出现,可能是由于在控制器方法的签名与前端发送请求时的参数不匹配导致的。在描述中提到的...
在给出的描述中,问题出在一个基于Struts2、Hibernate4和Spring4的Web应用项目。开发者创建了一个基类`BaseAction`,该类实现了Spring的`ModelDriven`接口,并且被声明为`@Component`,以便于Spring管理。同时,`...
在Java项目开发过程中,我们可能会遇到“java.lang.NoSuchMethodException”异常,即调用的方法不存在。此异常的出现,通常意味着程序试图访问或调用一个在运行时不存在的方法。解决这个问题的关键在于确保我们调用...
在Java编程中,`NoSuchMethodException` 是一个常见的运行时异常,它发生在尝试调用一个不存在的方法时。这个异常属于`java.lang`包,通常在动态方法调用或反射操作时抛出。当我们试图通过对象实例或类来执行一个在...
在Java编程中,`java.lang.NoSuchFieldException`是运行时异常的一种,通常发生在尝试访问或操作一个类的字段,但该字段在指定的类或其任何超类中不存在时。这个异常表明在编译期间可能存在的字段在运行时无法找到,...
然而,当开发者尝试使用反射调用一个不存在的方法时,便会遇到`java.lang.NoSuchMethodException`异常。本文将深入探讨此异常,特别是它在服务器端Java应用中的常见场景——例如Struts框架——并提供详细的解决方案...
2. java.lang.ClassNotFoundException java.lang.ClassNotFoundException 是一种常见的错误,发生在指定的类不存在时。例如,在将 JB 下的程序包放在 WTK 下编译时,如果类的名称和路径不正确,就会出现该错误。...
在Java项目开发过程中,我们可能会遇到一个名为java.lang.InstantiationException的异常,这个异常通常发生在尝试通过Java的反射API来实例化类时。在文档记录中,我们详细列出了可能的原因和解决方案。 首先,需要...
java.lang.UnsupportedClassVersionError 是一种不支持的类版本错误,指的是在程序中 Java 虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前 Java 虚拟机支持的时候,抛出的异常。 33. java.lang...
Java.lang.ReflectiveOperationException异常是在Java程序运行时通过反射机制进行动态方法调用或成员访问等操作时,如果存在无法处理的问题,就会抛出该异常。由于反射的动态特性,此类异常常涉及类加载、方法调用、...
4. **`java.lang.NoSuchMethodException`** - 当试图通过反射调用不存在的方法时抛出此异常。 5. **`java.io.FileNotFoundException`** - 尝试打开不存在的文件时抛出此异常。 ### 非检查性异常 (Unchecked ...
2. **通用Mapper核心组件**: - **Mapper接口**:这是开发者需要定义的接口,其中的方法对应数据库的SQL操作。通用Mapper会自动为这些方法生成实现,无需编写具体的实现代码。 - **Mapper XML**:每个Mapper接口...
2. **java.lang.ClassNotFoundException**: 当尝试加载一个类,但JVM无法找到指定的类定义时,会抛出此异常。这可能是因为类路径设置不正确或者类的名称有误。确保类名与源代码和编译后的文件名匹配,并且类路径包含...
2. **java.lang.ClassNotFoundException**: 当Java虚拟机试图加载某个类,但在类路径中找不到对应的类文件时,将抛出此异常。确保类名、包名以及类路径设置正确,特别是从JAR文件或网络加载类时。 3. **java.lang...
2. **`java.lang.ClassNotFoundException`** 当尝试加载一个不存在的类时,会抛出此异常。这可能是因为类路径设置不正确,或者类的命名不符合Java的命名规则。确保类名、包名以及类路径都是准确无误的。 3. **`...