본문 바로가기

Study/SpringFramework

05. 클라이언트와 서버 34:25

728x90

1. HttpServletRequest

browser -> URL을 입력 해서 -> request(요청) 하면 -> 해당 서버에 있는 Tomcat이 요청을 받아서 -> ㅁㅁ 객체저장

@위 과정을 뭘로 제공한다고?

public void main(HttpServletRequest request) { // 메서드의 request가 제공한다.

     System.out.println("request.getMethod()="+request.getMethod()); // 이 메서드의 객체를 통해 뭘 얻을 수 있다고?

}

-> 브라우저(클라이언트)에서 요청한 정보를 얻을 수 있다.

 

2. HttpServletRequest의 메서드

HttpServletRequest의 메서드

? 뒤에 추가적인 데이터를 보낼 수 있는데 그걸 뭐라고 한다고??

@QueryString이라고 한다 ~

?year=2021&month=10&day=1

값을 파라미터(매개변수)로 보낼 때 사용되는 값

 

QueryString 형태

& -> 구분자 : 한쌍의 name과 value를 나눠줌

@2021값을 어떻게 받아오는가?

getParameter에 ("year");을 주면

String year -> 이 부분에 "2021" 값을 얻어올 수 있음.

 

@만약에 문자열 정수로 받아오고 싶다면?

int yyyy = Integer.parseInt("year");

정수형 변수 yyyy를 만들고 그안에 Integer.parseInt("value"); 으로 받아오면 된다.

 

* QueryString 구조

@ getParameterNames(); 가 뭡니까?

QueryString의 name만 뽑아오는거

 

@ Enumeration이 뭡니까?

Enumeration(열거 타입)

한정된 데이터(계절처럼 봄, 여름, 가을 겨울, 요일처럼 월, 화, 수...)만을 가지는 데이터 타입.

열거 타입에 들어가는 값을 열거 상수(Enumeration constant)라고 한다.

 

@ Map이 뭡니까?

Key와 Value을 하나의 쌍으로 묶어서 저장하는 컬렉션 클래스를 구현하는 데 사용되는 인터페이스

Key Value
"year" "2021"
"month" "10"
day "1"

getParameterMap(); 메서드가 담아서 반환해줌.

 

* QueryString 이름이 같은경우.

@ getParameterValues("year"); 으로 받을 수 있다.

name이 year 값을 배열로 받을 수 있음.

 

1. 클라이언트와 서버.

클라이언트(client) : 서비스를 요청하는 애플리케이션 -> 컴퓨터

서버(Server) : 서비스(Service)를 제공하는 애플리케이션 -> 컴퓨터

요청하는 쪽이 클라이언트, 응답하는 쪽이 서버(역활에 따른 구분)

 

2. 서버의 종류.

- 어떤 서비스를 제공하는가에 따라서 달라짐.

Email Server을 제공하면 -> Email 서버 이런식으로.

@ Web server가 제공하는건 무엇일까?

브라우저로 할 수 있는 모든거 ~ 동영상, 문서 기타 등등..

 

3. 서버의 포트.

@만약에 1대의 PC에 여러가지 서버가 있다면 어떻게 식별해야 할까?

@ 바로 port 번호이다.

Broswer URL은 port 번호를 통해 서비스를 구분한다.

대표전화 1588-8888 안에 1588-1234 이런식으로 내선번호가 있는거랑 비슷.

 

port는 서버랑 binding(연결) 되어있어야 한다. 그리고 한 port에는 한 서버만 연결될 수 있다.

서버가 실행되고 있어야 클라이언트에서 요청을 받을 수 있는데, 특정 포트랑 binding 되서 요청을 기다리는 상태

이 과정을 Listening 한다고 표현한다.

 

@ port번호에도 예약어처럼 이미 규칙이 정해진 번호가 있는데..

- 0 ~ 1023 까지 예약되어있다.

- 그 외에 65535개의 port 번호를 만들어 사용할 수 있다.

4. 웹 애플리케이션 서버(WAS)란?

WAS란?

@ 웹 애플리케이션을 서비스한다?

- 서버에 프로그램을 설치해놓고 클라이언트가 이 프로그램을 사용할 수 있게 해준다.

- Tomcat 또한 WAS 종류 중 하나이다.

 

5. Tomcat의 내부 구조.

Tomcat 구조

1. Server(Tomcat) -> 톰캣 서버 안에

2. Service -> 서비스가 있고

3. 그 서비스를 처리하는게 Engine 인데

4. 엔진안에는 Host가 여러개 있을수도 있고.

5. Host안에는 Context가 여러개 있을 수 있다.

6. 여러개의 context를 스프링 프로젝트 하는데.

7. http://www.fastcampus.co.kr/event/list로 요청받는다면 전달이 되고

8. 해당 Host에 -> http://www.fastcampus.co.kr

9. 해당 Context로 가서 -> /event

10. 해당 Servlet -> /list전달이 되고 실행이되면 그 결과를

11. 클라이언트한테 전송을 한다.

프로그램 종료.

요약내용

728x90