Struts 2.3简单动作错误 - 初学者级别

时间:2016-03-20 03:48:48

标签: java configuration struts2 http-status-code-404

尝试连接到本地服务器时出现以下错误。

我正在访问我的页面,如下所示...... http://localhost:8080/MyFirstStruts/HomeScreen.action

  

HTTP状态404 - 没有映射名称空间[/]的动作和与上下文路径[/ MyFirstStruts]相关联的动作名称[HomeScreen]。

我的项目名称是MyFirstStruts。

HomeScreen.Java代码

package com.cmdb.actions;

import com.opensymphony.xwork2.ActionSupport;

public class HomeScreen extends ActionSupport {

/**
 * The action method
 * @return name of view
 */
public String execute() {

    return SUCCESS;
}


} //end of class 
 // end of class

的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>MyFirstStruts</display-name>


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


  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>

struts.xml中

<?xml version="1.0" encoding="UTF-8"?>
<!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="HomeScreen" class="actions.HomeScreen"
            method="execute">
            <result name="success">/Home.jsp</result>
        </action>
    </package>
</struts>

2 个答案:

答案 0 :(得分:0)

您在struts.xml actions.HomeScreen中提到的操作的类路径与您的类包com.cmdb.actions不同。这些必须相同。

答案 1 :(得分:0)

struts.xml文件必须位于../WEB-INF/classes文件夹下,您必须手动创建该文件夹并将struts.xml文件移至该文件夹。

您的/WEB-INF文件夹树应如下所示:

  

../ WEB-INF
  ../WEB-INF/classes
  ../WEB-INF/classes/struts.xml
  ../WEB-INF/web.xml

另外,正如@Alireza所提到的,您应该在class中设置struts.xml属性,如下所示class="com.cmdb.actions.HomeScreen"

这将帮助您启动并运行。