我正在尝试将Tomcat 6网络服务器的默认应用程序更改为与"ROOT"(在webapps文件夹内)不同的应用程序.做这个的最好方式是什么?
小智 127
有三种方法:
首先从其bin
目录(sh shutdown.sh
)关闭Tomcat .然后删除Tomcat webapps
文件夹的所有内容(rm -fr *
).然后将WAR文件重命名为ROOT.war
,最后从bin
目录(sh startup.sh
)启动Tomcat .
将war文件保留$CATALINA_BASE/webapps
为原始名称.关闭
文件中Host元素中的autoDeploy和deployOnStartupserver.xml
.明确定义所有应用程序上下文server.xml
,同时指定path
和docBase属性.您必须执行此操作,因为您已禁用所有Tomcat自动部署机制,并且Tomcat将不再部署您的应用程序,除非它在其中找到它们的Context server.xml
.
第二种方法:为了对任何应用程序进行任何更改,您必须停止并重新启动Tomcat.
将WAR文件放在外面$CATALINA_BASE/webapps
(必须在外面以防止双重部署).将命名上下文的文件ROOT.xml
在$CATALINA_BASE/conf/
.此上下文文件中的单个元素必须具有
指向WAR文件位置的docBase属性.不应设置path元素 - .xml
在这种情况下,它是从文件名中派生的ROOT.xml
.有关详细信息,请参阅Context容器的文档.
小智 24
<Context>
在<Host>
标记中server.xml
为Tomcat 6 添加标记将解决该问题.
如果您使用path=""
空,则可以使用类似的URL http://localhost/first.do
.
在背景标签设置属性docBase="E:\struts-ITRCbook\myStrutsbook"
和reloadable="true"
,然后结束背景标签.
它应该看起来像这样:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="E:\struts-ITRCbook\myStrutsbook" reloadable="true">
</Context>
</Host>
Run Code Online (Sandbox Code Playgroud)
Sud*_*yam 24
在Tomcat 7中进行了这些更改,我可以访问myAPP
at /
和ROOT
at/ROOT
<Context path="" docBase="myAPP"/>
<Context path="ROOT" docBase="ROOT"/>
Run Code Online (Sandbox Code Playgroud)
将上面的<Host>
内容添加到server.xml中的部分
小智 16
ROOT默认应用程序通常是Tomcat管理器 - 这可能很有用,所以感觉就像保持它一样.
所以我让我的应用ROOT和保持TCmgr的方式是这样的.
将ROOT重命名为其他内容
mv ROOT TCmgr
然后创建了一个符号链接,ROOT指向我想要默认的应用程序.
ln -s __CODE__
ROOT
为我工作,似乎是最简单的方法.
--nestochan
Jon*_*Jon 12
根据Apache Tomcat文档,您可以通过创建ROOT.xml文件来更改应用程序.有关详细信息,请参阅此
http://tomcat.apache.org/tomcat-6.0-doc/config/context.html
"可以使用名为ROOT.xml的文件来定义默认Web应用程序."
gar*_*les 12
您可以通过以下方式轻松实现此目的:
归档时间: |
|
查看次数: |
221312 次 |
最近记录: |