設置web應用的 context root (轉)-- web project setting


context root確定了Tomcat將那些URL請求轉發到Web應用. 如果應用的context root 設置為 myapp,除非存在更為明確context root的Web應用,那么所有 /myapp or /myapp/* 的請求將被轉發到你的應用進行處理,. 如果第二個應用context root設置為 myapp/help, 那么 /myapp/help/help.jsp 的請求將轉發到第二個應用進行處理,而不是第一個應用。

這個關系同樣適用於被稱為root context  / 的context root . 當應用被指定為root context, 它將會響應沒有被明確context root處理的所有請求. 

應用的context root 取決於應用的部署方式. 如果Web應用作為 EAR 包的一部分進行部署, 那么context root 將通過 EAR包里的application.xml 文件中web模塊 context-root元素設置. 在下面的例子里, web-client.war應用的context root 設置為 bank

 

<application xmlns="http://java.sun.com/xml/ns/j2ee" version="1.4"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com /xml/ns/j2ee 
                             http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
    <display-name>JBossDukesBank</display-name>
    <module>
        <ejb>bank-ejb.jar</ejb>
    </module>
    <module>
        <web>
            <web-uri>web-client.war</web-uri>
            <context-root>bank</context-root>
        </web>
    </module>
</application>

對於部署在 EAR 文件以外的Web應用, 可以通過兩種方式指定 context root. 第一種方式是在 WEB-INF/jboss-web.xml 文件中指定. 下面的例子給出了部署在EAR文件以外的Web應用的 jboss-web.xml 文件. 

<jboss-web>
    <context-root>bank</context-root>
</jboss-web>

最后,如果沒有指定 context root , Web應用將使用 WAR 文件的文件名作為context root. 對於 web-client.warcontext root 將被缺省設置為 web-client. 唯一的例外是特殊的名稱 ROOT. 為了部署 root context的Web應用, 只需要將其命名為 ROOT.war,但是JBoss 已經在 jbossweb-tomcat55.sar 目錄中包含了ROOT.war. 因此你需要將JBoss自帶的ROOT.war刪除或者改名.

采用context root 作為WAR文件的名稱是一個非常好的實踐,這不僅減少了管理的配置設置數量,而且將會使Web應用的用途更加明確,從而提高了可維護性。.

 

https://www.cnblogs.com/guoxu/articles/1734044.html

https://docs.jboss.org/jbossas/guides/webguide/r2/en/html/ch06.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM