web路径

相对路径
1.
<!-- 2.以"/"开头的相对地址 --> <!-- /代表了整个web项目,即:http://localhost:8080/ --> <a href="/javaee/jsp/b.jsp">这是以"/"开头的相对地址超链接</a><br/>

2.
<!--   
    不以/开头,则相对于当前资源的路径  
    当前资源的路径为:http://localhost:8080/javaee/jsp/  
    而b.jsp也在此路径下  
    所以直接书写b.jsp  
    -->  
<a href="b.jsp">这是不以"/"开头的相对地址超链接</a><br/>  

3.
 <!-- 3.不以/开头的相对地址    -->  
        <!--   
            不以/开头的相对路径是相对于当前资源的路径  
            此时form.jsp的地址为:http://localhost:8080/javaee/jsp/form.jsp  
            所以当前资源路径为:http://localhost:8080/javaee/jsp  
            而要提交的Servlet的路径为Http://localhost:8080/javaee/PathServlet  
            所以路径为当前路径的上一级路径下  
            即路径为:../PathServlet  
            注:.代表当前路径  
               ..代表当前路径的上一级路径  
        -->  
    <form action="../PathServlet" methoe="get">  
        username:<input type="text" name="username" value="">  
        <input type="submit" value="表单提交到Servlet---不以/开头的相对地址">  
    </form>  


4.

    ServletContext获取资源

  这里ServletContext获取资源的路径是相对系统的绝对路径(在Windows中是带盘符的,可以用来获取上传或下载文件的具体路径)。

  基本语法:servletContext.getRealPath("路径");参数中的路径必须是相对路径,可以“/”开头,也可以不使用“/”开头,但无论是否使用“/”开头都是相对当前应用路径,建议以"/"开头(这样可以尽量统一)。

  另外获取ServletContext的方法如下:
    1)使用request获取: request.getSession().getServletContext();
    2)在Servlet中获取:this.getServletContext();
    3)使用FilterConfig对象获取(在Filter中使用):config.getServletContext();

   ServletContext获取资源必须是相对路径,不能是绝对路径,但不管是以/开头,还是不以/开头, 都是相对于当前资源的相对路径 。  

 

原文地址:https://www.cnblogs.com/jentary/p/11572670.html