일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 노드
- 기본 생성자
- 패키지
- router
- package
- 생성자
- 메소드 재정의
- annotation
- final 메소드
- import
- 객체지향 #객체지향 특징
- 라우터
- Anonymous Functions
- 유니코드
- 클래스
- node
- final 클래스
- 문자집합
- 즉시 실행 함수
- Super
- Override
- Arrow function
- 디코딩
- 익명함수
- final
- 화살표 함수
- 자바
- 어노테이션
- 자바의 특징
- 인코딩
- Today
- Total
목록전체 글 (66)
개인 공부 블로그

보통은 파라미터를 받으면 필요한 객체를 생성하고 그 객체의 프로퍼티에 파라미터를 셋팅한다. @ModelAttribute는 이 작업을 자동으로 해준다. 출처 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard
View 조회를 무시하고 HTTP body에 해당 내용(return값) 직접 입력
스프링 MVC에서 프론트 컨트롤러 역할. 클라이언트가 요청을 보내면 tomcat과 같은 서블릿 컨테이너가 요청을 받는다. 그리고 이 모든 요청을 DispatcherServlet이 가장 먼저 받아 공통작업을 처리한 후 요청을 처리할 컨트롤러를 찾아서 작업을 위임한다. 이때 아무 요청이나 가로채는 것은 아니고, web.xml의 에 등록된 내용을 토대로 가로채게 된다. 등록 Servlet 3.x 사양 이전에는 DispatcherServlet 이 Spring MVC 애플리케이션의 web.xml 파일에 등록되었음. Servlet 3.x 사양부터 ServletContainerInitializer를 사용하여 프로그래밍 방식으로 서블릿을 등록할 수 있다. 출처 https://velog.io/@dyunge_100/Spr..

매핑 정보@Controller는 반환 값이 String이면 뷰 이름으로 인식 되어 뷰를 찾고 뷰가 렌더링 된다. @RestController는 반환 값으로 뷰를 찾는 것이 아니라 HTTP 메시지 바디에 바로 입력함. @ResponseBody와 관련이 있음.스프링은 다음 URL 요청들을 같은 요청으로 매핑한다. 매핑 : /hello-basicURL 요청 : /hello-basic, /hello-basic/HTTP 메서드 @RequestMapping에 method 속석으로 HTTP 메서드를 지정하지 않으면 메서드와 무관하게 호출된다. GET, POST, PUT, PATCH, DELETE 모두 허용. PathVariable(경로 변수) 사용최근 HTTP API는 위와 같이 리소스 경로에 식별자를 넣는 것을 선..
@RequestMappingRequestMappingHandlerMappingReuqestMappingHandlerAdapter스프링은 @RequestMapping을 사용하는 실용적인 컨트롤러를 만들었다. @RequestMapping의 앞글자를 따서 만든 이 핸들러 매핑과 어댑터가 애노테이션 기반의 컨트롤러를 지원하는 애들. 실무에서는 99.9%가 이 방식의 컨트롤러를 사용한다! RequestMappingHandlerMapping은 스프링 빈 중에서 @RequestMapping 또는 @Controller가 클래스 레벨에 붙어있는 경우에 매핑 정보로 인식한다. @Controller스프링이 자동으로 스프링 빈으로 등록(내부에 @Component가 있어서 컴포넌트 스캔의 대상이 됨)스프링 MVC에서 애노테이션..

스프링 MVC 구조스프링 MVC도 프론트 컨트롤러 패턴으로 구현되어 있다. 프론트 컨트롤러가 DispatcherServlet. 얘가 스프링 MVC의 핵심이다. DispacherServlet 등록DispacherServlet도 부모 클래스에서 HttpServlet을 상속 받아서 사용, 서블릿으로 동작한다.스프링 부트는 DispacherServlet을 서블릿으로 자동 등록 하면서 모든 경로(urlPatterns="/")에 대해서 매핑한다. 출처 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard
자바 컴파일러 : 자바 소스코드를 JVM이 이해할 수 있는 자바 바이트 코드로 변환해줌 자바 바이트 코드 JVM이 이해할 수 있는 언어로 변환된 자바 소스코드를 의미. 확장자는 .class 이다. 자바 바이트 코드는 JVM이 설치되어 있으면 어떤 운영체제에서라도 실행될 수 있다. - 바이트 코드 : 고급 언어로 작성된 소스 코드를 가상머신이 이해할 수 있는 중간 코드로 컴파일한 것. 자바 가상 머신(JVM) 자바 바이트 코드를 실행시키기 위한 가상의 기계. 자바로 작성된 모든 프로그램은 자바 가상 머신에서만 실행될 수 있고 운영체제가 달라도 JVM만 설치되어 있으면 프로그램이 동작할 수 있다. 하지만 JVM은 운영체제에 종속적이어서 각 운영체제에 맞는 JVM을 설치해야 한다. 출처 https://tcps..
서블릿은 개발자 대신에 HTTP 요청 메시지를 파싱한다. 그리고 그 결과를 HttpServletRequest 객체에 담아서 제공한다. HTTP 요청 메시지를 편리하게 조회할 수 있음. - 임시 저장소 기능. : 해당 HTTP 요청이 시작부터 끝날 때까지 유지되는 임시 저장소 기능. - 세션 관리 기능 : request.getSession(create : true) 으로 세션 가져올 수 있음. 📌 HttpServletRequest, HttpServletResponse를 사용할 때 가장 중요한 점은 이 객체들이 HTTP 요청 메시지, 응답 메시지를 편리하게 사용하도록 도와주는 객체라는 것! 이 기능에 대해 깊이 이해하려면 HTTP 스펙이 제공하는 요청, 응답 메시지 자체를 이해해야 한다. 출처 https:/..
백엔드 개발자가 이 개념을 정리 못하면 트래픽 많을 때 어떻게 해결해야 되는지 어려울 수 있다. 요청 흐름 클라이언트가 요청을 하면 WAS가 응답을 함. TCP/IP 커넥션이 되고 servlet을 호출해준다. 이때 서블릿 객체를 호출하는 애가 바로 쓰레드이다. 쓰레드애플리케이션 코드를 순차적으로 실행하는 것은 쓰레드자바 메인 메서드를 처음 실행하면 main이라는 이름의 쓰레드가 실행쓰레드가 없으면 자바 애플리케이션 실행이 불가능쓰레드는 한번에 하나의 코드 라인만 수행동시 처리가 필요하면 쓰레드를 추가로 생성프로세스는 프로그램을 실행하는 것이고 쓰레드는 그 프로세스 안에서 여러가지 갈래로 나뉠 수 있는 것. 컴구조 쓰레드 공부하고 스프링 MVC 1편 > 1) 웹 애플리케이션의 이해 > 동시 요청 - 멀티 ..