1

我刚刚开始使用 Struts2 框架。所以我只是想创建一个基本程序。

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>

Struts.xml 文件的代码:

<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

   <package  name="default" namespace="/"  extends="struts-default"> 

       <action name="gettutorial"  class="com.abhijeet.actions.TutorialAction"  method="execute">
           <result name="success">result.jsp</result>
       </action>     
   </package>

</struts>

动作类代码:

package com.abhijeet.actions;

import com.opensymphony.xwork2.ActionSupport;


public class TutorialAction extends ActionSupport {

    private static final long serialVersionUID = 1L;

    @Override
    public String execute()
    {
      System.out.println("Execute method is called");
      return "success";
    }
}

我的项目结构是这样的:

在此处输入图像描述

当我运行http://localhost:8080/Struts2check/gettutorial.action url 时,它会显示错误消息:

“没有为命名空间 [/] 映射的操作和与上下文路径 [/Struts2check] 关联的操作名称 [gettutorial]。- [未知位置]”。

我无法找到问题,因为它对我来说似乎是正确的。如果我遗漏了什么或者我做错了什么,请告诉我。

4

1 回答 1

1

配置struts.xml文件必须放在类路径根目录下,

因此/WEB-INF/classes不只是/WEB-INF

您的其余配置似乎很好。

于 2015-10-28T10:33:39.467 回答