相对路径和绝对路径访问资源

---------------------------------相对路径和绝对路径访问资源-------------------------------------------

相对路径

 

在WebRoot下 新建 1.html

在WebRoot/aa 下新建 2.html

在1.html 和 2.html 分别通过 超链接 访问 HelloServlet

路径分为相对路径和绝对路径两种写法

  • 相对路径,根据当前资源路径 与 目标资源路径,寻找相对位置关系,通过 . (当前目录) 和 .. (上一级目录) 访问目标资源

1.html 访问 HelloServlet

当前路径 http://localhost/day5/1.html

目标路径 http://localhost/day5/hello

位于同一个目录中 ./hello 、hello  ===== 替换当前路径最后一个资源

2.html 访问 HelloServlet

当前路径 http://localhost/day5/aa/2.html

目标路径 http://localhost/day5/hello

上一级目录中 ../hello ===== 替换上一级目录资源

***** 相对路径,总需要分析当前路径与目标路径对应关系,编写规则会根据当前路径不同而不同

1.html

相对路径

HelloServlet

HelloServlet

2.html

相对路径

HelloServlet

 

代码示例:

1html

Insert title here

      

1.html相对路径

      

       1.html点击访问servlet

 

2html

Insert title here

      

2.html相对路径

      

       点击访问servlet

      

       点击访问servlet

 

HelloServlet

package com.rl.servlet;

 

import java.io.IOException;

import java.io.PrintWriter;

 

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

public class HelloServlet extends HttpServlet {

 

 

       public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

              System.out.println("doGet被访问了");

       }

 

 

       public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

              doGet(request, response);

       }

 

}

 

Web.html

 

    HelloServlet

    com.rl.servlet.HelloServlet

 

 

 

    HelloServlet

   

    /hello

 

 

 

绝对路径

1.html

绝对路径

HelloServlet

HelloServlet

2.html

绝对路径

HelloServlet

HelloServlet

 

带有协议完整路径 (跨网站) http://localhost/day5/hello

以/ 开始路径 (同一个站点内) : /day5/hello

服务器端和客户端对于/ 的区别

客户端访问路径:/day5/hello

服务器内部路径:/hello, 多用于服务器跳转, 页面包含(jsp)

 

相对路径和绝对路径访问资源_第1张图片

代码1.html

Insert title here

      

1.html相对路径

      

       1.html点击访问servlet

      

      


      

      

1.html绝对路径

       1.html绝对路径访问servlet

 

代码2.html

Insert title here

      

2.html相对路径

      

       点击访问servlet

      

       点击访问servlet

      

      


      

      

2.html绝对路径

       2.html绝对路径访问servlet第一种方式

      

      

       2.html绝对路径访问servlet第二种方式

 

Servlet代码

package com.rl.servlet;

 

import java.io.IOException;

import java.io.PrintWriter;

 

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

public class HelloServlet extends HttpServlet {

 

 

       public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

              System.out.println("doGet被访问了");

              //从servlet中访问1.html

              //全部路径 http://localhost:8080/request_demo/dir1/1.html

              //在servlet中使用/代表http://localhost:8080/request_demo路径

              //所以/dir1/1.html等同于http://localhost:8080/request_demo/dir1/1.html

              request.getRequestDispatcher("/dir1/1.html").forward(request, response);

       }

 

 

       public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

              doGet(request, response);

       }

 

}

 

你可能感兴趣的:(Servlet)