2011-07-14 105 views
1

我使用它知道將請求發送僅本地主機外部程序:8080/servlet映射到默認/ tomcat中

是否安全來定義我的servlet是這樣的:

<servlet-mapping> 
    <servlet-name>default</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

由於還有tomcat默認的servlet被映射到它。我正在使用tomcat 7.

servlets的優先級是什麼?如果我已經映射到/ resources/*和* .jsf,並且URL如下所示localhost:8080/resources/test.jsf - 會調用什麼?

回答

0

如果我正確理解你的問題,你會想覆蓋默認的servlet? 你可以到Tomcat的conf/server.xml中

默認<Host>元素中添加上下文元素例如:

<Context path="" docBase="app" /> 

其中,app是webapps目錄中的文件夾。 有關更多信息,請參閱文檔here

不建議將元素直接放在server.xml文件中。這是因爲它使得修改Context配置更具侵入性,因爲在不重新啓動Tomcat的情況下無法重新加載主conf/server.xml文件。

希望它有幫助。

+0

嗨!不,我不是故意的。我的意思是問這樣做是否安全 – Dejell

+0

啊,對。 您可能需要查看[servlet規範](http://www.scribd.com/doc/23278127/107/SRV-11-2-Specification-of-Mappings): _只包含/字符表示應用程序的「默認」servlet。在這種情況下,servlet路徑是請求URI減去上下文路徑並且路徑信息爲空._模式/將使您的servlet成爲應用程序的默認servlet,這意味着它將拾取每個沒有的模式另一個完全匹配。所以我會說這是安全的。記下規格中提到的隱式映射等。 – OlliS