首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

Web 运用路径初解

2012-11-05 
Web 应用路径初解用Java开发Web应用时,无论是Jsp页面、Servlet或是web.xml配置文件中都涉及到路径的问题,而

Web 应用路径初解

用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 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>
    ???? <a href="/road/dir1/c.jsp">c.jsp</a>
    假设在a.jsp页面中有两个链接,分别链接到b.jsp和c.jsp页面。

    Servlet中正确的路径表示转发请求时:"/"表示“http://服务器IP:8080/Web应用名”,例如:??? String forward = "/dir1/c.jsp";
    ??? RequestDispatcher rd = request.getQRequestDispatcher(forward); 重定向时:“/”? 表示“http://机器IP:8080”,而通过request.getContextPath()得到的是:“http://机器IP:8080/Web应用名”,例如:???? String str =? request.getContextPath();
    ???? response.sendRedirect(str + "/dir1/c.jsp");
    配置文件web.xml中?? url-mapping中,"/"表示“http://IP地址:8080/Web应用名”



××总结××

在浏览器端:“/”表示的是一台WEB服务器,“http://机器IP:8080”在服务器端(请求转发):“/”表示的是一个WEB服务器端的应用,“http://机器IP:8080/Web应用”在服务器端(重定向):“/”表示的是一个WEB服务器,“http://机器IP:8080”

热点排行