Java 设置Tomcat默认上下文路径

Java 设置Tomcat默认上下文路径,java,tomcat,deployment,war,context.xml,Java,Tomcat,Deployment,War,Context.xml,在我的context.xml文件中,我将以下内容设置为: 当我从NetBeans运行我的项目时,它会正常工作并转到http://localhost:8080/login。然后,当我清理和构建并进入Tomcat Manager并部署war文件时,出于某种原因,它会转到http://localhost:8080/appName/login。我不确定它为什么要添加上下文路径,或者它从何处获取上下文路径,但每当我手动部署它时,它都会这样做。当我直接从Netbeans运行项目时,它就不会运行了。在我直接从

在我的
context.xml
文件中,我将以下内容设置为:


当我从NetBeans运行我的项目时,它会正常工作并转到
http://localhost:8080/login
。然后,当我清理和构建并进入Tomcat Manager并部署war文件时,出于某种原因,它会转到
http://localhost:8080/appName/login
。我不确定它为什么要添加上下文路径,或者它从何处获取上下文路径,但每当我手动部署它时,它都会这样做。当我直接从Netbeans运行项目时,它就不会运行了。在我直接从NetBeans运行它之后,如果我转到Tomcat Manager,它会显示在上下文路径
/
下部署的应用程序,这是正确的。当我手动部署.war时,它会部署在上下文路径下
/appName

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


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

上访问该文件。某些应用程序的编写方式使得更改上下文路径需要更改代码。如果您遇到这种情况,这里有另一种使服务器默认为特定上下文的方法:

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

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

index.html
步骤2)将此文件添加到根webapp文件夹,其他内容保持不变: index.html(用于根应用程序)。使用这种javascript方法而不是普通的重定向,允许“重定向”工作并保持相同的url参数

<!doctype html>
<html>
<head>

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

</head>

</html>

document.location.href=“/mycontext”+document.location.search;
使用此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>

org.apache.tomcat.maven
tomcat7 maven插件
2.2
/
${project.build.directory}/fileName.war
删除META-INF文件夹中的context.xml文件


使用以下命令运行您的项目:
mvntomcat7:Run

也许有一种自动方法可以做到这一点?等等,maven插件?