[Spring / BootStrap] Spring Legacy MVC Project로 게시판 및 채팅 기능 구현 - 2 (Controller와 RequestMapping)

리트리버J

·

2021. 1. 10. 00:21

728x90

부트스트랩 템플릿을 통하여 Home.jsp를 대략적으로 세팅해보았다.

 

게시판 기능을 구현할 건데,

 

먼저, 상단 navbar의 게시판 버튼을 눌렀을 때 게시판 페이지로 이동 할 수 있게끔 설정하겠다.

 

<a>태그의 href속성으로, /tutorial/board의 url을 설정했다.

그 다음, 게시판 전용 controller 패키지와 클래스를 생성해준 후에,

@Controller를 클래스 상단에 붙여 준 후,

 

return 타입이 String인 메소드를 만들어준다.

@RequestMapping을 메소드 상단에 붙여 value를 /tutorial을 제외한 /board로 설정해주었다.

또한, return값으로 WEB-INF/views하단부터의 경로로, board/board_home으로 세팅해 준다.

BoardController

 

WEB-INF/views 하위 폴더

여기서 한가지 의문이 든다.

<a>태그는 /tutorial/board로 했지만,

왜 메소드는 /board로 하는 것인가?

 

<a>태그를 /board로 하게 되면 localhost:8086 바로 뒤에 tutorial(Contrext path)이 사라지게 되어

404에러를 발생시킨다.

<a>태그의 href를 /board로 한 결과

만약, web.xml의 servlet-mapping의 url-pattern을 *.do로 설정했다면, 

Controller와 href의 url이 같아도 문제가 없다!

 

하지만 우리는 url-pattern을 /로 설정했기 때문에, 

Context-path인 /tutorial을 꼭 붙여줘야 한다!

(이유는 더 공부하고 알게 되면 작성해보겠습니다.)

 

Tomcat Servers폴더의 server.xml을 확인해보자.

 

제일 하단에, <Context>안의 path에 /tutorial이 있는 것을 확인 할 수 있다.

 

자 이제, 상단의 게시판 버튼을 누르게 되면

부트스트랩으로 만들어놓은 jsp파일로 이동하게 되는 것을 확인 할 수 있다.

728x90