4월5일 스프링 수업 내용
1. 요청 분석 /가공
해당 일을 하는 메소드를 가진 클래스
-> 스프링부트에서 컨트롤러라고 부른다.
클래스 이름이 컨트롤러가 아니고 어노테이션이 컨트롤러.
2. 비즈니스 로직 실행
3. 결과 응답
컨트롤러가 요청을 받아서 일을 한다.
실제 메소드가 일을 한다.
http://192.168.201.129:8080/main1?name=kim
서버,클라이언트가 같으면 local:8080 이하등등 으로 써도 됭다.
내 컴퓨터에 요청을 한 것과 같다
HTTP 요청 request (클라 -> 서버)
1.HTTP 메서드
2.URL
3.버전
@Contoller
어떤 클래스를 만들고 @Controller 어노테이션을 붙여놓으면
1,2,3을 할 수 있는 클래스로 스프링부트가 인식 한다.
그 중에 특정 일을 할 때, 그 메소드에
어노테이션의 엘리멘트에 요청경로를 작성하면
localhost:8080/main1/sub1 주소창에 이렇게 작성하면
/main1/sub1이 요청 메세지 첫 줄에 그대로 들어간다.
스프링은 요청 메세지를 보고
우리 클래스를 리플렉션 한 후
@Controller와 @RequestMapping 에 있는 컨트롤러라는 어노테이션이 있는 클래스 안에
리퀘스트 맵핑이 붙어 있는 메서드를 다 분석해서,
리퀘스트 맵핑 옆에 요청 메세지 첫 줄에 두번째 부분과 일치하는 값이 있다면 이 메서드를 실행 시킨다.
실제로 실행시키면 흔적이 남아있다.
@RequestMapping(value = "/main1/sub1")
@RequestMapping("/main1/sub1") 라고 써도 된다.
컨트롤러 다음 줄에 @RequestMapping("main1")이라고 적으면
@RequestMapping("sub1") 만 써도 된다
- request parameter
- query string
- ?key1=value1&key2=value2
/main3/sub3?address&city
경로, 파라미터
/main3/sub3 경로
?address&city 파라미터 (파라미터 순서는 상관없음)
이름=값, 이름=값을 끊어서
리퀘스트라는 객체에 넣는다. 타입은 HttpServletRequest
유사한 타입이 있다 WebRequest