본문 바로가기

전체 글

(77)
[2022-1-22] HTTP 공부 form 태그의 enctype="multipart/form-data" form 태그의 enctype은 서버로 보내고자하는 데이터의 인코딩하는 방법을 명시한다. 아래의 세가지 타입으로 설정할 수 있다. application/x-www-form-urlencoded Default로 설정되어 있는 타입으로 모든 데이터가 인코딩 되었음을 뜻한다. text/plain 공백 문자만을 "+"으로 치환하고 나머지 문자는 인코딩 되어 있지 않음을 뜻한다. multipart/form-data 모든 문자가 인코딩되어있지 않음을 뜻한다. 보통 이미지나 파일의 바이트 데이터를 서버로 전속할 때 사용한다. HTTP 데이터 전송 방식 HTTP 에서 서버로 데이터를 보낼때 전송 방식은 쿼리 파라미터를 통한 방식(GET), 메세지 바디..
[2022-1-21]Servlet, jsp + HTTP 메서드 종류 Map to List 아래처럼 생성자를 통해 map을 리스트로 변환할 수 있다. Map map = new HashMap(); ... List list = new ArrayList(map.values()); map.value()를 호출하면 map의 value 들을 Collection객체를 반환한다. 이를 ArrayList 생성자의 파라미터로 전달해서 형변환할 수 있다. 이는 아래와 같은 로직으로 동작한다. AssertJ 의 Assertions.assertThat().contatins() Assetions.assertThat(리스트).contains(객체1,객체2,......객체n); assertThat의 매개변수로 리스트를 주고 이 리스트에 존재하는지 검사하고자하는 객체들을 추가하여 존재여부를 확인할 수 ..
[2022-1-20]HttpServletResponse 과 HTTP공부 HttpServletResponse 과 HTTP get방식은 보통 URL에 쿼리 파라미터형식으로 데이터를 전송하기 때문에 메세지 바디가 없다. 그러므로 content-type, content-length 또한 없다. 메세지 바디를 사용해서 데이터를 전달할 수도 있지만, 권장하지 않는다. post방식은 get방식의 쿼리 파라미터 형식 그대로 http 메세지 body에 담아 보낸다. 이 body에 보내는 데이터의 형식에 따라 content-type을 꼭 지정해야한다. 예를 들어 폼으로 데이터를 보내는 경우 "application/x-www-form-urlencoded", json의 경우 "application/json"와 같다. HttpServletResponse 객체는 궁극적으로 HTTP response ..
[2022-1-19] Sevlet, HttpServletRequest 공부 Sevlet, HttpServletRequest 기능 알게된 것 Sevlet, HttpServletRequest 서블릿 객체자체는 싱글톤으로 서블릿 컨테이너에 등록되고, 객체마다 매핑된 url로 요청이 들어오면, 서블릿 컨테이너는 요청 하나하나마다 개발자에 의해 구현된 아래의 메소드를 실행시킨다. protected void service(HttpServletRequest request, HttpServletResponse response){ //비지니스 로직 구현 } HttpServletRequest 객체에는 서블릿에 의해 파싱된 HTTP 요청 메세지 데이터가 들어있다. 이 객체를 통해 개발자는 요청 메세지를 이용하여 비지니스 로직을 구현한다. 이외에도 HTTP 요청의 생성과 종료시까지 유지되는 임시 저..
[2022-01-18] 스프링MVC 멀티쓰레드개념, 프로그래머스 TIL 스프링MVC와 멀티쓰레드 https://jeong-pro.tistory.com/204 Controller 1개가 어떻게 수 많은 Request를 처리하는가? (spring mvc, tomcat thread, singleton bean) Controller 1개가 어떻게 수 많은 Request를 처리하는가 배경 의식의 흐름 Controller는 한 개인가? 지금와서 생각하면 조금 바보같았지만, 저런 질문이 떠오른 이유는 아래와 같습니다. 스프링에서 웹 jeong-pro.tistory.com https://doflamingo.tistory.com/44 멀티 쓰레드 환경과 스프링 빈 멀티 쓰레드 환경과 스프링 빈 스프링 빈은 대부분 Singleton 패턴으로 생성되어 Application Context에 의해..
[2022-1-17] 네트워크, 스프링 MVC 공부 네트워크 공부 2022.01.17 - [CS] - 네트워크 기본 - OSI 모델과 TCP/IP 모델 네트워크 기본 - OSI 모델과 TCP/IP 모델 - OSI(Open System Interconnection) 모델 네트워크는 컴퓨터와 컴퓨터를 연결하는 무수히 많은 선으로 이루어진 망(net)을 말한다. 이 망을 통해 원하는 데이터를 주고받는 것을 통신이라고 한다. 이 통신 unannn.tistory.com 학교 네트워크 수업을 들었던 기억이 거의 잊혀져가고 있어서 여기저기 검색하고 기억을 더듬어 글로 정리 해보았다. http,tcp,ip 등에 대해서도 동시에 정리해볼까 했지만 공부하다보니 내용이 너무 깊어지고 나의 지식이 너무 얕아서 그러긴 힘들었다. 다음에 각각의 프로토콜에 대해 상세히 정리해 보아..
네트워크 기본 - OSI 모델과 TCP/IP 모델 - OSI(Open System Interconnection) 모델 네트워크는 컴퓨터와 컴퓨터를 연결하는 무수히 많은 선으로 이루어진 망(net)을 말한다. 이 망을 통해 원하는 데이터를 주고받는 것을 통신이라고 한다. 이 통신을 목적으로 네트워크라는 망으로 전세계가 연결되어 있는 것이다. 이렇게 통신을 위해 수없이 많은 컴퓨터들이 연결되어있는 가운데에서, 나의 컴퓨터가 어떤 다른 컴퓨터와 원하는대로 연결되어 정확히 데이터를 전달한다는건 매우 어렵고 복잡한 일이다. 국제 표준화 기구(ISO)는 이 어렵고 복잡한 일을 추상화하여 이해하기 쉽고 일관적으로 네트워크를 구현할 수 있도록 개념 모델을 만들었고, 이 것이 바로 OSI 모델이다. OSI 모델은 아래와 같이 7계층으로 나뉘어 각각의 역할을 부여받는다...
[2022-1-16] 스프링 공부 스프링 핵심 원리 - 기본편 완강!! 스프링 공부 2022.01.16 - [Spring] - 스프링 핵심 원리 - 기본편 : 빈 생명주기 콜백 스프링 핵심 원리 - 기본편 : 빈 생명주기 콜백 스프링 핵심 원리 - 기본편 : 빈 생명주기 콜백 어플리케이션의 데이터베이스 커넥션 풀, 네트워크 소켓 등 시작과 종료 시점에서 연결하고 연결을 끊는 작업이 꼭 필요한 경우가 있다. 이 unannn.tistory.com 느낀점 - 예전에 React 개발을 할 때에도 라이프사이클 메소드를 통해 여러가지 작업을 했었다.비록 언어, 프레임워크, 목적도 완전히 다르지만, 메소드 이름이 강제적이지 않고 어노테이션을 통해 쫌더 직관적으로 '이 메소드가 라이프사이클과 관련된 메소드 이구나'를 알 수 있어서 쫌더 직관적이고 좋은 것 같다. 2022.01.16 - [..