- 프로그램 실습 - consonle 출력
- HttpServletRequest
- HttpServletRequest 메서드
0. 프로그램 실습 - console 출력
year, month, day값을 String[ ] 배열인 args에 담는다. String은 문자이기 때문에 int로 형변환해서 출력해야 한다. dayOfWeek는 요일을 계산해서 담는다. int형인 이유는 요일을 계산하면 1:월요일, 2:화요일 ... 이런 식으로 값이 담기기 때문이다.
charAt은 dayOfWeek가 숫자이기 때문에, " 일월화수목금토"에서 요일을 꺼내기 위해 charAt 메서드를 사용한다. charAt(1); 라고 하면 "일"을 yoil에 담는다.
cmd를 이용해서 값을 출력하자. target을 우클릭하고 Show in - Terminal(cmd 실행될 수 있고, 끄지 말기.)
cmd와 같은 기능을 하고, "java com.fastcampus.ch2.YoilTeller 2021 10 1"을 입력하면 요일이 출력된다.
Stinrg[ ] 배열이 만들어지고 자바 인터프리터가 이 배열을 넘겨준다. args가 year, month, day가 저장된 문자열을 가리킨다.
>java com.fast.campus.ch2 2021 10 1을 입력하면 배열을 만들고, 배열에 2021, 10, 1을 담는다. 이 객체가 main 메서드의 매개변수로 전달되어 args[0]을 쓸 수 있다.
톰캣도 마찬가지이다. URL을 입력하면 톰캣이 HttpServletRequest 객체를 생성한 후 요청한 정보인 URL을 HttpServletRequest 객체에 담는다. 담은 data를 main 메서드의 매개변수인 request로 넘겨준다. 자바 인터프리터가 배열 객체를 자동으로 만들 듯이, 톰캣도 HttpServletRequest 객체를 자동으로 만들어 request 매개변수로 전달한다.
2. HttpServletRequest의 메서드
HttpServletRequest에는 getScheme, getRequestURI 등 다양한 메서드가 있다.
requestInfo를 출력하면 아래와 같다.
URL에 값을 전달할 때 QueryString을 사용하는데, 형식은 '?'뒤에 구분자 '&'를 이용해서 적는다.
URL이 문자열이기 때문에, String year에는 "2021", String month에는 "10", String day에는"1"이 담긴다.
"http://localhost/ch2/getYoil?year=2021&month=12&day=1"을 입력하면 프로그램이 원격 프로그램으로 바뀐다. System.out.println을 사용했기 때문에 console에 출력된다. 대부분의 프로그램이 넘어온 값을 입력받고, 값을 작업하고 결과를 출력하는 3단계로 이뤄져있다.
console이 아닌 브라우저에 출력하기 위해서는 HttpServletResponse를 이용한다.
브라우저에 출력이 가능하다.
'스프링의 정석 > Ch. 02 Spring MVC' 카테고리의 다른 글
ch2_05. 클라이언트와 서버(3) (0) | 2023.04.12 |
---|---|
ch2_04. HTTP 요청과 응답 - 예제 (0) | 2023.04.10 |
ch2_01. 원격 프로그램 실행 (0) | 2023.04.08 |
ch2_05. 클라이언트와 서버(2) (0) | 2023.04.03 |
ch2_05. 클라이언트와 서버(1) (0) | 2023.04.02 |