스프링을 사용하는 웹사이트들을 보면 *.do의 형식을 많이 사용하는 것을 볼 수 있죠. 이런 형식으로 로직을 처리하고 jsp파일을 불러오는 RequestMapping을 많이 사용하는데 그 설정 방법을 알아보도록 하겠습니다.
자, 우선 설정을 해야 할 파일은 크게 3개라고 볼 수 있습니다.
톰캣을 사용중이라면 [ Server.xml ]을 수정해 주시는 것이 사용하기 편리합니다.
두번째로는 [ web.xml ] 입니다. 여기서 실질적으로*.do를 셋팅한다고 보시면 됩니다.
마지막으로는 [ 컨트롤러.java ] 파일입니다.
[ Server.xml 수정 ]
1 | <Context docBase="test" path="패키지명" reloadable="true" source="org.eclipse.jst.jee.server:test"/></Host> | cs |
보통 수정하기 전이 위와 같은 형식일텐데 여기서 [ path = "패키지명" ]을 [ path = "" ]로 변경을 해줍니다.
이 작업은 예) localhost:8080/test 의 형식으로 index.jsp를 부르는 것을 localhost:8080 으로 부를 수 있게 변경을 해줍니다.
그 다음으로는 [ web.xml 수정 ]입니다.
1 2 3 4 | <servlet-mapping> <servlet-name>appServlet</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> | cs |
3번째 줄처럼 *.do로 수정을 해줍니다. 이러한 형식은 꼭 정해져 있는 것은 아니고 *.milkye 처럼 원하는 형식으로 커스텀을 해서 사용할 수 있는 일종의 패턴 입니다. 우리는 *.do를 사용을 할 것이기에 위와 같이 설정을 해 줍니다.
마지막, [ Java 파일 ]입니다.
우선 기본적으로 component-scan으로 패키지가 어노테이션을 잡을 수 있도록 되어있다는 가정하에 진행합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | @Controller public class HomeController { private static final Logger logger = LoggerFactory.getLogger(HomeController.class); /** * Simply selects the home view to render by returning its name. */ @RequestMapping(value = "/home.do") public String home1(Locale locale, Model model) { logger.info("Welcome home! The client locale is {}.", locale); Date date = new Date(); DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale); String formattedDate = dateFormat.format(date); model.addAttribute("serverTime", formattedDate ); return "home"; } } | cs |
우리가 봐야 할 코드는 9번째 줄 입니다. @RequestMapping을 통해 value 값을 .do로 설정을 해줍니다.
여기서는 [ home.do ] 라고 설정을 해놓도록 하겠습니다.
자 이렇게하고 실행을 해보도록하죠. 프로젝트를 처음 만들고 별 다른 설정을 건들지 않았다면 DispatcherServlet가 알아서 home.do 메소드까지 가서 로직을 실행시키고 뷰까지 띄워주게 됩니다.
이렇게 하시면 SpringFramework에서 .do를 사용해서 작업을 진행하실 수 있습니다. 어렵지 않으셨죠?
최근댓글