将servlet上下文放到tomcat 7
root的最佳方法是什么?我试过this post here但是没有为我工作;我正在使用Apache Tomcat/7.0.42
。
P.S:我不想将项目名称重命名为ROOT.war
。
我按照其中一个答案中的说明放置了context
标记,但仍然以root身份获取tomcat
主页:
<Host name="localhost" appBase="webapps"
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context docBase="app-renderer" path="/" reloadable="true" />
</Host>
问题是关于ROOT
中的webapps
目录,现在删除后我可以将该应用作为root用户。
答案 0 :(得分:5)
在Tomcat的conf/server.xml
文件中,您通常会有一个条目
<Context docBase="yourApp" path="/somePath" reloadable="true" source="someSource"/>
适用于您的申请。
将路径更改为/
<Context docBase="yourApp" path="/" reloadable="true" source="someSource"/>
在Host
条目中添加此内容。例如
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context docBase="yourApp" path="/" reloadable="true" />
</Host>
docBase
属性是webapps
文件夹中显示的应用名称。 The docs explain the meaning of each attribute.
答案 1 :(得分:0)
检查context documentation。您正在寻找webapp路径的docBase
属性和根上下文的path
属性,例如如属性文档中所述,将其留空。
答案 2 :(得分:0)
不将.war
文件更改为ROOT
,请按以下步骤操作:
1.
在ROOT.xml
tomcat/conf/Catalina/localhost/
的文件
2.
将代码粘贴到ROOT.xml
文件中:
<Context
docBase="/home/user/YOUR_PROJECT/target/YOUR_PROJECT.war"
path=""
reloadable="true"
/>
现在您可以在tomcat root中访问您的项目。
要使一个干净的项目删除tomcat/webapps/ROOT
目录。