WEB-INF에 JSP 파일을 놓는 이유

문득 프로젝트를 보다가 왜 jsp 파일을 WEB-INF 밑에 두는 걸까? 하고 궁금해서 구글링을 해보았는데

 

마침 이와 관련되어서 okky에서 핫하게 논쟁을 벌였던 흔적의 게시글을 찾았다.

 

https://okky.kr/article/389463

 

OKKY | JSP 공부 중 WEB-INF 폴더안에 jsp 파일 관련해서 질문드립니다

WEB-INF 폴더안에 view 폴더를 만들어 jsp 파일을 저장하고  실행하면 오류가 나고 WEB-INF밖인 WebContent 폴더에 jsp 파일을 만들면 실행이 됩니다. 예제나 다른분들 보면 WEB-INF 폴더안에 view 폴더 생성

okky.kr

결국 내용을 간추려서 핵심만 정리하면

아래와 같다.

 

WEB-INF 폴더안은 일반 사용자가 브라우저에 패스를 넣어서 접근할수가 없기 때문이다.

jsp 직접 접근 가능시 코드 오픈의 위험이 있으니 직접 접근을 막는 것이다.

 

WEB-INF 밑에 view 관리 폴더가 있다고 모델2 방식의 장점을 죽이는 방식이라고 볼 수 없다.

 

컨트롤러에 코드 몇줄이면 로직 없이 뷰를 볼 수 있다.

 

물론 저런 꼰대 마인드를 옹호하는 건 아니지만 저렇게 열띤 토론을 해주어서 더욱 확실히 알게되어서 오히려 고마울지도..