[Spring] ServletContext.getRealPath()

null·2023년 3월 17일
0

[nmBoard] 게시판

목록 보기
5/9

Interface ServletContext

  • 파일의 MIME유혀을 가져오거나 요청을 발송하거나 로그 파일에 쓰기 위해 서블릿이 서블릿 컨테이너와 통신하는데 사용하는 메서드를 정의

  • JVM당 웹 어플리케이션당 하나의 컨텍스트가 존재

ServletContext.getRealPath(String path)

  • 웹 어플리케이션의 컨텍스트 루트를 기준으로 지정된 경로의 실제 파일 시스템 경로를 반환

  • 즉, 웹 어플리케이션에서 사용되는 리소스(ex. 이미지,HTML,CSS 등)의 실제 파일 시스템 경로를 얻을 수 있다

  • 웹 어플리케이션의 배포 디렉토리가 변경되더라도 어플리케이션 코드를 수정할 필요 없이 정확한 경로를 얻을 수 있도록 하는데 사용

@WebServlet("/image")
public class ImageServlet extends HttpServlet {
  
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  
    String fileName = "example.png";
    
    String imagePath = request.getServletContext().getRealPath("/WEB-INF/images/" + fileName); // /WEB-INF/images/example.jpg 경로를 반환
    
    File imageFile = new File(imagePath);
    
  }
  
}
  • getRealPath("/WEB-INF/images/" + fileName)
    : '/WEB-INF/images/' 이란 폴더에 'fileName'이라는 이름의 파일이 위치한 경로
    : '/WEB-INF/images'의 경로를 얻어오고, 이를 기준으로 파일 경로를 지정

0개의 댓글