2011-09-18 6 views
3

웹 응용 프로그램에서 작업하고 있습니다. 내 request.getContextPath()에서 호출하지만 이상하게도 주소는 /streetshop입니다.응용 프로그램의 컨텍스트 루트의 파일 시스템 경로를 얻는 방법

그런 다음 어떤 경로를 request.getContextPath() + "abc"으로 추가하고 폴더를 만듭니다.

내 webapplication 폴더 대신 D://에 폴더를 만듭니다.

제발, 내 이미지를 내 web-application root/images/images.gif에 넣어 업로드하고 싶습니다.

+0

폴더를 만드는 데 사용하는 코드를 붙여 넣을 수 있습니까? –

+0

다음 코드는 이미지 저장에 사용됩니다. String imagePath = request.getContextPath() + System.getProperty ("file.separator") + p_form.getCategorySelect() + System.getProperty ("file.separator") + p_form .getSubCatSelect() + System.getProperty ("file.separator") + order_id + System.getProperty ("file.separator"); 이후에이 문자열을 사용하여 파일을 만들고 저장합니다. – Pedantic

답변

12

여기에 내용이 섞여 있습니다. HttpServletRequest.getContextPath()는 웹 응용 프로그램 루트 경로를 반환합니다. 귀하의 예에서는 /streetshop이므로 URL은 www.myapp.com/streetshop과 비슷하게 보일 수 있습니다. 내부 파일 시스템 경로에 액세스하려면 request.getServletContext().getRealPath("/")을 사용하여 ServletContext에서 가져와야합니다. 이렇게하면 WAR 파일의 WebContent 폴더 위치가 반환됩니다.

런타임 중에이 경로의 내용을 수정하면 응용 프로그램을 다시 배포 할 때 모든 것을 잃어 버리게됩니다.

관련 문제