servlet里的getreallypath方法获取不到真实路径,打印不出来

img


获取不到路径,就是按格式来的代码也没有错,也没404就是获取不到

采用如下方式获取一下


package priv.lwx.javaex.servlet_demo.web.servletcontext;
/**
 * 获取文件在服务器主机的真实路径
 *
 * @author liaowenxiong
 * @date 2022/1/12 15:34
 */

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.net.URL;

@WebServlet("/servlet_context_demo02")
public class ServletContextDemo02 extends HttpServlet {
  @Override
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    this.doPost(request, response);
  }

  @Override
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    ServletContext context = this.getServletContext();
    // 通过ServletContext对象获取文件的真实路径
    String realPath = context.getRealPath("/WEB-INF/classes/druid.properties");
    System.out.println(realPath); // /Users/liaowenxiong/Documents/IdeaProjects/java-exercises/out/artifacts/servlet_demo_war_exploded/WEB-INF/classes/druid.properties
    // 通过类加载器获取文件的真实路径
    URL url = ServletContextDemo02.class.getClassLoader().getResource("druid.properties");
    System.out.println(url);
    String path = url.getPath();
    System.out.println(path);
  }
}