728x90
.do 확장자란?
- 초기 웹서비스의 경우 html, jsp, php등의 웹프로그래밍 언어의 물리적인 파일을 직접 호출하여 클라이언트 프로그램인 브라우저에 표시하기도 하였으나, 프레임워크가 적용이 되면서 요청과 응답을 분리하며 처리하고 있다.
- jsp 웹서비스를 위한 servlet 처리를 제어하기 위하여 spring framework에서 제공하는 기능중의 하나
- .do는 일반적인 html, jsp, php과 같은 형태의 물리적인 파일이 아님
- jsp에서 사용하는 가상의 주소라고 생각하면 됨 (우리나라에서만 유독 .do로 사용, .do가 아닌 다른 주소를 사용해도 됨)
- 가상의 주소를 사용하면 사용자는 파일의 실제 경로를 알 수 없으므로 보안에 도움이 됨
- 해당 *.do이라는 가상 주소에 대한 처리를 java 파일에서 Controller class가 담당함
- 해당 URL에 대하여 java 소스를 검색해 보면, 처리를 담당하는 부분을 확인 가능
- 페이지를 돌려줄때는 get방식이나 post방식으로 원하는 jsp 파일을 호출
- Java에서의 처리 흐름
- 페이지에서 test.do가 링크 되어있는 요소를 클릭하면
- 이동하는 페이지는 웹서버에서 test.do가 있는 java파일을 확인
- test.do를 사용하는 어노테이션을 가진 메소드로 이동해서 처리
- Spring에서는 아래와 같이 어노테이션을 이용해서 가상의 주소(.do 경로)와 연결된 Controller를 탐색
- @PostMapping(value = "/test.do")
프로젝트에서 Spring.do 설정 방법
.do 확장자의 역사 (Feat. 꼭 안써도 된다)
그저 전통적인 관행일 뿐입니다.
스프링이 재대로 정착되지 않았을 때, 스프링이 있어도 스트럿츠와 같이 써야 했던 시절이 있었는데, 다른 서블릿을 쓰는데 이와 충돌하지 않기 위해서 .do 로 끝나는 매핑을 가이드했죠. …. 하지만 요즘은 스프링이 워낙 강력해서 스프링 외 별도 서블렛 매핑을 할 필요가 없어졌으니 다른 별도의 서블릿이 굳이 필요가 없게 되고, JSP 자체에서도 3.0 에 어노테이션 매핑이 지원되면서 의미가 상당히 퇴색됐습니다. 한마디로 관행이고, 이게 한국에서는 "표준"인양 취급을 하고 있죠.
반응형