码迷,mamicode.com
首页 > 其他好文 > 详细

绝对路径与相对路径问题

时间:2017-06-29 23:57:54      阅读:372      评论:0      收藏:0      [点我收藏+]

标签:移动   cti   ext.get   获取   for   uri   ssi   size   地址   

首先辨析“/”与“\”

window中的路径一般用“\”;

java中的路径一般用“/”;如果用“\”需要对其转义成“\\”

1、绝对路径

  以根目录作为参考点的的文件或文件夹所在的路径,是硬盘上的真实路径。具有唯一性的特点。

  例如:C:\caosiege\python\project\C.py,代表的是C.txt的绝对路径

2、相对路径

  相对于某个基准目录的路径。不具有唯一性。

  例如:在servlet中,“/”代表web应用的根目录,与物理路径相对应。

     在C:\caosiege中以上的绝对路径可以写成.\python\project\C.py这种相对路径的形式。其中“.\”表示当前路径。

     “..\”代表上一级目录。

3、引伸:

  1)服务器端的地址

    服务器端的相对地址是指相对于你的web应用的地址,这个地址是在服务器端解析的。也就是说这个时候jsp与servlet的相对地址是相对于你的web应用。也就是相对于“http/192.168.0.1/webapp”。

  2)客户端的地址

    所有的html页面中的地址都是相对于服务器的根目录“http/192.168.0.1”,而不是web应用的目录。

    html中form表单的action属性是相对于服务器根目录的,所以如果提交到xxx.jsp,action=“/webapp/user/xxx.jsp”或action = “<%=request.getContextPath()%>”+

“/user/xxx.jsp”。

      一般情况下,在JSP/HTML页面等引用的CSS,Javascript.Action等属性前面最好都加上<%=request.getContextPath()%>,以确保所有的引用文件都属于web应用中的目录。

另外,应该尽量避免使用“/”,”./“,“../”等类似的相对该文件位置的相对路径,这样当文件移动时,很容易出问题。

4、获取路径的一些方法

    根目录所对应的绝对路径: request.getRequestURI() 
    文件的绝对路径  : application.getRealPath(request.getRequestURI()); 
    当前web应用的绝对路径 : application.getRealPath(“/”); 
    取得请求文件的上层目录 : new File(application.getRealPath(request.getRequestURI())).getParent()

    文件的绝对路径 : request.getSession().getServletContext().getRealPath(request.getRequestURL())
    当前web应用的绝对路径 :servletConfig.getServletContext().getRealPath(“/”); 
    (ServletContext对象获得几种方式: 
    javax.servlet.http.HttpSession.getServletContext() 
    javax.servlet.jsp.PageContext.getServletContext() 
    javax.servlet.ServletConfig.getServletContext()

 

绝对路径与相对路径问题

标签:移动   cti   ext.get   获取   for   uri   ssi   size   地址   

原文地址:http://www.cnblogs.com/cxr920831/p/7096572.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!