404Error-Struts2示例(在Dynamic We Project 3.0 web模块的纯jsp上测试时运行良好)

404Error-Struts2示例(在Dynamic We Project 3.0 web模块的纯jsp上测试时运行良好),struts2,http-status-code-404,Struts2,Http Status Code 404,我跟随本文学习struts 2,在tomcat服务器7上发现404错误,我已经测试过了 我们在同一个tomcat服务器7上投影了另一个纯jsp的动态3.0 web模块,它运行良好。是什么导致了struts示例上的错误,因为在这个示例中只有很少的文件,所以我想到的第一件事是struts 2中的部署描述符web.xml,这里是原始的一个: <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_9" version="

我跟随本文学习struts 2,在tomcat服务器7上发现404错误,我已经测试过了 我们在同一个tomcat服务器7上投影了另一个纯jsp的动态3.0 web模块,它运行良好。是什么导致了struts示例上的错误,因为在这个示例中只有很少的文件,所以我想到的第一件事是struts 2中的部署描述符web.xml,这里是原始的一个:

<?xml version="1.0" encoding="UTF-8"?>

<web-app id="WebApp_9" 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>Struts2 Application</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>Login.jsp</welcome-file>
    </welcome-file-list>

</web-app>

Struts2应用程序
支柱2
org.apache.struts2.dispatcher.FilterDispatcher
支柱2
/*
Login.jsp
我发现了差异,原来的web模块是2.4,我创建的是3.0,所以我替换了它

<web-app id="WebApp_9" 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">


并重新启动tomcat服务器,认为可以解决问题,但我仍然得到了错误,所以我感到困惑,因为没有更多的特定文件与服务器有关系,一些专家可以帮助我吗

下面是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.enable.DynamicMethodInvocation"
        value="false" />
    <constant name="struts.devMode" value="false" />

    <constant name="struts.custom.i18n.resources"
        value="ApplicationResources" />

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

        <action name="login"
            class="net.viralpatel.struts2.LoginAction">
            <result name="success">Welcome.jsp</result>
            <result name="error">Login.jsp</result>

        </action>
    </package>
</struts>

Welcome.jsp
Login.jsp

404
通常是指未找到
页面
,但有了这些小信息,很难判断出哪里出了问题

服务器控制台上是否出现任何异常/错误(如果有显示)。 作为学习struts2或开始使用struts2的附带说明,我最好的方法是从下载示例应用程序并在tomcat中运行它们

这将帮助您了解struts2布局以及其他所需配置

仅供参考:
Filter dispatcher
在struts2中已被弃用,我必须建议您使用

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
最好从更新的开始

编辑

您试图点击的URL在帖子中仍然缺失,但这似乎是名称空间的问题,因为您已经在包中定义了名称空间,并且根据这个struts2将尝试解决您的名称空间问题,在您的情况下,它无法找到。 有关详细信息,请阅读命名空间


另外,还要粘贴jsp代码,以便交叉检查从struts配置文件中删除这一行
namespace=“/”
,并检查它是否正常工作检查
web.xml
以及Eclipse创建的部署描述符,以了解它是否指向正确的jsp。i、 e.如果jsp在jsp文件夹下,欢迎文件应该是
/jsp/welcome.jsp

服务器控制台上是否有任何异常跟踪??信息不足。除了日志,您还需要发布
struts.xml
config文件的相关部分、您试图访问的URL等。需要更多信息来提供任何输入,尤其是配置files@dave牛顿:我更新了struts.xml,请检查您是否认为我告诉了很少的信息。@user1055108在故障排除时也将
devMode
设置为true。更新过滤器,确保您拥有所有库依赖项,告诉我们日志中是否有任何内容,并告诉我们您尝试访问的URL以及web应用程序的上下文。仍然不工作,我更新了struts.xml,您能看看吗?我知道404的意思,并且没有异常/错误,其他web项目工作正常,只是这一个说没有找到,一定是配置有问题,我更新了struts.xml,你能看一下吗,谢谢@DᴀᴠᴇNᴇᴡᴛᴏɴ我仍然无法理解struts2的名称空间变换,因此我相信如果他正在执行的操作未在名称空间“/”中定义,则应返回到默认名称空间“”,并且默认名称空间中应存在操作。如果我错了,请纠正我
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter