Java Struts 2动作类不工作

Java Struts 2动作类不工作,java,jakarta-ee,struts2,Java,Jakarta Ee,Struts2,我正在使用struts2开发web应用程序。 我已经包含了struts2所需的JAR,但是当它要调用struts操作类时,它抛出了404错误。 控制台上没有错误,浏览器也没有显示.action扩展,struts.xml调用action类时显示该扩展。 我使用的是jdk1.6和struts2.0 我是否遗漏了负责这一切的人。 在jsp中,我只是从调用函数 这是我的struts.xml和web.xml struts.xml <?xml version="1.0" encoding="UTF-


我正在使用struts2开发web应用程序。
我已经包含了struts2所需的JAR,但是当它要调用struts操作类时,它抛出了404错误。
控制台上没有错误,浏览器也没有显示.action扩展,struts.xml调用action类时显示该扩展。
我使用的是
jdk1.6
struts2.0

我是否遗漏了负责这一切的人。

在jsp中,我只是从
调用函数

这是我的struts.xml和web.xml

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> 
  <constant name="struts.multipart.maxSize" value="6000000000" /> 

  <package name="default" namespace="/jsp" extends="struts-default">
    <action name="Mergexmlaction" class="com.hm.merge.mergeaction.Mergexmlaction">
      <result name="success" >/jsp/Result.jsp</result>
      <result name="error" >/jsp/Browse_multiplexmlfiles.jsp</result> 
      <interceptor-ref name="fileUpload">
        <param name="maximumSize">600000000</param> 
      </interceptor-ref> 
    </action>
  </package>
</struts>
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="xml_file_merging" version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
  <display-name>xml_file_merging</display-name>
  <filter>
        <filter-name>struts2</filter-name>
        <filter-class>
            org.apache.struts2.dispatcher.FilterDispatcher
        </filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <welcome-file-list>
        <welcome-file>jsp/Browse_multiplexmlfiles.jsp</welcome-file>
    </welcome-file-list>
</web-app>

/jsp/Result.jsp
/jsp/Browse_multiplexmlfiles.jsp
600000000
web.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> 
  <constant name="struts.multipart.maxSize" value="6000000000" /> 

  <package name="default" namespace="/jsp" extends="struts-default">
    <action name="Mergexmlaction" class="com.hm.merge.mergeaction.Mergexmlaction">
      <result name="success" >/jsp/Result.jsp</result>
      <result name="error" >/jsp/Browse_multiplexmlfiles.jsp</result> 
      <interceptor-ref name="fileUpload">
        <param name="maximumSize">600000000</param> 
      </interceptor-ref> 
    </action>
  </package>
</struts>
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="xml_file_merging" version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
  <display-name>xml_file_merging</display-name>
  <filter>
        <filter-name>struts2</filter-name>
        <filter-class>
            org.apache.struts2.dispatcher.FilterDispatcher
        </filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <welcome-file-list>
        <welcome-file>jsp/Browse_multiplexmlfiles.jsp</welcome-file>
    </welcome-file-list>
</web-app>

xml\u文件\u合并
支柱2
org.apache.struts2.dispatcher.FilterDispatcher
支柱2
/*
jsp/Browse_multiplexmlfiles.jsp

错误404是错误链接。意味着你只是在调用一个不存在的链接。检查struts配置文件中的映射,确保使用正确的url。

错误404是错误链接。意味着你只是在调用一个不存在的链接。检查struts配置文件中的映射,确保使用正确的url。

包元素的名称空间属性是可选的,如果不存在,则假定默认值“/”。如果名称空间属性具有非默认值,则必须将名称空间添加到调用包中的操作的URI中

例如,在具有默认命名空间的包中调用操作的URI如下:

/上下文/操作名

要在具有非默认命名空间的包中调用操作,需要以下URI:


/context/namespace/actionName

包元素的namespace属性是可选的,如果不存在,则假定默认值“/”。如果名称空间属性具有非默认值,则必须将名称空间添加到调用包中的操作的URI中

例如,在具有默认命名空间的包中调用操作的URI如下:

/上下文/操作名

要在具有非默认命名空间的包中调用操作,需要以下URI:


/context/namespace/actionName

存在一些问题

<package name="default" namespace="/jsp" extends="struts-default">
3)我建议将JSP页面置于
WEB-INF
下,以避免客户端直接访问

    <interceptor-ref name="fileUpload">

4)声明任何拦截器后,必须声明所有拦截器。此操作仅运行一个拦截器。这是可能的,但这几乎从来都不是正确的做法

<welcome-file>jsp/Browse_multiplexmlfiles.jsp</welcome-file>
jsp/Browse\u multiplexmlfiles.jsp
5)这是最终的问题,取决于您访问应用程序的方式。您将欢迎文件显示为一个JSP页面,该页面可能使用S2标记。这是行不通的:标记取决于它们是一个完整的S2请求、一个值堆栈等等


对S2应用程序的所有访问都应该通过S2操作进行,而不是通过JSP。如果您查看直接访问的JSP的呈现HTML,您将不会看到呈现的名称空间和操作扩展。

存在一些问题

<package name="default" namespace="/jsp" extends="struts-default">
3)我建议将JSP页面置于
WEB-INF
下,以避免客户端直接访问

    <interceptor-ref name="fileUpload">

4)声明任何拦截器后,必须声明所有拦截器。此操作仅运行一个拦截器。这是可能的,但这几乎从来都不是正确的做法

<welcome-file>jsp/Browse_multiplexmlfiles.jsp</welcome-file>
jsp/Browse\u multiplexmlfiles.jsp
5)这是最终的问题,取决于您访问应用程序的方式。您将欢迎文件显示为一个JSP页面,该页面可能使用S2标记。这是行不通的:标记取决于它们是一个完整的S2请求、一个值堆栈等等


对S2应用程序的所有访问都应该通过S2操作进行,而不是通过JSP。如果您查看直接访问的JSP的呈现HTML,您将既看不到呈现的名称空间也看不到呈现的操作扩展。

web.xml呢?您在那里设置了struts dispatcher吗?需要很多信息吗?关于你的web.xml,当你得到这个信息时,你会点击什么URL,没有它就无法回答。我已经添加了我的struts和web.xml文件….
在jsp中,我只是从s:formits调用函数,只给出404或任何其他错误。当您启动应用程序或点击任何特定URL时,是否会出现错误?这就是问题所在。。。它在浏览器上的控制台JU上没有给出任何错误。当我启动应用程序时,第一页显示得非常完美,但当我按照说明提交请求时。。然后我得到了这个错误…web.xml呢?您在那里设置了struts dispatcher吗?需要很多信息吗?关于你的web.xml,当你得到这个信息时,你会点击什么URL,没有它就无法回答。我已经添加了我的struts和web.xml文件….
在jsp中,我只是从s:formits调用函数,只给出404或任何其他错误。当您启动应用程序或点击任何特定URL时,是否会出现错误?这就是问题所在。。。它在浏览器上的控制台JU上没有给出任何错误。当我启动应用程序时,第一页显示得非常完美,但当我按照说明提交请求时。。然后我得到了这个错误…谢谢回复Dave,但我的欢迎页面运行良好。。问题是当我调用任何操作时,它没有运行,甚至没有显示任何操作扩展。我犯了一个愚蠢的错误。。。。我将struts.xml命名为struts.xml。。。。现在它的工作很好,感谢所有我从你们的答案中学到了这么多,并将提醒未来这些事情。。。谢谢你的语气…:)谢谢你的回复Dave,但我的欢迎页面是ru