Controller
▶ 클라이언트(=사용자)의 요청을 처리해줄 메서드를 구현해준다.
간단하게 controller 파일을 생성해보자!
우선 좌측의 Navigator 탭에서 빈 공간에 우측 마우스를 클릭한 후 위와 같이 eGovFrame Web Project 를 클릭!
1. Project name ▶ 일반적으로 카멜케이스 (camelCase) 로 표기한다.
각 단어의 첫 글자를 대문자로 적되, 첫 번째 단어의 첫 글자는 소문자로 적는 표기법이다!
ex ) hellowWorld / coffeeCafe / javaProject
2. Group Id ▶ 프로젝트 명과 같게 적어준다.
3. 간지나게 피니쉬를 클릭해준다.
노란 화살표가 가리키는 네모박스를 체크해준다!
그리고 역시나 간지나게 피니쉬를 클릭해준다.
프로젝트가 생성되었다!
example 폴더 안에는 업무폴더들이 있는데, minamin 이라는 업무폴더를 하나 만들어주고
minamin 업무폴더 안에 web 폴더를 만들어주었다.
그렇다. controller 파일은 업무 폴더 안의 web 폴더에 살고있다.
이제 controller 파일을 생성해줄 차례다! controller는 class 파일이므로 생성시 class로 생성해주도록 하자
1. Name ▶ class 이름은 일반적으로 파스칼 케이스 (PascalCase) 로 표기한다.
모든 단어의 첫 글자를 대문자로 적는 표기법이다.
ex ) HellowWorld / CoffeeCafe / JavaProject
2. 간지나게 피니쉬를 클릭한다.
controller 파일이 생성되었다.
controller 파일을 생성하고 가장 먼저 해줘야 할 작업은
@Controller 어노테이션을 적어주는 것이다. 이것의 의미는
"내가 컨트롤러다!!!!!!!!!!!!!!!!" 라는 의미다.
@controller 어노테이션은 class 한 칸 위에 적어주도록 하자
어노테이션을 적어주면 빨간 줄이 뜨는데 빨간 줄에 마우스를 올려서 import를 해줘야 한다.
import 가 뭐징.....?
▼
소스코드 작성시 다른 패키지의 클래스를 사용할 때는
패키지명과 클래스이름을 함께 써서 사용해야한다. 소스코드를 작성할 때마다 패키지명을 앞에 붙여줘야 한다는 것이다.
말도안돼...어떻게 매번 패키지명을 붙여주냐!! 길기도 하고 상당히 불편하다!
그래서 import 해주는 것이다.
사용하고자 하는 클래스의 패키지를 미리 명시해줌으로써
소스코드를 작성할 때마다 매번 패키지명을 붙여줘야 하는 불편함을 덜어준다.
즉, import를 해주게되면 소스코드 작성 시 패키지명은 생략하고 사용할 수 있다는 것이다!
import 를 해주면 빨간 줄이 사라진다.
그리고 위와 같이 간단하게 minamin 이라는 메서드를 하나 생성해주었다.
@RequestMapping 어노테이션 ▶ 클라이언트가 요청한 URL을 어떤 메서드가 처리해줄 지 매핑해주는 역할을 한다.
(@Controller 어노테이션과 마찬가지로 import 가 필요하다.)
value ▶ @RequestMapping 의 속성 중 하나이다. 값으로 클라이언트가 요청한 URL 을 적어주면 된다.
minamin.do ▶ 클라이언트가 요청한 URL
정리하자면 클라이언트가 요청한 URL minamin.do를 minamin 메서드가 구현해줄거야~ 라고 하면서
URL과 minamin 메서드를 매핑해주는 역할을 하는 것이 바로
@RequestMapping 어노테이션이다.
그리고 minamin 메서드는 return 값으로 minamin / minamin 을 리턴해주고있다.
뭘 리턴해준다는건데요.....
▼
슬래시 ( / ) 를 기준으로 왼쪽이 업무폴더
오른쪽이 jsp 파일이다!
따라서 minamin 업무 폴더에 있는 minamin.jsp 파일을 리턴해준다는 것이다.
(아직 minamin.jsp 파일은 만들어주지 않았으므로 그냥 이렇다는 것만 알아두면 되겠다!)
위의 화면을 보면서 총 정리를 해보도록 하겠다!
▶ 클라이언트가 URL minamin.do 를 요청했다.
▶ @RequestMapping 어노테이션을 통하여 minamin.do를 minamin 메서드가 구현해주도록 매핑해준다.
▶ minamin.do 는 minamin 메서드를 통하여 구현된다.
즉, 클라이언트가 요청한 URL 을 처리해줄 메서드를 구현해주는 것이 controller 이다.