국비학원 공부노트/JSP
[Java JSP] The method getRealPath(String) from the type ServletRequest is deprecated
hyeseo
2022. 2. 19. 23:35
[ 개발환경 ]
MacBook Air M1 2020년형
eclipse [2021-3 var]
Java [zulu-8]
JSP
Tomcat [Apache Tomcat/9.0.58]
MacBook Air M1 // Java JSP로 파일 업로드 구현 중 해결한 걸 정리하는 목적으로 작성하는 글입니다..
주의 메세지: The method getRealPath(String) from the type ServletRequest is deprecated
▼ 수정 전 코드
String path = request.getRealPath("/폴더명");
ServletContext에서 중복되어 더이상 사용되지 않기 때문입니다.
▼ 수정 후 코드 (2가지)
String path = request.getServletContext().getRealPath("/폴더명");
절대경로 : 최상위 디렉토리가 포함된 webapp 폴더까지의 경로입니다.
File IO를 사용하여 파일의 위치를 절대경로로 가져오는데
운영체제 별로 절대경로를 작성해야하고, 경로가 변경될 때마다 수정해야한다는 단점이 있습니다.
Mac 에서는 ("/폴더명"), Windows 에서는 ("\폴더명") 로 슬래시 방향을 다르게 해야합니다.
String path = request.getSession().getServletContext().getRealPath("폴더명");
String path = application.getRealPath("폴더명");
상대경로 : 현재 디렉토리(비교대상)기준으로 작성된 경로입니다.
절대경로의 단점을 해결하기 위해 'application'의 기본 객체를 이용해서 상대경로로 지정합니다.
("폴더명")으로 운영체제에 유연하게 경로를 설정할 수 있습니다.