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