티스토리 뷰

공장 (factory)/- Programming..

[JSP/Spring] Restful url-pattern (*.do 제외하기)

공부하는 나부랭이, 무중력고기 2017.06.21 19:30

   웹프로젝트를 만들 때 보통 url-pattern을 "*.do"로 많이한다. "점 뒤에 특정 문자가 오면 서블릿을 타라"라는 뜻이기 때문에 반드시 *.do로 해야 하는 건 아니지만(*.aa *.bb 아무거나 상관없음), 네이버가 먼저 *.do를 사용하면서 *.do가 보편화 됐다고 한다. 그래서 보통 아무 생각없이 이 방법을 많이 사용한다. 하지만 url패턴을 좀더 간결하게 하고 싶고 추후 RestFul API를 제공하는 것도 염두에 두고 있다면 url패턴을 간결하게 가져갈 필요가 있다. 예를 들어 *.do로 하면 "http://www.cha.go.kr/cha/idx/Index.do"이렇게 요청해야 하지만, url패턴을 간결하게 하면 .do를 빼고 "http://www.cha.go.kr/cha/idx/Index" 이런 식으로 할 수 있다. 간결할 뿐 아니라 촌스럽지 않다.



   1. web.xml 설정


    action
    org.springframework.web.servlet.DispatcherServlet
    
        contextConfigLocation
        /WEB-INF/config/egovframework/springmvc/*-servlet.xml
    


    action
    /abc/*



    index.jsp

   서블릿 매핑의 url-pattern을 저렇게 설정하면 http://localhost/abc 이하로 오는 모든 요청을 DispatcherServlet이 처리한다.

   (컨트롤러에서 RequestMapping을 "/abc/boardList"로 하면 해당 메서드를 타고 들어간다.)

   또한 웰컴파일을 index.jsp로 설정해놨기 때문에 http://localhost로 요청하면 바로 첫페이지인 index.jsp를 불러온다.


   *** 만약 "/"나 "/*"로 설정하면 js파일이나 image파일들도 서블릿을 거치기 때문에 페이지를 제대로 불러올 수 없을 것이다. 그래서 "abc"와 같은 문자를 앞에 붙이는 것.




   2. DispatcherServlet xml 설정


    



    


   그리고 앞의 abc까지 fullpath를 불러오기 위해 디스패처서블릿에 위와 같은 설정을 해준다.



저작자 표시 비영리 변경 금지
신고
댓글
댓글쓰기 폼
Total
874,652
Today
56
Yesterday
773
«   2017/11   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
글 보관함