2012-05-22 28 views
0

处理RequestDispatcher和资源路径时,路径是否主要建立在<url-pattern>元素上?即使资源在不同的包RequestDispatcher和路径

例如: 我对servlet的下定义:

<url-pattern>/handlers/FrontHandler</url-pattern> 

<url-pattern>/handlers/sub/SecondHandler</url-pattern>另一个资源使这个资源是相对于前一个即使在两班不同的包?

我的理解正确吗?我也必须使用../才能像普通paht导航一样升级吗?

由于

回答

1

The javadoc说:

指定可以是相对的,尽管它不能在当前servlet上下文外侧延伸 的路径名。如果路径以“/”开始,则它被解释为相对于当前上下文根。

所以该路径与类名无关,而且与什么资源(静态,就像一个html文件,或动态的,像一个映射到给定的url模式的servlet)一样位于给定的路径。

我会避免使用相对路径:很难知道它们解析哪条绝对路径,而且它们很脆弱,因为如果将servlet映射到另一个URL,它们将会中断。