HTTP 요청과 응답
1. HttpServletRequest
java 인터프리터는 main 호출 시 인자들을 받아서 배열(args)로 전달해준다.
마찬가지로 URL로 프로그램을 호출하면 톰캣이 HttpServletRequest 객체를 만들어서, 여기에 요청한 정보를 담아 main메서드의 매개변수로 넘겨준다.
2. HttpServletRequest의 메서드
System.out.println("request.getCharacterEncoding()=" + request.getCharacterEncoding()); // 요청 내용의 인코딩
System.out.println("request.getContentLength()=" + request.getContentLength()); // 요청 내용의 길이. 알수 없을 때는 -1
System.out.println("request.getContentType()=" + request.getContentType()); // 요청 내용의 타입. 알 수 없을 때는 null
System.out.println("request.getMethod()=" + request.getMethod()); // 요청 방법
System.out.println("request.getProtocol()=" + request.getProtocol()); // 프로토콜의 종류와 버젼 HTTP/1.1
System.out.println("request.getScheme()=" + request.getScheme()); // 프로토콜
System.out.println("request.getServerName()=" + request.getServerName()); // 서버 이름 또는 ip주소
System.out.println("request.getServerPort()=" + request.getServerPort()); // 서버 포트
System.out.println("request.getRequestURL()=" + request.getRequestURL()); // 요청 URL
System.out.println("request.getRequestURI()=" + request.getRequestURI()); // 요청 URI
System.out.println("request.getContextPath()=" + request.getContextPath()); // context path
System.out.println("request.getServletPath()=" + request.getServletPath()); // servlet path
System.out.println("request.getQueryString()=" + request.getQueryString()); // 쿼리 스트링
System.out.println("request.getLocalName()=" + request.getLocalName()); // 로컬 이름
System.out.println("request.getLocalPort()=" + request.getLocalPort()); // 로컬 포트
System.out.println("request.getRemoteAddr()=" + request.getRemoteAddr()); // 원격 ip주소
System.out.println("request.getRemoteHost()=" + request.getRemoteHost()); // 원격 호스트 또는 ip주소
System.out.println("request.getRemotePort()=" + request.getRemotePort()); // 원격 포트
? 뒤는 QueryString 부분으로 값을 전달하는 부분이다.
아래와 같이 &를 구분자로 값을 여러개 전달할 수 있다.
3. 브라우저에서 출력
1) 매개변수에 HttpServletResponse 객체 전달
2) response 객체의 타입과 인코딩 방식 설정 후
3) 출력 스트림을 얻어와서 출력
그럼 아래와 같이 URL입력 시 브라우저에 결과가 출력된다.
참조
https://fastcampus.co.kr/dev_academy_nks
'3. Back-end > 3-2. Spring MVC - 남궁성' 카테고리의 다른 글
Spring MVC - [ 바이너리 파일 ] (0) | 2022.10.18 |
---|---|
Spring MVC - [ HTTP 요청과 응답 - 이론] (0) | 2022.10.14 |
Spring MVC - [ 클라이언트와 서버 ] (0) | 2022.10.07 |
Spring MVC- [원격 프로그램의 실행] (0) | 2022.09.05 |
Spring - [기본 개발 도구 설치 - JDK11 / SDS3 / IntelliJ / Tomcat / VS Code] (0) | 2022.09.05 |