用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编程中,`NoSuchMethodException` 是一个常见的运行时异常,它发生在尝试调用一个不存在的方法时。这个异常属于`java.lang`包,通常在动态方法调用或反射操作时抛出。当我们试图通过对象实例或类来执行一个在...
在Java编程中,`java.lang.NoSuchFieldException`是运行时异常的一种,通常发生在尝试访问或操作一个类的字段,但该字段在指定的类或其任何超类中不存在时。这个异常表明在编译期间可能存在的字段在运行时无法找到,...
然而,当开发者尝试使用反射调用一个不存在的方法时,便会遇到`java.lang.NoSuchMethodException`异常。本文将深入探讨此异常,特别是它在服务器端Java应用中的常见场景——例如Struts框架——并提供详细的解决方案...
2. java.lang.ClassNotFoundException java.lang.ClassNotFoundException 是一种常见的错误,发生在指定的类不存在时。例如,在将 JB 下的程序包放在 WTK 下编译时,如果类的名称和路径不正确,就会出现该错误。...
java.lang.UnsupportedClassVersionError 是一种不支持的类版本错误,指的是在程序中 Java 虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前 Java 虚拟机支持的时候,抛出的异常。 33. java.lang...
2. **通用Mapper核心组件**: - **Mapper接口**:这是开发者需要定义的接口,其中的方法对应数据库的SQL操作。通用Mapper会自动为这些方法生成实现,无需编写具体的实现代码。 - **Mapper XML**:每个Mapper接口...
4. **`java.lang.NoSuchMethodException`** - 当试图通过反射调用不存在的方法时抛出此异常。 5. **`java.io.FileNotFoundException`** - 尝试打开不存在的文件时抛出此异常。 ### 非检查性异常 (Unchecked ...
2. **java.lang.ClassNotFoundException**: 当尝试加载一个类,但JVM无法找到指定的类定义时,会抛出此异常。这可能是因为类路径设置不正确或者类的名称有误。确保类名与源代码和编译后的文件名匹配,并且类路径包含...
2. **java.lang.ClassNotFoundException**: 当Java虚拟机试图加载某个类,但在类路径中找不到对应的类文件时,将抛出此异常。确保类名、包名以及类路径设置正确,特别是从JAR文件或网络加载类时。 3. **java.lang...
2. **`java.lang.ClassNotFoundException`**:当尝试加载指定的类时,如果找不到该类的定义,就会抛出此异常。确保类名、路径和类加载器配置正确。 3. **`java.lang.ArithmeticException`**:执行非法数学运算时抛...
2. **java.lang.ClassNotFoundException**: 这个异常通常发生在尝试加载一个不存在的类时。可能是由于类路径设置错误,或者类名拼写不正确。确保类的完整限定名(包括包名)正确,并且类的`.class`文件位于正确的...
免费的库存管理软件,很好用的org.springframework.beans.... nested exception is java.lang.NoSuchMethodException: java.io.File.()] with root cause java.lang.NoSuchMethodException: java.io.File.
2. **`java.lang.ClassNotFoundException`** - **解释**:“指定的类不存在”,通常发生在试图加载一个不存在的类时。 - **常见原因**:类路径设置错误或类未正确编译到类路径中。 - **解决方法**:检查类名是否...
- **`java.lang.NoSuchMethodException`**:当反射调用不存在的方法时抛出。 ### 运行时异常 除了上述提到的检查性异常之外,还有一些不需显式捕获的运行时异常,例如: - **`java.lang.AssertionError`**:断言...
2. **java.lang.ClassNotFoundException**: 当尝试加载一个不存在或者路径不正确的类时,会抛出此异常。解决方法是确认类名是否正确,类路径是否包含该类的.jar文件或目录,以及在不同开发环境(如JBuilder和WTK)...