學(xué)生列表界面404,這個錯誤怎么解決?
2019-03-12 15:43:16,727 WARN? [http-nio-8080-exec-4] log4j2.Log4j2Logger (Log4j2Logger.java:65) - Could not find action or result: /imooc_sh/students/Students_query.action
com.opensymphony.xwork2.config.ConfigurationException: No result defined for action action.StudentsAction and result Students_query_success
?? ?at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:374) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:276) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41) ~[struts2-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256) ~[struts2-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:168) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:76) ~[struts2-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73) ~[struts2-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:125) ~[struts2-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91) ~[struts2-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:253) ~[struts2-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:140) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) ~[struts2-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) ~[xwork-core-2.3.37.jar:2.3.37]
?? ?at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54) ~[struts2-core-2.3.37.jar:2.3.37]
?? ?at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:575) [struts2-core-2.3.37.jar:2.3.37]
?? ?at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81) [struts2-core-2.3.37.jar:2.3.37]
?? ?at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99) [struts2-core-2.3.37.jar:2.3.37]
?? ?at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.38]
?? ?at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.38]
?? ?at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) [catalina.jar:8.5.38]
?? ?at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [catalina.jar:8.5.38]
?? ?at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) [catalina.jar:8.5.38]
?? ?at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [catalina.jar:8.5.38]
?? ?at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) [catalina.jar:8.5.38]
?? ?at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650) [catalina.jar:8.5.38]
?? ?at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [catalina.jar:8.5.38]
?? ?at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) [catalina.jar:8.5.38]
?? ?at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800) [tomcat-coyote.jar:8.5.38]
?? ?at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-coyote.jar:8.5.38]
?? ?at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806) [tomcat-coyote.jar:8.5.38]
?? ?at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498) [tomcat-coyote.jar:8.5.38]
?? ?at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:8.5.38]
?? ?at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_191]
?? ?at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_191]
?? ?at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.5.38]
?? ?at java.lang.Thread.run(Unknown Source) [?:1.8.0_191
//StudentsAction package?action; import?java.text.SimpleDateFormat; import?java.util.List; import?entity.Students; import?service.impl.StudentsDAOImpl; import?services.StudentsDAO; //學(xué)生Action類 public?class?StudentsAction?extends?SuperAction{ ????private?static?final?long?serialVersionUID?=?1L; ???? ????//查詢所有學(xué)生的動作 ????public?String?query()?{ ????????//首先創(chuàng)建學(xué)生業(yè)務(wù)邏輯接口的引用 ????????StudentsDAO?sdao?=?new?StudentsDAOImpl(); ????????//調(diào)用sdao的一個方法,返回一個List的集合 ????????List<Students>?list?=?sdao.queryAllStudents(); ????????//將結(jié)果放進session中 ????????if(list!=null&&list.size()>0)?{ ????????????session.setAttribute("students_list",?list); ????????????//return?"Students_query_success"; ????????} ????????return?"Students_query_success"; ????} ???? ????//添加學(xué)生 ????public?String?add()?throws?Exception{ ?????????Students?s?=?new?Students(); ?????????s.setSname(request.getParameter("sname")); ?????????s.setGender(request.getParameter("gender")); ?????????SimpleDateFormat?sdf?=?new?SimpleDateFormat("yyyy-MM-dd"); ?????????s.setBirthday(sdf.parse(request.getParameter("birthday"))); ?????????s.setAddress(request.getParameter("address")); ?????????StudentsDAO?sdao?=?new?StudentsDAOImpl(); ?????????sdao.addStudents(s); ?????????return?"add_success"; ????} }
<!--?struts.xml?--> <?xml?version="1.0"?encoding="UTF-8"??> <!DOCTYPE?struts?PUBLIC ????"-//Apache?Software?Foundation//DTD?Struts?Configuration?2.3//EN" ????"http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> ????<package?name="default"?namespace="/"?extends="struts-default"> ?????? ????</package> ???? ????<package?name="users"?namespace="/users"?extends="default"> ??????<action?name="*_*"?class="action.{1}Action"?method="{2}"> ????????<result?name="login_success">/users/Users_login_success.jsp</result> ????????<result?name="login_failure">/users/Users_login.jsp</result> ????????<result?name="logout_success">/users/Users_login.jsp</result> ????????<result?name="input">/users/Users_login.jsp</result> ??????</action> ????</package> ???? ????<package?name="students"?namespace="/students"?extends="default"?> ??????<action?name="*_*"?class="action.{1}Action"?method="{2}"> ????????<result?name="query_success">/students/Students_query_success.jsp</result> ??????</action> ????</package> </struts>
2019-09-24