设置Tomcat默认上下文路径

时间:2012-11-30 06:40:32

标签: java tomcat deployment war context.xml

在我的context.xml文件中,我将以下内容设置为:<Context antiJARLocking="true" path="/" />

当我从NetBeans运行我的项目时,它可以正常工作并转到http://localhost:8080/login。然后,当我清洁&amp;构建并进入Tomcat Manager并部署war文件,由于某种原因它转到http://localhost:8080/appName/login。我不确定为什么它会添加上下文路径或它甚至从哪里获取它,但是当我手动部署它时它会这样做。当我直接从Netbeans运行项目时,它没有。在我直接从NetBeans运行它之后,如果我转到Tomcat Manager,它会显示在上下文路径/下部署的应用程序,这是正确的。当我手动部署.war时,它会在上下文路径/appName

下部署

3 个答案:

答案 0 :(得分:4)

听起来您正在将war文件构建为“appName.war”。这就是tomcat在“/ appName”下部署它的原因。

如果您希望在/上访问您的应用程序,可以将您的war文件重命名为ROOT.war并将其放在/ webapps中,它应该可以在http:// localhost:8080 /

访问

答案 1 :(得分:1)

编写一些应用程序,以便更改上下文路径需要更改代码。如果您遇到这种情况,则另一种方法是使您的服务器默认为特定的上下文:

步骤1)将其放在[tomcat] /conf/web.xml

<welcome-file-list>      
    <welcome-file>index.html</welcome-file>
</welcome-file-list>

步骤2)将此文件添加到ROOT webapp文件夹,并保留其他所有内容: index.html(适用于root应用)。使用这种javascript方法而不是正常的重定向,允许'重定向'工作并保持相同的url参数。

<!doctype html>
<html>
<head>

<script language="JavaScript">
    document.location.href = "/mycontext" + document.location.search;
</script>

</head>

</html>

答案 2 :(得分:0)

使用此Maven插件:

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <path>/</path>
        <warFile>${project.build.directory}/fileName.war</warFile>
    </configuration>
</plugin>

删除META-INF文件夹中的context.xml文件。

使用以下命令运行项目:mvn tomcat7:run