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

前端之家收集整理的这篇文章主要介绍了java – 如何在Tomcat中设置上下文路径,以便可以进入站点而不附加已部署的文件夹名称?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在Tomcat指南 here上阅读了关于这个问题的一些问题.我觉得我几乎做同样的事情.但在某种程度上无法成功.

首先,我不得不说,我的应用程序部署在我无法控制的共享Tomcat服务器上.我只是放弃我的.war文件,它被部署.

我试图打包我的应用程序作为ROOT.war,但没有工作.管理员告诉我把它包装成任何我想要的名字,他们会照顾它.
我把它打包成为我的application.war,它被部署,但是我必须输入http://my-host/my-application才能访问该网站.

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

<Context path="" docBase="path of my-application deployed folder"/>

这应该将我的应用程序设置为默认应用程序,用于所有来到我的主机的请求.但是没有,每当我进入http://my-host我得到:

HTTP Status 404 - / The requested resource (/) is not available

但是当我进入http://my-host/my-application这一切都可以正常工作.任何关于什么可能是错误的建议是绝对赞赏.

更新:
我试图按照07年4月在tomcat文档中描述的步骤进行描述.3种方法被描述,我尝试了所有三种方法,并且可以在本地主机上成功部署我的应用程序作为ROOT.

我也试图重现我在远程服务器上面临的问题,所以我可以找到原因并报告给管理员.我找到几个问题.

>在管理员发送给我的server.xml片段中,autoDeploy和deployOnStartUp设置为true,而如果在server.xml中显式定义Context元素,则它们应该为false.这将导致双重部署,其创建ROOT文件夹和名称为.war文件文件夹.删除.war将删除它的相应文件夹,并取消配置应用程序,但ROOT保持不变,必须手动删除,并需要重新启动Tomcat.在重新启动之前,任何ROOT.war的部署都将失败.
>我认为有一些原因阻止ROOT.war部署.一个可能是ROOT.xml存在于conf / {engine-name} / {host-name}中,或者一个ROOT文件夹存在于主机的appBase中,或者如上所述,以前部署中的ROOT应用程序未被取消部署,并且需要Tomcat重新开始.

无论哪种方式,我无法准确地确定什么是防止ROOT.war部署,因为这需要访问Tomcat日志文件和conf文件来检查上述情况.

也从所有我看到我的管理员似乎无法维护一个Tomcat服务器并找到问题.所以我决定和一个专用的Tomcat服务器一起去共享一个.

解决方法

在您的问题中,您声明管理员将上下文设置为:
<Context path="" docBase="path of my-application deployed folder"/>

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

我在tomcat服务器上尝试过:

<Context path="/" docBase="my-application/" />

这样做了.

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

原文链接:https://www.f2er.com/java/126951.html

猜你在找的Java相关文章