3. Back-end/3-2. Spring MVC - 남궁성

    Spring MVC - [ 바이너리 파일 ]

    1. 텍스트 파일 vs 바이너리 파일 - 바이너리파일 : 문자와 숫자가 저장되어 있는 파일. 데이터를 있는 그대로 읽고 쓴다. - 텍스트 파일 : 문자만 저장되어 있는 파일. 숫자를 문자로 변환 후 쓴다. 파일 종류 쓰기 읽기 바이너리 문자 -> 문자 숫자 -> 숫자 문자 -> 문자 숫자 -> 숫자 텍스트 문자 -> 문자 숫자 -> 문자 문자 -> 문자 문자 -> 숫자(안 됨) 2. MIME(Multipurpose Internet Mail Extensions) 텍스트 기반 프로토콜에 바이너리 데이터(이미지, 동영상 등)를 전송하기 위해 고안 HTTP의 Content-Type 헤더에 사용하며, 전송할 데이터의 타입을 명시해줘야 한다. 타입 설명 MIME타입 예시(타입,서브타임) text 텍스트를 포함하는 ..

    Spring MVC - [ 바이너리 파일 ]

    Spring MVC - [ HTTP 요청과 응답 - 이론]

    1. 프로토콜(protocol) - 프로토콜이란 서로 간의 통신을 위한 약속, 규칙으로 주고 받을 데이터에 대한 형식을 정의한 것이다. 2. HTTP(Hyper Text Transfer Protocol) - 텍스트 기반의 프로토콜로 단순하고 읽기 쉽다. - 상태를 유지하지 않는다.(stateless) (클라이언트 정보를 저장 X ) 즉, 같은 클라이언트가 요청을 한 번 보내고, 다시 요청을 보내도 서버는 클라이언트 정보를 저장하지 않아서 같은 클라이언트가 보냈는지 구분할 수 없다. 이를 보완하기 위해 쿠키&세션을 사용한다. - 확장 가능하다. (커스텀 헤더(header) 추가 가능) 3. HTTP 메시지 - 응답 메시지 요청에 대한 결과가 상태 코드로 나온다. 상태코드별 의미는 아래 표와 같다. 상태코드..

    Spring MVC - [ HTTP 요청과 응답 - 이론]

    Spring MVC - [ 클라이언트와 서버 ]

    1. 클라이언트와 서버 클라이언트(client) : 서비스를 요청하는 애플리케이션(or 컴퓨터) 서버(server) : 서비스를 제공하는 애플리케이션(or 컴퓨터) ex) 내가 브라우저에 주소를 입력하면 -> 내 컴퓨터는 클라이언트 컴퓨터, 주소를 입력한 브라우저는 클라이언트 app /응답하는 컴퓨터는 서버 컴퓨터, 응답하는 톰캣은 서버 app 2. 서버의 포트 어떤 서비스를 제공하는지에 따라서 서버가 여러 종류 있을 수 있다.(ex. Email server, File server, Web server ..) 하나의 컴퓨터에 여러 서버가 있을 경우, IP만으로는 어떤 서버에 요청을 보낸 건지 알 수 없다. 따라서 어떤 종류의 서버에 보낸 요청인지 알려주기 위해 포트 번호를 같이 써줘야 한다. (ex. 1..

    Spring MVC - [ 클라이언트와 서버 ]

    Spring MVC - [ HTTP 요청과 응답 - HttpServletRequest ]

    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()); // 요청 내용의 길이. 알수..

    Spring MVC - [ HTTP 요청과 응답 - HttpServletRequest ]

    Spring MVC- [원격 프로그램의 실행]

    * 자바 인터프리터가 main() 호출 -> static main이므로 호출 가능. static이 아니면 객체를 생성해야 호출할 수 있음 원격 프로그램 실행 내 컴퓨터의 브라우저에서 url 입력(원격 컴퓨터의 ip)해서 원격 컴퓨터에 호출하면 -> 원격 컴퓨터의 tomcat이 요청을 받아서 프로그램을 실행한다. 이렇게 웹에서 브라우저로 서버에 있는 프로그램 실행하려면 2가지 작업 필요 1) 프로그램 등록 (웹에서 호출할 수 있도록!) - @Controller 애노테이션을 class 앞에 붙여줌. 2) URL과 프로그램을 연결 - 호출하려는 메서드(아래 그림에서 main. 이름은 꼭 main일 필요 없음)에다 @RequestMapping 애노테이션과 URL("/hello")을 붙여줌 -> 만약 url이 '..

    Spring MVC- [원격 프로그램의 실행]

    Spring - [기본 개발 도구 설치 - JDK11 / SDS3 / IntelliJ / Tomcat / VS Code]

    - 자바 개발도구 : Java11 - 통합개발 환경 : STS, IntelliJ - 웹 서버 : Tomcat 9 - 웹 브라우저 : chrome - 데이터 베이스 : MySQL 5.7 - 기타 : VS code, Git, AWS, Maven https://jdk.java.net/11/ 에서 OpenJDK Archive 클릭 아래 셋 중에 아무거나 받아도 OK 다운받은 jdk-11.0.2 폴더는 C드라이브에 넣어주고 알아보기 쉽게 폴더명을 jdk11로 변경했다. 그리고 제어판 -> 환경변수 검색 -> 시스템 환경변수 -> 환경변수 -> 시스템 변수에서 Path 선택 후 편집 -> 새로 만들기 -> jdk 설치한 경로 추가해주기 (b..

    Spring - [기본 개발 도구 설치 - JDK11 / SDS3 / IntelliJ / Tomcat / VS Code]