1. HttpServletRequest
browser -> URL을 입력 해서 -> request(요청) 하면 -> 해당 서버에 있는 Tomcat이 요청을 받아서 -> ㅁㅁ 객체저장
@위 과정을 뭘로 제공한다고?
public void main(HttpServletRequest request) { // 메서드의 request가 제공한다.
System.out.println("request.getMethod()="+request.getMethod()); // 이 메서드의 객체를 통해 뭘 얻을 수 있다고?
}
-> 브라우저(클라이언트)에서 요청한 정보를 얻을 수 있다.
2. HttpServletRequest의 메서드
? 뒤에 추가적인 데이터를 보낼 수 있는데 그걸 뭐라고 한다고??
@QueryString이라고 한다 ~
?year=2021&month=10&day=1
값을 파라미터(매개변수)로 보낼 때 사용되는 값
& -> 구분자 : 한쌍의 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)란?
@ 웹 애플리케이션을 서비스한다?
- 서버에 프로그램을 설치해놓고 클라이언트가 이 프로그램을 사용할 수 있게 해준다.
- Tomcat 또한 WAS 종류 중 하나이다.
5. 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. 클라이언트한테 전송을 한다.
프로그램 종료.
'Study > SpringFramework' 카테고리의 다른 글
07. HTTP 요청과 응답 - 이론 36:22 (0) | 2022.05.10 |
---|---|
06. 설정 파일 - server.xml, web.xml 13:28 (0) | 2022.05.10 |
04. HTTP 요청과 응답 - 예제 16:21 (0) | 2022.05.10 |
03. HTTP 요청과 응답 - 실습 26:52 (0) | 2022.05.10 |
01. 원격 프로그램의 실행 28:24 (0) | 2022.05.10 |