background image

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   =