Notice
Recent Posts
Recent Comments
Link
«   2025/11   »
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
Tags
more
Archives
Today
Total
관리 메뉴

좁고 얕은 블로그

Spring - Front Controller 본문

Spring

Spring - Front Controller

다람지렁이 2022. 6. 21. 12:20

 

Front Controller

서블릿을 하나만 만들고, 실제 일은 POJO에게 시키는 형태

 

안내데스크(프론트) 처럼 front controller에게 요청을 구분하고 view를 선택하게 맡김

==> 실제로 일하는 친구 : 알바생(POJO)

알바생 : 일반Class(POJO)를 만들어서 기능 하나 부여함으로써 Controller처럼 쓰게 해준다.

(클래스는 텅 비어있기 때문에 굉장히 메모리가 작기 때문)

POJO : Plain Old Java Object (그냥 자바 객체..)

 

스프링프레임워크는 이러한 front controller를 기초로 한다.

 

Spring에서는 FrontController를 기본으로 제공한다!! 굿굿

web.xml 들어가보자

 

appServlet이라는 이름으로 class를 만들어서

DispatcherServlet을 만들 것임

앞에 "/"가 붙어있으면 다 여기로 들어온다는 뜻

얘가 실행되는 순간 서블릿 자동으로 만들어짐(매니저 만들 필요 없음)

==> POJO만 만들어주면 된다.

생성해본다.

손쉽게 컨트롤러(알바생) 생성했다..

그러나 컨트롤러와 모델 등을 각자 구분할수가 없음

==> POJO에게 구분할 수 있게 라벨 붙여줄것

@Controller 임포트 해주면

==> 어노테이션!!(스프링의 핵심)

 

 

 

 

==> urlMapping

- boardList라는 요청이 오면 BoardController안에 있는 서비스메소드를 실행하겠다.

 

 

또, 오버라이드 할 때도 어노테이션 사용했음(주석같이 사용)

그러나 여기서는 디스패쳐서블릿임을 알려주기 위해 반드시 붙여줘야한다.

(빠지면 실행되지 않음)

 

 

이제 알바생에게 업무를 줄 차례(메서드 이용)

접근지정자(public) 반환타입(void) 메서드이름((매개변수)) {}

public void BoardList()

==> 업무 알려줌

 

 

==> 업무 언제 할 지 알려줌(이 메서드를 언제 사용하면 되는지)

==> 어노테이션으로 알려준다.!!!

request(요청과)mapping(연결시키겠다)

무조건 슬래쉬(/)로 시작해야한다.

 

 

주소 context 뒤에 /boardList.do를 입력하면 boardList메서드 찾아서 알아서 실행하라는 뜻

 

이제 boardList로 이동해보려면?

==> forward이동 시켜주자

- rd 만들어야함

- 매개변수로 경로 지정

url경로 잡을때 context인 webapp 기준으로 하면 좋다.

기존의 forward이용방식!

 

 

그러나 페이지 이동도 스프링은 하나로 고정시켜놨다.

==> return으로 view의 논리적인 이름 return!!

 

return에는 전체경로를 다 적지 않고 파일명만 작성해준다. 

 


 

 

ViewResolver 확인해보자.

xml파일 이용해서

이 객체 만들어낸것

 

이 객체가 존재하는 이유가 바로 return때문

prefix=WEB-INF/views/

suffix=.jsp

 

 

 

 

 

이 어노테이션(boardList)과 메서드(boardList)가 매핑되어있는것

boardList가 frontController에게 리턴을 통해 boardList를 리턴해주고있음

==> ViewResolver(간단한일밖에 안하는 녀석)

프론트가 viewResolver에게 요청하면, viewResolver가 완벽한 jsp의 경로를 돌려준다.

 

 

 

스프링 실행할 때는 서버만 실행한 후, 경로로 찾아가는것

Run on Server 실행하면 지금은 404 뜨는게 정상임

매핑된게 없다는 뜻

얘가

얘랑 매핑되어있다는 뜻

 

 

 

 

 

 

여기에 작성해 주면 된다.

 

 

 

 

**에러원인

여기서 대소문자 구분 잘해줘야한다 ㅠㅠ return을 boardList로 작성해서 찾아가지 못했었던것..

 

 

 

 

 

 


 

 

 

 

 

views 폴더 내에 BoardList.jsp파일 생성해준다.

 

 

 

 


 

 

 

 

 

 

 

 

 

 

'Spring' 카테고리의 다른 글

Spring - mysql로 db연동(2)  (0) 2022.06.27
Spring - mysql로 db연동(1)  (0) 2022.06.22
Spring - DispatcherServlet 이용하여 값 출력하기, lombok  (0) 2022.06.21
Spring - MVC패턴  (0) 2022.06.21
Spring - 설치, 기본설정  (0) 2022.06.20