티스토리 뷰
spring egovframework mvc 패턴 controller 원리 기초 이해
심화적인 내용은 구글링을 통해 수 많은 자료를 찾을 수 있고, 활용하여 mvc 패턴에 대해 정리할 수 있을 것입니다.
저는 아주 간단한 예제를 통해 원리 이해를 정리해보고자 합니다.
우선 스프링(egovframework 전자정부) 프로젝트를 하나 생성하고 이 포스팅을 참고해 보세요.
mvc 패턴에서 m에 해당하는 model은 database 에서 가져오는 data 를 뜻하나,
이 예제에서는 원리 이해만에 목적이라 jsp 를 활용해 보았습니다.
하지만 이후 게시판까지 만드는 것이 목적이므로 controller 명을 BoardController 로 정하겠습니다.
자, 세 개의 파일을 생성합니다.
m (model)에 해당하는 firstSection.jsp
v (view)에 해당하는 main.jsp
c (controller)에 해당하는 BoardController.java
파일의 각 위치는
java 파일들은 src/main/java ... 내에 위치시키고
jsp 파일들은 src/main/webapp/web-inf/jsp에 위치시킵니다.
BoardController.java 부터 만들어 봅니다.
저는 아래와 같이 board 라는 package와 하위 package 까지 만들어 주었습니다.
이후 게시판까지 작업할 계획이라 미리 만들었습니다.
이제 jsp 파일 두 개를 만듭니다.
경로는 위에 기술한 경로입니다.
main.jsp 부터 작성합시다.
<body> 내에
타이틀이자 홈화면으로 가는 링크라 보시면 됩니다.
아래와 같이 나올 겁니다. 그리고 부트스트랩을 적용해 놓은 상태라 완전히 동일하지 않아도 됩니다.
이렇게 표현될텐데요. 현재 mainPage.do라는 것을 컨트롤러에 작성하지 않은 상태이고 이제 작성해보겠습니다.
컨트롤러 파일에 이렇게 매핑을 해줍니다.
무슨 뜻이냐 .. !?
.do <-가 브라우저상에서 주소로 사용되는 거라 생각하셔도 됩니다.
그 주소를 입력하면 return 뒤의 값(주소)를 주겠다. 입니다.
즉 /board/mainPage.do라고 호스트상에서 입력하면
board/main 이라는 jsp 파일을 실행하겠다는 겁니다.
경로값입니다.
여기까지 작성하면 위와 같이 jsp 화면을 볼 수 있습니다.
물론 톰캣을 활용해서 실행해야 합니다. 그건 다른 포스팅을 참고하세요.
자 이제 main.jsp 상에 이 예제에서 model (알맹이)에 해당하는 firstSection.jsp 을 넣어 보겠습니다.
그러기 위해 firstSection.jsp 파일을 만듭니다.
코드는 아무렇게나 해도 됩니다. 저는 아래와 같이 합니다.
그러고 나서 다시 main.jsp파일로 가서 .. DO RONG 2 부분을 지우고 import 해줍니다.
c:import 는 jstl 입니다.
역시나 다른 포스팅을 참고하여 이해하시면 됩니다.
마찬가지로 아직 컨트롤러에 만들지 않은 .do라는 주소가 보입니다.
위와 마찬가지로 컨트롤러에 만들어 줍니다.
그리고 div , container 등은 html/css 의 선수학습이 되어 있으시면 아실테고 그게 아니시라면 간단하게 구글링해보세요. 물론 없어도 상관없습니다.
위와 같이 만들어 주면 ...
이렇게 들어갑니다~~~
그러니 main.jsp 안에 firstSection.jsp 파일이 출력됩니다.
즉 컨트롤러를 활용해서 main.jsp 라는 view 파일에 알맹이.. model 에 해당하는 firstSection.jsp 가 들어간 것이죠.
db를 연결하여 게시글 불러오기 라던가 그렇게 사용한다고 생각하시면 됩니다.
끝~
'spring' 카테고리의 다른 글
maven REST API (0) | 2023.12.26 |
---|---|
500 에러 (0) | 2023.12.21 |
ORA-01733: 가상 열은 사용할 수 없습니다 (1) | 2023.12.04 |
스프링 spring 전자정부 egovframe [게시판 프로젝트] - 02 (0) | 2022.07.19 |
전자정부 egovframe 스프링 spring [게시판 프로젝트] - 01 (0) | 2022.07.19 |
- Total
- Today
- Yesterday
- 게시판프로젝트
- 자바스크립트
- 입력불가
- 자바스크립트캘린더
- countcasethen
- 서버구동오류
- sql문제
- 전자정부프레임워크
- JavaScript
- count문
- 톰켓에러
- 자바캘린더
- mysql완전삭제
- jQuery
- googlecalendar
- MVC게시판
- 스프링게시판만들기
- 전자정부게시판
- 게시판만들기
- 구글캘린더api
- 텍스트창입력안됨
- jsp캘린더
- 스프링
- 입력안됨
- 프로그래머스연습
- 자바스크립트캘린더api
- 이클립스프로젝트복사
- 프로그래머스예제
- 프로젝트복수에러
- 스프링게시판
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |