struts2 spring2.5 hibernate3.2 整合问题

tscqnl 2009-02-19 06:15:19
大虾们,
帮我看看这是怎么回事,
谢谢!
struts2 spring2.5 hibernate3.2
直接在地址栏中输入:http://localhost/member/addMember
则报如下异常:
java.lang.NoSuchMethodException: prj35.action.MemberAction.add()
java.lang.Class.getMethod(Unknown Source)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.getActionMethod(AnnotationValidationInterceptor.java:75)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:47)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:128)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:104)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:148)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:128)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.
我的配置文件如下:
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext*.xml</param-value>
</context-param>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- spring的监听器,以便在启动时就自动加载spring的配置 -->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<!-- OpenSessionInViewFilter过滤器 -->
<filter>
<filter-name>lazyLoadingFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>lazyLoadingFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

接下一帖子
...全文
1133 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
tscqnl 2009-02-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 fosjos 的回复:]
public String add(Member member) throws PRJ35Exception
可以带参数?没听说过
[/Quote]

哦,
谢谢你的提示,
我试下,
fosjos 2009-02-20
  • 打赏
  • 举报
回复
public String add(Member member) throws PRJ35Exception
可以带参数?没听说过
tscqnl 2009-02-20
  • 打赏
  • 举报
回复
问题还没解决的,
自己再顶一下,
tscqnl 2009-02-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 fosjos 的回复:]
public String add(Member member) throws PRJ35Exception
可以带参数?没听说过
[/Quote]
[Quote=引用 9 楼 qiaozirue 的回复:]
去了参数就可以了..
[/Quote]
[Quote=引用 10 楼 yukang_ky 的回复:]
肯定不能带参数,你写的方法必须和execute()方法拥有相同的结构,要不然就找不到那个方法
[/Quote]


问题解决了,
谢谢各位的帮忙,
happyxlh 2009-02-20
  • 打赏
  • 举报
回复
来看看!
yukang_ky 2009-02-20
  • 打赏
  • 举报
回复
肯定不能带参数,你写的方法必须和execute()方法拥有相同的结构,要不然就找不到那个方法
qiaozirue 2009-02-20
  • 打赏
  • 举报
回复
去了参数就可以了..
tscqnl 2009-02-19
  • 打赏
  • 举报
回复
MemberAction是这样定义的:
package prj35.action;

import java.util.List;

import prj35.exception.PRJ35Exception;
import prj35.service.MemberService;
import prj35.vo.Member;

import com.opensymphony.xwork2.ActionSupport;

public class MemberAction extends ActionSupport {
private MemberService service;
private Integer id;
private Member member;
private List<Member> members;

public String add(Member member) throws PRJ35Exception {
service.save(member);
return SUCCESS;
}

public String delete() throws PRJ35Exception {
member = service.findById(id);
if (member != null) {
service.delete(member);
}
return SUCCESS;
}

public String list() throws PRJ35Exception {
members = service.findAll();
return SUCCESS;
}

public String update() throws PRJ35Exception {
if (member == null) {
throw new PRJ35Exception();
}
service.update(member);
return SUCCESS;
}

public String edit() throws PRJ35Exception {
member = service.findById(id);
return SUCCESS;
}

public String listById() throws PRJ35Exception {
member = service.findById(id);
return SUCCESS;
}

public MemberService getService() {
return service;
}

public void setService(MemberService service) {
this.service = service;
}

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public Member getMember() {
return member;
}

public void setMember(Member member) {
this.member = member;
}

public List<Member> getMembers() {
return members;
}

public void setMembers(List<Member> members) {
this.members = members;
}

private static final long serialVersionUID = 8224791317561757494L;

}
ip_moon 2009-02-19
  • 打赏
  • 举报
回复
java.lang.NoSuchMethodException: prj35.action.MemberAction.add()

你好像在MemberAction里并没有定义add()方法或者你JSP页面相应的URL地址中调用参数写错了~
tscqnl 2009-02-19
  • 打赏
  • 举报
回复
没人理我,
结帖了,
tscqnl 2009-02-19
  • 打赏
  • 举报
回复
自己顶一下,
弄了很久了,
还没解决的,
快来个人帮帮忙呀,

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧