问题描述
StrutsProblemReportStrutshasdetectedanunhandledexception:Messages:•ThereisnoActionmappedfornamespace[/]andactionname[adminAction]associatedwithcontextpath[/lscms].StacktracesThereisnoActionmappedfornamespace[/]andactionname[adminAction]associatedwithcontextpath[/lscms].-[unknownlocation]com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185)org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:501)org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:119)org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684)weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)weblogic.work.ExecuteThread.run(ExecuteThread.java:173)Youareseeingthispagebecausedevelopmentmodeisenabled.Developmentmode,ordevMode,enablesextradebuggingbehaviorsandreportstoassistdevelopers.Todisablethismode,set:struts.devMode=falseinyourWEB-INF/classes/struts.propertiesfile.
解决方案
解决方案二:
struts.xml代码如下:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><!--指定由spring负责action对象的创建--><constantname="struts.objectFactory"value="spring"/><!--所有匹配*.action的请求都由struts2处理--><constantname="struts.action.extension"value="action"/><!--是否启用开发模式--><constantname="struts.devMode"value="false"/><!--struts配置文件改动后,是否重新加载--><constantname="struts.configuration.xml.reload"value="true"/><!--设置浏览器是否缓存静态内容--><constantname="struts.serve.static.browserCache"value="false"/><!--请求参数的编码方式--><constantname="struts.i18n.encoding"value="utf-8"/><!--每次HTTP请求系统都重新加载资源文件,有助于开发--><constantname="struts.i18n.reload"value="true"/><!--文件上传最大值--><constantname="struts.multipart.maxSize"value="104857600"/><!--让struts2支持动态方法调用--><constantname="struts.enable.DynamicMethodInvocation"value="true"/><!--Action名称中是否还是用斜线--><constantname="struts.enable.SlashesInActionNames"value="false"/><!--允许标签中使用表达式语法--><constantname="struts.tag.altSyntax"value="true"/><!--对于WebLogic,Orion,OC4J此属性应该设置成true--><constantname="struts.dispatcher.parametersWorkaround"value="true"/><packagename="basePackage"extends="struts-default"></package></struts>
解决方案三:
Action代码如下:packagecom.lscms.action;importjava.util.List;importjavax.servlet.http.HttpServletRequest;importorg.apache.struts2.ServletActionContext;importorg.apache.struts2.convention.annotation.Action;importorg.apache.struts2.convention.annotation.Namespace;importorg.apache.struts2.convention.annotation.Result;importorg.apache.struts2.convention.annotation.Results;importorg.springframework.beans.factory.annotation.Autowired;importcom.lscms.pageModel.Admin;importcom.lscms.pageModel.AdminGroup;importcom.lscms.pageModel.Json;importcom.lscms.service.AdminServiceI;importcom.opensymphony.xwork2.ActionContext;importcom.opensymphony.xwork2.ModelDriven;@Namespace("/")@Action("adminAction")@Results({@Result(name="SUCCESS",location="index.jsp",type="redirect"),@Result(name="LOGOUT",location="login.jsp",type="redirect"),@Result(name="ADMINLIST",location="system/admin/adminList.jsp",type="redirect"),@Result(name="EDITADMIN",location="system/admin/editAdmin.jsp",type="redirect")})publicclassAdminActionextendsBaseActionimplementsModelDriven<Admin>{Adminadmin=newAdmin();AdminGroupadminGroup=newAdminGroup();//表单自动注入@OverridepublicAdmingetModel(){returnadmin;}AdminServiceIadminService;publicAdminServiceIgetAdminService(){returnadminService;}@AutowiredpublicvoidsetAdminService(AdminServiceIadminService){this.adminService=adminService;}publicStringadminList(){List<AdminGroup>list=adminService.adminGroup();ActionContext.getContext().getSession().put("adminGroup",list);return"ADMINLIST";}publicvoiddataGrid(){super.writeJson(adminService.dataGrid(admin));}publicvoidsave(){Jsonj=newJson();try{adminService.save(admin);j.setSuccess(true);j.setMessage("添加成功!");}catch(Exceptione){j.setSuccess(false);j.setMessage(e.getMessage());}super.writeJson(j);}publicStringedit(){ActionContextcontext=ActionContext.getContext();HttpServletRequestrequest=(HttpServletRequest)context.get(ServletActionContext.HTTP_REQUEST);Stringid=request.getParameter("id");List<Admin>list=adminService.findById(id);ActionContext.getContext().getSession().put("adminList",list);return"EDITADMIN";}publicvoidupdate(){Jsonj=newJson();try{adminService.update(admin);j.setSuccess(true);j.setMessage("更新成功!");}catch(Exceptione){j.setSuccess(false);j.setMessage(e.getMessage());}super.writeJson(j);}publicStringlogin(){Jsonj=newJson();Adminad=adminService.login(admin);if(ad!=null){ActionContext.getContext().getSession().put("admin",admin);j.setSuccess(true);j.setMessage("登陆成功!");}else{j.setSuccess(false);j.setMessage("登陆失败,用户名或密码错误!");}//super.writeJson(j);return"SUCCESS";}publicStringlogout(){return"LOGOUT";}publicvoidremove(){Jsonj=newJson();try{adminService.remove(admin.getIds());j.setSuccess(true);j.setMessage("删除成功!");}catch(Exceptione){j.setSuccess(false);j.setMessage("删除失败!");}super.writeJson(j);}}
解决方案四:
jsp代码如下:<%@pagelanguage="java"pageEncoding="UTF-8"%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head><title>111</title><metahttp-equiv="pragma"content="no-cache"><metahttp-equiv="cache-control"content="no-cache"><metahttp-equiv="expires"content="0"><metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"><metahttp-equiv="description"content="Thisismypage"><scripttype="text/javascript"src="./jslib/jquery-easyui-1.3.6/jquery.min.js"></script><linkrel="stylesheet"href="css/login.css"type="text/css"></link></head><body><divclass="head"><divclass="logo"></div></div><divclass="foot"><formid="form"action="${pageContext.request.contextPath}/adminAction!login.action"method="Post"><divclass="login"><table><tr><td>帐号:<inputname="username"type="text"class="text_v"id="username"maxlength="20"/> </td><td>密码:<inputclass="text_v"name="password"type="password"id="password"/> </td><td>验证码:<imgsrc=""></td><td><inputclass="text_v"name="code"style="width:50px;"type="text"id="code"/></td></tr></table></div><divclass="login_sub"><buttontype="submit">登录</button> <buttontype="button">重置</button></div></form></div></body></html>
解决方案五:
应该是路径问题,用debug模式试一下,你能不能访问到你的后台方法,访问不到的话首先检查路径吧,也有可能是页面上的问题。
解决方案六:
引用4楼shiyonghu的回复:
应该是路径问题,用debug模式试一下,你能不能访问到你的后台方法,访问不到的话首先检查路径吧,也有可能是页面上的问题。
tomcat下面系统运行正常,在weblogic下面就出现这个问题了,不知道是怎么回事?是不是注解问题呢?weblogic好像没有解析注解。
解决方案七:
不会吧,注解与服务器没关系,你先把项目打包成war包,然后部署到weblogic上
解决方案八:
引用6楼shiyonghu的回复:
不会吧,注解与服务器没关系,你先把项目打包成war包,然后部署到weblogic上
恩就是这样做的,向后台action发送请求的时候,就报这个错了
解决方案九:
你是在eclipse上打的包吧
解决方案十:
引用8楼shiyonghu的回复:
你是在eclipse上打的包吧
不是用命令打的包
解决方案十一:
求解决,不要让此贴沉了!!!
解决方案十二:
你修改下注释@Namespace("/lscms")
解决方案十三:
引用11楼huasuoworld的回复:
你修改下注释@Namespace("/lscms")
刚试过了,还是同样的问题。
解决方案十四:
解决方案十五:
你weblogic是那个版本的
解决方案:
引用14楼jumpheightway的回复:
你weblogic是那个版本的
11g
解决方案:
这个问题没有人遇到吗?
解决方案:
也碰到了和楼主一样的问题,到现在还没解决,求大神帮忙解决。
解决方案:
http://blog.csdn.net/gl74gs48/article/details/7955533楼主可以试下应该可以的,刚刚找到的!
解决方案:
,这个问题大家有没有遇到啊?