2015-01-26 3 views
0

이 질문 aswers 계속 : What is WEB-INF used for in a Java web application?JSP 및 기타 정적 데이터 파일 위치는

이 문제에 대한

추가 질문 : 내 자원이 개인 만들기 옆에, 나는 내 JSP 파일을 두어야 특별한 이유가 WEB-INF? JSP 파일을 WEB-INF 외부에 두는 것이 어떤 이점이 있습니까? 내 질문에 관련된 경우 나는 봄 프레임 워크를 사용하고 있습니다.

+2

사용자가 적절한 컨트롤러 URL을 거치지 않고 JSP를 실행하는 것을 방지 할뿐만 아니라 컨트롤러를 거치지 않고 뷰에 직접 링크하여 MVC 아키텍처를 우회하여 MVC 아키텍처를 우회 할 수 있습니다. WEB-INF 외부에 저장할 이유가 없습니다. –

답변

0

짧은 대답 : 아니요 - Spring-MVC와 같은 MVC 프레임 워크를 사용할 때 JSP를 WEB-INF 폴더 외부에 배치하는 이점이 없습니다. 단점이 있습니다 : 누군가가 JSP를 직접 호출 할 수 있고 Spring MVC 스택 위에 구현 된 기능적으로 모두 무시할 수있는 것처럼 말입니다.

0

WEB-INF 폴더 내의 파일에 URL을 통해 직접 액세스 할 수 없습니다. JSP 파일을 WEB-INF 폴더에 넣는 것은 JSP 파일을 공개적으로 액세스하지 못하게하는 것이 좋습니다.

이러한 경우의 예는 JSP를보기로 사용하는 MVC 프레임 워크를 사용하는 경우입니다. 주 진입 점은 모델을 빌드하고 JSP를 사용하여 페이지를 생성하는 컨트롤러에 매핑 된 URL입니다. 이 경우 JSP를 직접 노출하는 것은 의미가 없습니다.

+0

그래서 내가 옳은 것을 이해한다면, WEB-INF 밖에 모든 jsp와 htm을 넣는 것은 의미가 없습니까? 함수 "getResourceAsStream"은 어떻습니까? WEB-INF하에 있지 않으면 내 리소스에 액세스 할 수 없습니까? – user1125331

+0

MVC 프레임 워크를 사용하는 경우 일반적으로 그렇지 않습니다. 그러나 간단한 JSP 리디렉션 페이지와 같이 MVC가 과도한 면제가있을 수 있습니다. getResourceAsStream 함수는 상대 경로 나 직접 경로를 사용하여 파일에 직접 액세스하는 데 사용할 수 있으며 "WEB-INF"로 제한되지 않습니다. 버그로 인해 모든 파일이 노출 될 수 있으므로주의해서 사용해야합니다. – Nils

관련 문제