用
Java 开发 Web 应用时,无论是 Jsp 页面、Servlet 或是 web.xml 配置文件中都涉及到
路径的问题,而这又是初学者较容易混淆的地方,往往不知道如何写路径。其实服务器端
和客户端在处理路径的方式上不一致,因此需要根据不同的情况写出正确的路径。下面通
过例子来说明。
假设
Web 应用 road 中,应用的根路径下有一个 dir1 文件夹和 dir2 文件夹。c.jsp 在
dir1 中,a.jsp 和 b.jsp 在 dir2 中。Web 应用的结构如图所示。
+ root
-dir1
c.jsp
-dir2
a.jsp
b.jsp
JSP 页面中正确的路径表示假设在 a.jsp 页面中有两个链接,分别链接到 b.jsp 和
c.jsp 页面。
直接写路径表示和页面在同一个文件夹下面,如
<a href="b.jsp">b.jsp</a>
"../" 表 示 当 前 文 件 夹 的 上 一 级 文 件 夹 ( 相 对 路 径 ) , 如 : <a
href="../dir2/b.jsp">b.jsp</a>,
<a href="../dir1/c.jsp">c.jsp</a>
"/"
表 示
http:// 机 器 IP : 8080 ( 绝 对 路 径 ) , 如 : <a
href="/road/dir2/b.jsp">b.jsp</a>
<ahref="/road/dir1/c.jsp">c.jsp</a>
Servlet 中正确的路径表示
转发请求时:
"/"
“
表示
http://服务器 IP:8080/Web
”
应用名 ,例如:
String
forward = "/dir1/c.jsp";
RequestDispatcherrd = request.getQRequestDispatcher(forward);
“
重定向时:
/”
“
表示
http://机器 IP:8080”,而通过 request.getContextPath()得到
“
的 是 :
http:// 机 器 IP:8080/Web
”
应 用 名
, 例 如 :
String str =