Java 控制器与url不匹配
我在加载页面时遇到问题。我在struts.xml(位于Java Resources/src/com.infopool.action中)中定义了下一个配置: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>
<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>