티스토리 뷰
웹프로젝트를 만들 때 보통 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를 불러오기 위해 디스패처서블릿에 위와 같은 설정을 해준다.
'공장 (factory) > - Programming..' 카테고리의 다른 글
[Javascript/jQuery] 오늘 날짜/기간 반환 (2) | 2018.07.20 |
---|---|
[Javascript/jQuery] 백스페이스 키 눌림 방지 (input, readOnly 제외) (0) | 2017.11.07 |
[mybatis] foreach: List<String>, HashMap<String, List<String>> (0) | 2017.06.20 |
[Java] 쿠키(Cookie) 생성/조회/삭제 (0) | 2017.05.27 |
[Spring] 공통 메시지 처리 (ReloadableResourceBundleMessageSource) (1) | 2017.05.24 |