这是最近在做的项目
版本sturts2.0
运行的时候出现一个这个错误
[ITSM]2015-05-22 16:30:07[ERROR][http-8080-5] com.opensymphony.xwork2.util.logging.commons.CommonsLogger.error(38) | Exception occurred during processing request: There is no Action mapped for namespace [/] and action name [reportServlet] associated with context path [/cms].
There is no Action mapped for namespace [/] and action name [reportServlet] associated with context path [/cms]. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:553)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:93)
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.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.qwserv.itsm.pfl.security.utils.P3PFilter.doFilter(P3PFilter.java:23)
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:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
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:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
struts.xml文件我并没有动过,修改了另一个struts的配置文件,改动如下
<action name="*CategoryReportAction" method="{1}" class="categoryReportAction">
<result name="hostCICategoryReport">/pfl/cmdb/reports/hostCICategoryReport.jsp</result>
<result name="networkEquipmentCICategoryReport">/pfl/cmdb/reports/networkEquipmentCICategoryReport.jsp</result>
<result name="hostTypeCICategoryReport">/pfl/cmdb/reports/hostTypeCICategoryReport.jsp</result>
</action>
本来应该打开的是这些jsp页面.页面加载一张报表.但是并未打开.控制台输出的就是最上面出现的报错.那个reportServlet我找遍了整个项目.在web.xml找到一个配置.但不知道是否与这个报错有关.而且这个配置好像是配置项目中集成的报表软件的
<servlet-mapping>
<servlet-name>reportServlet</servlet-name>
<url-pattern>/reportServlet</url-pattern>
</servlet-mapping>
求大神们指点一下,已经被这个搞晕了。
------解决思路----------------------
原因很简单啊,Servlet和Action不一样!
错误提示There is no Action mapped for namespace [/] and action name [reportServlet] associated with context path
表明程序试图寻找一个叫reportServlet的Action,但是strut.xml配置文件中没有这个action啊,当然找不到!
估计楼主的url写成了reportServlet.action了吧,要不就是使用了s:a标签