Java 控制器与url不匹配

Java 控制器与url不匹配,java,struts2,tomcat7,Java,Struts2,Tomcat7,我在加载页面时遇到问题。我在struts.xml(位于Java Resources/src/com.infopool.action中)中定义了下一个配置: <struts> <package name="demo" namespace="/demo" extends="struts-default"> <action name="Inicio" class="com.infopool.action.Demo">

我在加载页面时遇到问题。我在struts.xml(位于Java Resources/src/com.infopool.action中)中定义了下一个配置:

<struts>
    <package name="demo" namespace="/demo" extends="struts-default">
        <action name="Inicio" class="com.infopool.action.Demo">
            <result name="success">/View/demo/start.jsp</result>
        </action>
        <action name="Hola" class="com.infopool.action.Demo" method="hello">
            <result name="success">/View/demo/hello.jsp</result>
        </action>
        <action name="Chau" class="com.infopool.action.Demo" method="goodbye">
            <result name="success">/View/demo/goodbye.jsp</result>
        </action>
    </package>
</struts>
  <filter>
    <filter-name>Main</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    <init-param>
        <param-name>actionPackages</param-name>
        <param-value>com.infopool.action</param-value>
    </init-param>
  </filter>

  <filter-mapping>
    <filter-name>Main</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
这些视图位于WebContent/View/demo中。当我尝试浏览页面时,出现404 Tomcat错误。网址是:

http://localhost:8080/Infopool/demo/Inicio.action

My web.xml具有下一个配置:

<struts>
    <package name="demo" namespace="/demo" extends="struts-default">
        <action name="Inicio" class="com.infopool.action.Demo">
            <result name="success">/View/demo/start.jsp</result>
        </action>
        <action name="Hola" class="com.infopool.action.Demo" method="hello">
            <result name="success">/View/demo/hello.jsp</result>
        </action>
        <action name="Chau" class="com.infopool.action.Demo" method="goodbye">
            <result name="success">/View/demo/goodbye.jsp</result>
        </action>
    </package>
</struts>
  <filter>
    <filter-name>Main</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    <init-param>
        <param-name>actionPackages</param-name>
        <param-value>com.infopool.action</param-value>
    </init-param>
  </filter>

  <filter-mapping>
    <filter-name>Main</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

主要
org.apache.struts2.dispatcher.ng.filter.strutspreadexecutefilter
行动包
com.infopool.action
主要
/*

我的配置有什么问题?

此配置的用途是传递一个动作包,其中声明了所有动作类

<init-param>
    <param-name>actionPackages</param-name>
    <param-value>com.infopool.action</param-value>
</init-param>
在配置action类时使用了另一种方法,即struts.xml

<struts>
    <package name="demo" namespace="/demo" extends="struts-default">
        <action name="Inicio" class="com.infopool.action.Demo">
            <result name="success">/View/demo/start.jsp</result>
        </action>
        <action name="Hola" class="com.infopool.action.Demo" method="hello">
            <result name="success">/View/demo/hello.jsp</result>
        </action>
        <action name="Chau" class="com.infopool.action.Demo" method="goodbye">
            <result name="success">/View/demo/goodbye.jsp</result>
        </action>
    </package>
</struts>


您在运行Web应用程序时是否看到任何错误?
将其放在您的
之后。这将使devMode允许您在控制台中查看一些有用的日志消息,而不会出现错误。我使用web.xml配置更新帖子。请尝试删除您的
actionPackages com.infopool.action
。只是一个预感,谢谢你提供你的web.xml,因为我看你的struts配置没有任何问题。而且,也不需要声明一秒钟。嗨,先生,很高兴听到你的想法你说的
second
?:)是什么意思我是说注释配置。它不是由XWork提供的,因此不是基本配置。此外,OP.ah get不使用它。关于这一点,我只是为了澄清而提到它,而不是建议使用它。顺便说一句:)顺便说一句,先生,为什么不发布你自己的答案?我想你有个主意,这可能会对手术有所帮助。只是想帮忙,分享我对OP问题的理解,如果OP对我的答案不满意,他可以忽略它。
<init-param>
    <param-name>actionPackages</param-name>
    <param-value>com.infopool.action</param-value>
</init-param>