用Java开发Web应用时无论是Jsp页面Servlet或是webxml配置文件中都涉及到路径的问题而这又是初学者较容易混淆的地方往往不知道如何写路径其实服务器端和客户端在处理路径的方式上不一致因此需要根据不同的情况写出正确的路径下面通过例子来说明
假设Web应用road中应用的根路径下有一个dir文件夹和dir文件夹cjsp在dir中ajsp和bjsp在dir中Web应用的结构如图所示
+ root
dir
cjsp
dir
ajsp
bjsp
JSP页面中正确的路径表示 假设在ajsp页面中有两个链接分别链接到bjsp和cjsp页面
直接写路径表示和页面在同一个文件夹下面如<a >bjsp</a>
/表示当前文件夹的上一级文件夹(相对路径)如 <a >bjsp</a>
<a >cjsp</a>
/表示//机器IP(绝对路径)如 <a >bjsp</a>
<a >cjsp</a>
Servlet中正确的路径表示
转发请求时/表示//服务器IP/Web应用名例如 String forward = /dir/cjsp;
RequestDispatcher rd = requestgetQRequestDispatcher(forward);
重定向时/ 表示//机器IP:而通过requestgetContextPath()得到的是//机器IP:/Web应用名例如 String str = requestgetContextPath();
responsesendRedirect(str + /dir/cjsp);
配置文件webxml中 urlmapping中/表示//IP地址/Web应用名
××总结××
在浏览器端/表示的是一台WEB服务器//机器IP
在服务器端(请求转发)/表示的是一个WEB服务器端的应用//机器IP/Web应用
在服务器端(重定向)/表示的是一个WEB服务器//机器IP