簡體   English   中英

設置Tomcat默認上下文路徑

[英]Set Tomcat Default Context Path

在我的context.xml文件中,我將以下內容設置為: <Context antiJARLocking="true" path="/" />

當我從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>

步驟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>

使用這個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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM