如何在Tomcat中设置上下文路径,以便可以在不附加部署的文件夹名称的情况下进入站点?

doc*_*rey 11 java deployment tomcat tomcat6

我在这里阅读有关Tomcat指南的内容和一些SO问题.而且我认为我几乎都在做同样的事情.但在某种程度上无法成功.

首先,我必须说我的应用程序部署在我无法控制的共享Tomcat服务器上.我只是删除我的.war文件并进行部署.

我试图将我的应用程序打包为ROOT.war但是没有用.管理员告诉我把它打包成我想要的名字,他们会照顾它.我把它打包为my-application.war并且已经部署但我必须输入http:// my-host/my-application才能进入网站.

联系管理员后,他们告诉我他们已经在我的主机中将一个上下文元素放在Tomcat配置文件中,如:

<Context path="" docBase="path of my-application deployed folder"/>
Run Code Online (Sandbox Code Playgroud)

应该将我的应用程序设置为所有请求的默认应用程序my-host.但它没有,每当我输入http:// my-host我得到:

HTTP Status 404 - / The requested resource (/) is not available
Run Code Online (Sandbox Code Playgroud)

但是,当我输入http:// my-host/my-application时,一切正常.任何关于可能出错的建议都是绝对值得赞赏的.

更新:
我尝试按照tomcat文档中描述的如何使应用程序默认的步骤.描述了3种方式,我尝试了所有三种方式,并且可以在localhost上将我的应用程序成功部署为ROOT.

我还尝试重现我在远程服务器上遇到的问题,以便找到原因并将其报告给管理员.我发现了几个问题.

  1. admin.xml发送给我的server.xml片段中,autoDeploydeployOnStartUp设置为true,而如果在server.xml中显式定义Context元素,则它们应该为false.这将导致双重部署,从而创建一个ROOT文件夹和一个名为.war文件的文件夹.删除.war将删除它的相应文件夹并取消部署应用程序,但ROOT仍然存在,必须手动删除并需要重新启动Tomcat.在重新启动之前,ROOT.war的任何部署都将失败.
  2. 我想有一些原因阻止了ROOT.war的部署.一个可能是一个的ROOT.xml在存在CONF/{发动机名}/{主机名}或在主机的存在的appBase根文件夹或如我上面从以前的部署一个ROOT应用描述的内容不是未展开并且需要的Tomcat重新开始.

无论哪种方式,我无法确切地指出究竟是什么阻止ROOT.war部署,因为这需要访问Tomcat日志文件和conf文件来检查我上面描述的情况.

另外,从我看来,我的管理员似乎无法维护Tomcat服务器并找到问题.所以我决定在与共享服务器挣扎之后使用专用的Tomcat服务器.

Jef*_*erg 5

在您的问题中,您声明管理员将上下文设置为:

<Context path="" docBase="path of my-application deployed folder"/>
Run Code Online (Sandbox Code Playgroud)

根据上面的评论,我建议尝试使用应用程序的相对路径而不是绝对路径.

我在我的tomcat服务器上试过这个:

<Context path="/" docBase="my-application/" />
Run Code Online (Sandbox Code Playgroud)

这就是诀窍.

包含Context元素的Host元素实际上设置了一些可能也会影响上下文的参数.如果它是默认设置,那么相对上下文应该只指向webapps文件夹.如果它已被更改,结果可能会有所不同.


zig*_*ggy 4

通常这可以通过以下步骤来实现:

\n\n
    \n
  • 在conf/Catalina/localhost中定义ROOT.xml上下文文件
  • \n
  • 将您的 web 应用程序命名为 WAR \xe2\x80\x9cROOT.war\xe2\x80\x9d 或包含文件夹 \xe2\x80\x9cROOT\xe2\x80\x9d
  • \n
\n\n

但是,我怀疑您是否能够在共享 Tomcat 实例上执行此操作。只有一个应用程序可以作为默认应用程序运行。托管公司可能不会允许它,否则他们将允许哪个应用程序成为共享同一 Tomcat 实例的许多人的默认应用程序?

\n\n

请参阅此链接:http://staraphd.blogspot.com/2009/10/change-default-root-folder-in-tomcat.html

\n