【发布时间】:2014-07-18 12:15:49
【问题描述】:
JSP 中的绝对路径和servlet有什么区别。
我的示例项目结构:
Dynamic Project name:PathTest
1.html path:PathTest\WebContent\html\1.html
Context root of Project =PathTest
我通过几次尝试发现了以下内容
Test.jsp 内部(在 Web 内容下): 链接到 1.html , 1.jsp
web.xml 内部(WEB-INF 下):
提供准确的绝对路径,因为我从 1.html 调用 Serv servelt/html/Serv.do "> (这里不包括/PathTest)Serv.java 内部:
对 1.html 使用 sendRedirect 方法:
res.sendRedirect("/PathTest/html/1.html");Serv.java 内部:
1.html使用getRequestDispatcher方法:
RequestDispatcher dispatch=req.getRequestDispatcher("/html/1.html"); (此处不包括/PathTest)
我的问题是:为什么在上述情况下需要不同的绝对路径以及容器如何在这种情况下找到资源?
我找到了一种避免这种混淆的方法,方法是让 context root ='/' 这样我就不必在任何情况下都包含“/PathTest”。但是将上下文根作为“/”是一种好习惯吗?
【问题讨论】: