Dispatcher - Could not find action or result 正解!

错误信息:
Dispatcher - Could not find action or result
No result defined for action com.jobbank.users.action.UsersAction and result exception
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:364)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:102)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)


------------------------------------
在网上看了一些说什么struts的jar低版本啊 漏洞什么的 都没说到重点,先看看我的配置文件:

<package name="reg" extends="sunland-default" namespace="/regApp" >
<!-- 用户注册action -->
<action name="users" class="com.jobbank.users.action.UsersAction" >
<result name="company">/app/reg/companyReg.jsp</result>
<result name="student">/app/reg/studetReg.jsp</result>
</action>
</package>

Java代码:
/**
* 注册学员
* @return
*/
public String addStudent(){
boolean flag = usersService.saveStudent(users, studentInfo);
if(flag){msg="添加成功!";}else{msg="添加失败!";}
return "student";
}


表面上看是木有错的 return的也是student,“Could not find action or result”说是找不到action 或 配置文件里面的result 不知道这算不算是一个bug. 当我把java代码修改一下真正的原因就出来啦:(记得重新启动tomcat)
/**
* 注册学员
* @return
*/
public String addStudent(){
try {

boolean flag = usersService.saveStudent(users, studentInfo);
if(flag){msg="添加成功!";}else{msg="添加失败!";}
} catch (Exception e) {
e.printStackTrace();
}
return "student";
}

报空指针了:
java.lang.NullPointerException
at com.jobbank.users.service.UsersServiceImpl.saveStudent(UsersServiceImpl.java:37)
at com.jobbank.users.service.UsersServiceImpl$$FastClassByCGLIB$$63d6e0ce.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:692)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:625)
at com.jobbank.users.service.UsersServiceImpl$$EnhancerByCGLIB$$dbb1e8f6.saveStudent(<generated>)
at com.jobbank.users.action.UsersAction.addStudent(UsersAction.java:57)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
......
....


明白了没? 其实是底层的代码报错了!你们自己看着办吧~
“No result defined for action com.jobbank.users.action.UsersAction and result exception
” 这句话已经说很清楚了 说是反悔了一个异常 只是在struts里面没有处理 所以看不到真正的错误~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值