java - RequestDispatcher 和路径

标签 java http url servlets

处理RequestDispatcher时和资源路径,是主要基于 <url-pattern> 构建的路径元素?即使资源位于不同的包中

例如: 我在 servlet 下定义了:

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

以及 <url-pattern>/handlers/sub/SecondHandler</url-pattern> 中的另一个资源那么这个资源是相对于前一个资源的,即使这两个类位于不同的包中?

我的理解正确吗?我还必须使用 ../像常规路径导航一样升级一级?

谢谢

最佳答案

The javadoc说:

The pathname specified may be relative, although it cannot extend outside the current servlet context. If the path begins with a "/" it is interpreted as relative to the current context root.

所以路径与类名无关,而与给定路径中的资源(静态,如 html 文件,或动态,如映射到给定 url 模式的 servlet)有关。

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

关于java - RequestDispatcher 和路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10710151/

相关文章:

java - Spring在非常简单的程序中忽略@Qualifier

java - 使用 Struts2 taglib 通过 URL 将参数传递给操作

java - 从 spring boot solr 数据发送到 solr 的 url 中的重复核心

java - 如何使用图片的 url 来显示图片?

Java 数组/列表索引大小

java - 语言资源

java - 将传统的for循环重写为streams.map java 8

Git 推送错误 : RPC failed; result=22, HTTP 代码 = 502

c# - 如何在IIS上产生负载?

.htaccess - 需要选择性 HTTPS 到 HTTP 重定向 .htaccess 代码