【问题标题】:The requested resource is not available in struts2 when action class is configured in struts.xml在 struts.xml 中配置动作类时,请求的资源在 struts2 中不可用
【发布时间】:2013-11-20 13:34:22
【问题描述】:

我尝试创建一个新的动作类并将其添加到struts.xml,动作类成功编译,但是当我运行 tomcat 时,它在索引页面本身显示 The requested resource is not available 404 错误。

CreateUser.jsp

<s:form action = "CreateUserAction" >
    <s:textfield name = "name" label = "Name" />
    <s:textfield name = "userName" label = "User Name" />
    <s:submit value = "Register" />
</s:form>

CreateUserAction.java

public String execute() {
    setMessage("Hello " + getUserName());
    return "SUCCESS";
}

Struts.xml

<package name="default" extends="struts-default">
    <action name="CreateUserAction" class="com.ecommerce.action.CreateUserAction">
    <result name="SUCCESS">/success.jsp</result>
    </action>
</package>

【问题讨论】:

  • 当资源不可用时,它会发送代码为 404 的错误。
  • 动作类在类的适当文件夹中可用,并且也将其添加到 struts.xml 中。我只是仔细检查了它..
  • 如果你不能访问动作类,那么它就不能返回资源。无需定义class 属性即可返回结果。
  • 你能简单解释一下吗,因为我是 struts2 的新手
  • 代码看起来不错,但需要查看您的网络应用程序结构。另外,为什么不先尝试几个例子google.co.in/…

标签: java jsp tomcat struts2


【解决方案1】:

对于上述问题:“当在struts.xml中配置动作类时,请求的资源在struts2中不可用” 我有一个建议。

复制并粘贴所有外部jar到文件夹lib(WebContent-->WEB-INF-->lib) 从构建路径中删除所有外部 jars (Project -->buildpath-->Configure Build path)

我发现这个解决方案适用于使用 Tomacat 7 的 eclipse Luna

【讨论】:

    【解决方案2】:

    Struts2 中的操作映射到从配置构建的 URL。当请求的 url 与操作名称和命名空间匹配时,就会执行它,否则调度程序会返回错误代码 404。 Struts2 被实现为一个过滤器,它正在寻找在其配置中映射的请求。例如,如果我希望它过滤所有 URL,我将写入 web.xml

    <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>
    

    如果您在索引页面本身上说错误 404,那么您应该问自己哪个 URL 对应于它,以及通过配置映射到该 URL 的操作是什么。如果您需要更详细地了解配置是什么以及可以输入哪些 URL 来执行操作,请安装 config-browser 插件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-09
      • 2014-01-11
      • 1970-01-01
      • 2012-06-25
      • 1970-01-01
      • 2014-09-11
      相关资源
      最近更新 更多