【发布时间】:2018-10-24 18:12:27
【问题描述】:
我试图在 Tomcat 中部署一个 war 文件,但我在访问应用程序时遇到了问题。该代码实际上在 eclipse 中运行良好,我能够访问应用程序。我访问的应用程序是基于 struts 的应用程序
在 Eclipse 中完成的更改
I have made the below change in eclipse. Changed the context path from
<Context docBase="iowe" path="/iowe" reloadable="true" source="org.eclipse.jst.jee.server:iowe"/></Host> to
<Context docBase="iowe" path="/" reloadable="true" source="org.eclipse.jst.jee.server:iowe"/></Host>
通过上述更改,当我在 Eclipse 中启动 tomcat 时,它工作正常并且我能够访问该应用程序。当我创建一个war文件并尝试在tomcat中部署它时,我在访问应用程序时遇到了问题。收到以下错误消息
HTTP Status 404 - There is no Action mapped for namespace / and action name login.message There is no Action mapped for namespace / and action name login.
在 tomcat 中部署 war 文件时,我还像在 eclipse 中一样使用以下上下文路径更新了 server.xml
<Context docBase="iowe" path="/" reloadable="true"/>
部署成功,但无法通过 url http://localhost:8080/iowe/login.do 访问登录页面。得到上述错误信息。它指定没有映射的动作。但是struts.xml中有可供登录的映射
分析完成
以下是我做过的分析
- 我还将 server.xml 中的上下文路径更改为 上下文 docBase="D:\iowe\apache-tomcat-7.0.59\webapps\iprowe" path=""/>。重新启动tomcat并尝试访问该应用程序。仍然得到同样的错误。
- 按照link 中的步骤创建了一个ROOT.xml 文件并包含了上下文路径 上下文 docBase="C:\Tomcat8.0\webapps\iowe" path="/" reloadable="true"。重新启动tomcat服务器并检查但它没有工作。再次遇到同样的错误
非常感谢您对此的任何帮助。提前致谢
【问题讨论】:
-
您在 Eclipse 中为添加上下文所做的更改与您从 Eclipse 外部启动 Tomcat 时使用的文件相同吗?
-
嗨 - 是的,它也是我在 ecllipse 之外使用的同一个 server.xml 文件。