[Spring / BootStrap] Spring Legacy MVC Project로 게시판 및 채팅 기능 구현 - 2 (Controller와 RequestMapping)
리트리버J
·2021. 1. 10. 00:21
부트스트랩 템플릿을 통하여 Home.jsp를 대략적으로 세팅해보았다.
게시판 기능을 구현할 건데,
먼저, 상단 navbar의 게시판 버튼을 눌렀을 때 게시판 페이지로 이동 할 수 있게끔 설정하겠다.
<a>태그의 href속성으로, /tutorial/board의 url을 설정했다.
그 다음, 게시판 전용 controller 패키지와 클래스를 생성해준 후에,
@Controller를 클래스 상단에 붙여 준 후,
return 타입이 String인 메소드를 만들어준다.
@RequestMapping을 메소드 상단에 붙여 value를 /tutorial을 제외한 /board로 설정해주었다.
또한, return값으로 WEB-INF/views하단부터의 경로로, board/board_home으로 세팅해 준다.
여기서 한가지 의문이 든다.
<a>태그는 /tutorial/board로 했지만,
왜 메소드는 /board로 하는 것인가?
<a>태그를 /board로 하게 되면 localhost:8086 바로 뒤에 tutorial(Contrext path)이 사라지게 되어
404에러를 발생시킨다.
만약, web.xml의 servlet-mapping의 url-pattern을 *.do로 설정했다면,
Controller와 href의 url이 같아도 문제가 없다!
하지만 우리는 url-pattern을 /로 설정했기 때문에,
Context-path인 /tutorial을 꼭 붙여줘야 한다!
(이유는 더 공부하고 알게 되면 작성해보겠습니다.)
Tomcat Servers폴더의 server.xml을 확인해보자.
제일 하단에, <Context>안의 path에 /tutorial이 있는 것을 확인 할 수 있다.
자 이제, 상단의 게시판 버튼을 누르게 되면
부트스트랩으로 만들어놓은 jsp파일로 이동하게 되는 것을 확인 할 수 있다.