계산기 웹 프로그램 구현하기

hyunwoo·2023년 1월 12일
0

Spring (fastcampus)

목록 보기
9/27
post-thumbnail

Logback

Logback은 Java에서 가장 많이 사용 되었던 로깅 라이브러리인 log4j의 후속버전이며, log4j를 설계한 Ceki Gulgu에 의해 설계되었습니다.
logback은 새롭게 작성된 logger가 아니라, 오랫동안 검증된 "log4j"의 아키텍쳐 기반으로 재작성 되었으며, 또한 "SLF4J"를 지원하기 때문에 마음에 들지 않으면 언제든지 다른 로거로 스위칭이 가능하게 구현되어있습니다.


GET /calculate?operand1=11&operator=*&operand2=55 란?

GET에 calculate라는 요청이 들어오게 되면 계산기에 대한 결과를 수행해서 리턴해준다.

<간단한 흐름> (번호 매긴 것은 큰 의미 x)

1. GET 요청
2. 해당하는 path는 calculate
3. 피연산자는 operand1 와 operand2   총 2개
4. 연산자는 operator=*  총 1개
를 전달하는 이에 대한 결과 값을 리턴해주는 web application을 만들 것이다.

IntelliJ에서 제공하는 HTTP tool

HTTP 요청(request)

아래 코드를 실행하면

Client connected!가 된다.
즉, 연결되었다.

코드를 이용하여 HTTP 프로토콜이 어떻게 생겼는지 볼 수 있다.

String line;
while((line = br.readLine()) != "") {
    System.out.println(line);
}

GET 요청이 왔으며 path는 아무것도 없으며 HTTP 1.1을 사용하고 있다.
Host는 localhost: 8080 이고
Connection: keep-Alive
~~

이를 가지고 파싱하면서 활용하는 것이 톰캣이다.
지금 만드는 것은 커스텀한 톰캣을 만들고 있고 톰캣을 was라고 표현한다.
was(web application server)


실행이 안될 경우 순서는 Main에서 서버 실행하고 test.http에 와서 실행하면 된다.

GET 요청이 들어오고 path와 queryString이 들어온다
그러면 우리는 해당 첫번째 라인(밑줄 친 라인을)을 split 해서

/calculate?operand1=11&operator=*&operand2=55

이 부분을 가지고 계산기를 실행하면 된다.


이 그림을 보면 요청 메시지의 첫번째 줄은 Request line 즉, 아래 부분이다.

GET /calculate?operand1=11&operator=*&operand2=55 HTTP/1.1

0개의 댓글