servlet上下文到tomcat 7 root

时间:2013-08-30 13:44:18

标签: java tomcat servlets

将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 &quot;%r&quot; %s %b" />    
   <Context docBase="app-renderer" path="/" reloadable="true" />
 </Host>

更新2

问题是关于ROOT中的webapps目录,现在删除后我可以将该应用作为root用户。

3 个答案:

答案 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 &quot;%r&quot; %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目录。