【问题标题】:Struts2 Action Mapping Results in Error 404Struts2 动作映射导致错误 404
【发布时间】:2015-01-27 21:42:00
【问题描述】:

我有一个在 Glassfish 4 容器上运行的 Struts2 应用程序。该应用程序包含一个动作类SampleAction

package com.mysample.action;
public class SampleAction {

 public String execute() {
    return "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" extends="struts-default">
                <action name="sayHello" class="com.mysample.action.SampleAction">
                        <result name="success">/success.jsp</result>
                        <result name="error">/error.jsp</result>
                </action>
        </package>
</struts>

此项目的 web.xml 如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

当我转到http://localhost:8080/sample_war_exploded/sayHello.action 我收到 404 错误。未找到

当我转到:http://localhost:8080/sample_war_exploded/success.jsp -- 我得到一个成功页面

为什么我的映射不能正常工作?我希望通过转到 */sayHello.action,我会得到成功页面。

我尝试过重新部署工件,停止+重新启动服务器等。我什至对“success.jsp”上的内容进行了一些更改,这些更改在我重新部署时会被拾取。映射无法正常工作,我想知道如何解决此问题。

【问题讨论】:

  • 是不是把配置文件放错了?
  • 您在应用程序启动时看到任何错误吗?

标签: java struts2


【解决方案1】:

经过一番试验,我明白了这一点。事实证明,Glassfish 让我部署了我的 Struts2 应用程序而不会引发任何错误,即使没有将 Struts2 项目库正确添加到我的项目中。我将我的部署容器切换到 Tomcat,并且开始收到错误消息,表明我缺少配置。然后我能够添加缺少的配置项并重新部署应用程序。它现在按预期工作。

感谢 cmets/建议。

【讨论】:

    猜你喜欢
    • 2013-08-27
    • 2013-08-31
    • 1970-01-01
    • 1970-01-01
    • 2020-10-14
    • 2012-08-10
    • 2013-12-24
    • 2012-09-07
    • 1970-01-01
    相关资源
    最近更新 更多