-
Java Spring - HTTP 요청과 응답JAVA 2022. 12. 8. 00:42728x90반응형

실행하는 방법은 target에서 오른쪽 버튼 클릭 후 show in > Terminal를 한 후 터미널창에서 cd classes를 한 후 "java 패키지명.파일명 2022 12 8" 이렇게 작성해주면 원하는 결과물이 나오는걸 알 수 있다.
이때 java 인터프리터 mian 메서드를 호출하고 뒤에 붙은 숫자들을 가지고 문자열 배열을 만들게 된다.
- 이때 만들어진 문자열 배열은 순서대로 args[0], args[1] ... 지정된다.
HTTP 요청과 응답
URL을 통해 요청하면 톰캣에서는 HttpServletRequest 객체를 만든 후 요청한 정보를 저장해서 해당 메서드의 매개변수로 넘겨준다.
// 기본 예시 @Controller public class RequestInfo{ @RequestMapping("/requestInfo") public void main(HttpServletRequset request){ System.out.println("request.getMethod() = " + request.getMethod()); System.out.println("request.getProtocol() = " + request.getProtocol()); System.out.println("request.getScheme() = " + request.getScheme()); } }HttpServletRequest의 메서드
URL = http://52.78.79.190:8080/ch2/requestInfo?year=2021&month=10&day=1
- getScheme()
- result : http
- getServerName()
- result : 52.78.79.190
- getServerPort()
- result : 8080
- getContextPath()
- result : ch2
- getServletPath()
- result : requestInfo
- getQueryString()
- result : year=2021&month=10&day=1
- getParameter("year") = "2021"
- getParameter("month") = "10"
- getParameter("day") = "1"
- result : year=2021&month=10&day=1
- getRequestURL()
- result : http://52.78.190:8080/ch2/requestInfo
- getRequestURI()
- result : ch2/requestInfo

위에서 터미널에서 작동하던 프로그램을 웹에서 작동시키기 위해 변형한 코드지만 아직도 System.out.print를 통해 출력하기 때문에 웹에서는 작동하지 않는것 처럼 보인다.

HttpServletResponse를 추가해주면 이제 터미널이 아닌 브라우저를 통해 결과 값을 줄 수 있다.
결과 값을 보여주기 전에 필수로 출력할 내용의 타입을 지정해주어야 하는 데 그 이유는 컴퓨터는 우리가 보내는 출력물이 텍스트인지 숫자인지 알지 못하기 때문입니다.
728x90반응형'JAVA' 카테고리의 다른 글
[Java] 자바로 틱택톡(tic tac toe) 게임 만들기 V_2 (0) 2022.12.09 [Java] 틱택톡 게임 만들기 (0) 2022.12.08 [Java Spring MVC] 1. 원격 프로그램의 실행 요약 (0) 2022.12.05 Java로 숫자야구 게임 만들기 (0) 2022.12.01 Java Scanner 대신 BufferedReader 사용해보기 (0) 2022.11.30