java—为什么head first book在将请求从servlet转发到jsp时使用“/”?

0kjbasz6  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(660)

这个问题在这里已经有了答案

getrequestdispatcher(“path”)在哪里(1个答案)
16天前关门了。
在阅读head-firstjsp和servlet时,我了解到正斜杠(/)用于表示容器的根。注意,在本书的这个例子中,没有 myApp 使用(/)时。
但是当它们转发请求时(不使用response.sendredirect),它们会指定(/)。注意他们写的部分 /result.jsp 在此图片中:

我现在有点困惑。我有个项目叫 myApp . 它里面有index.html、servlet.class和result.jsp。
我在浏览器里看到的是http://localhost:8080/myapp/result.jsp。但在阅读我在顶部提供的链接时,它应该是http://localhost:8080/result.jsp。因为正如我所说(链接也是如此),正斜杠(/)代表容器的根。根是http://localhost:8080而不是http://localhost:8080/我的应用程序。
最奇怪的是它是双向工作的——如果我键入result.jsp和/result.jsp。有人能帮我弄清楚这件事吗,因为它要杀了我:)
我最困惑的是 /result.jsp 即使是工作,当我们需要http://localhost:8080/result.jsp和我的 result.jsp 在myapp中,而不是容器中。

vawmfj5a

vawmfj5a1#

根据文件
如果路径以“/”开头,则解释为相对于当前上下文根。
因此路径是相对于您的上下文根,而不是整个应用程序服务器的。

相关问题