tuter77

Spring : 요일을 출력하는 프로그램 만들기. 본문

SpringStudy

Spring : 요일을 출력하는 프로그램 만들기.

tuter77 2023. 1. 29. 20:12

요일 테스트 프로그램 만들기

- 날짜 연월일을 입력하면 해당 요일을 반환해주는 프로그램.

public class YoilTeller {

	public static void main(String[] args) {
		
		//년월일을 입력하면 요일을 알려주는 프로그램
		//1. 입력.
		String year = args[0];
		String month = args[1];
		String day = args[2];
		
		int yyyy = Integer.parseInt(year);
		int mm = Integer.parseInt(month);
		int dd = Integer.parseInt(day);
		
		// 2. 작업
		Calendar cal = Calendar.getInstance();
		cal.set(yyyy, mm - 1, dd );
		
		int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
		char yoil = "일월화수목금토".charAt(dayOfWeek);
		
		//3. 출력
		System.out.println(year + "년 " + month + "월 " + day + "일은 ");
		System.out.println(yoil + "요일입니다.");
	}

}

실행방법은 target 폴더 우클릭 > show in local terminal > 터미널창에서 classes 폴더로 이동후(cd classes) > java (패키지명)com.fastcampus.ch2.YoilTeller 2021 10 01(원하는 날짜 입력) 을 통해 프로그램을 터미널창에 실행시킨다.

 

실행 순서를 보면 java 인터프리터가 YoilTeller 클래스의 메인을 호출한다.

2021 10 1 문자열을 배열에 저장한다.

"2021" = args[0]

"10" = args[1]

"1" = args[2]

이 문자열을 args[]에 넘겨준다. 이 args가 문자열 배열을 가리키게 되어 main 메서드 안에서 문자열 배열을 쓸수 있게 된다.

 

▷ Http 요청과 응답.

 

1. HttpSerevletRequest - url에서 서버에 요청을 보내면 톰캣 서버가 HttpSerevletRequest 객체를 만들어 요청한 정보를 담는다.해당 객체를 메인 메서드의 매개변수로 넘겨줌. main(HttpSerevletRequest  request);

위 YoilTeller 와 같은 방식으로 동작하는 것을 알 수 있다.

request 객체를 요청정보를 얻을 수 있다. 

 

2. HttpSerevletRequest의 메서드 참조

 

- url 내의 ? 이후는 getQueryString() 메서드인데 이는 모두 문자열이다. 

 

YoilTeller 로컬 프로그램을 원격으로 바꿔주면 아래와 같이 된다.

@Controller와 @RequestMapping 애노테이션을 달아주고, String year, month, day는 getparameter를 사용해 요청한다.

웹브라우저 url상에서 

이와 같이 각 매개변수들을 지정하여 입력해주면, console창에 정상적으로 작동하는 것을 확인할 수 있다.

 

- HttpServletRequest,Response를 활용하여, 콘솔창이 아닌 브라우저에서 출력하는 것으로 변환하는것은 아래와 같다.

메인의 매개변수에 HttpServletResponse 매개변수를 추가해주고, 입출력 예외처리를 위해 throws IOException을 첨하고 import 해준다. 

출력구문을 response 객체의 setContentType과 setCharaterEncoding으로 html 텍스트 타입임을 지정해주고, 바이너리는 utf-8을 사용하는 것을 알려준다.

콘솔에 출력하는 System.out.println() 구문을 PrintWriter 패키지로 수정하여 response 객체에서 브라우저로의 출력 스트림을 얻는다.

직후 printerWriter의 기능 중 하나인 println으로 브라우저에 괄호안의 내용을 출력해준다.

결과창.

위 내용은 2023.01.03에 공부한 내용입니다.

링크 : https://dudwls3278.tistory.com/34