클라이언트(client): 서비스를 요청하는 애플리케이션(or 컴퓨터)서버(server): 서비스를 제공하는 애플리케이션(or 컴퓨터)서버에도 종료가 있다. 어떤 서비스를 제공하는지에 따라서 달라진다. 서버에 따라서 포트가 달라질수있으므로 포트번호도 같이 적어줘야한다.
서로 간의 통신을 위한 약속, 규칙주고 받을 데이터에 대한 형식을 정의한것데이터를 어떻게 주고받을지 약속하지 않으면 해석할 수 없다. 따라서 약속이 필요하다.실생활에서 편지와 편지봉투라고 생각하면 된다. 편지에 받는사람,주소가 있어야 보낼 수 있는거처럼 데이터간에도 이
바이너리 파일 : 문자와 숫자가 저장되어 있는 파일 텍스트 파일 : 문자만 있는 저장되어 있는 파일 메모장에 잘 켜지면 텍스트 파일이고 아니면 바이너리 파일이라고 생각하자 바이너리 파일은 쓰기 읽기 모두 문자는 문자대로 숫자는 숫자대로 해준다. 그러나 텍스트 파일은
매개변수 이름 얻어어기 refelction API 이용 -parameters 옵션넣고 컴파일 ->jdk1.8부터 가능 그전에는 classfile에서 얻어옴 classfile에서 얻어오기 main이 먼저 올라가고 서블릿과 spring 차이와 관계를 아주 잘 정리
서블릿 서블릿과 spring 차이와 관계를 아주 잘 정리한 글이 있다. > https://codevang.tistory.com/191 서블릿이란 Dynamic Web Page를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술입니다. 스프링을 하기전 서블
@RequestParam 요청의 파라미터를 연결할 매개변수에 붙이는 애너테이션이다. 위 둘 코드는 같다. 앞에 year은 파라미터 이름이고 뒤의 required는 필수여부이다. 저렇게 생략이 가능하다는 것을 알아두자. > https://localhost/ch2/req
html -> 정적 리소스정적 리소스(Static Resource)는 클라이언트로 부터 요청이 들어왔을 때 요청에 대한 리소스가 이미 만들어져 있는 걸 얘기합니다.그리고 여기서 말하는 리소스는 html, css, js, 이미지 파일 등을 얘기 합니다.출처: https&
@RequestMapping 대신 @GetMapping,@PostMapping 사용이 가능하다. 그왜냐하면 @RequestMapping은 GET과 POST를 할려면 귀찮다.method=RequestMethod.GET이런식으로 쳐 줘야하기 때문이다. 그래서 이를 편리하게
redirect에 의해 자동으로 요청되는 것은 GET방식 redirect은 300번대 redirect는 헤더만 있고 바디가 없다. location에 어디로 리다이렉트해야하는지 알려준다.브라우저가 자동으로 다시 리다이렉트한 위치로 요청한다.요청 (수동) GETorPOST
이름과 값의 쌍으로 구성된 (작은)정보. 아스키 문자만 가능하다. 도메인, 유효기간도 있다. 한글은 URL인코딩 해줘야한다.서버에서 생성 후 전송, 브라우저에 저장된다. 유효기간 이우 자동으로 삭제된다.서버에 요청시 domain, path가 일치하는 경우(하위경로 포함
세션이란? 서로 관련된 요청들을 하나로 묶은 것- 쿠키를 이용 서로 요청들간의 독립적이고 관계가 없다. browser마다 개별 저장소(session객체)를 서버에서 제공한다. 세션의 생성과정 브라우저에서 요청을 하면 무조건 세션이 하나 만들어진다.
@ExceptoinHandler와 @ControllerAdvice 예외 처리를 위한 메서드를 작성하고 @ExceptoinHandler를 붙인다.
1. DispatcherServlet이란? 공통부분은 공통처리해서 따로 빼는게 역할이다. 즉 앞에서 전처리를 해준다고 생각하면 된다. 그외에도 요청을 받으면 DispatcherServlet이 컨트롤러에 뷰를 받고 이를 해당뷰를 찾고 이를 응답하는 것도 해준다. Disp
데이터 받은 값들을 객체에 바인딩 해준다.1\. 타입변화 2\. 데이터 검증그리고 BingdingResult를 컨트롤러에 전달바인딩 할 객체 바로 뒤에 와야한다. 이렇게 User뒤에 와야한다.방법은 2개 있다1.@InitBinder 붙은 애너테이션을 매서드 안에 넣어준
Validator란?객체를 검증하기 위한 인터페이스. 객체 검증기구현에 사용된다.글로벌 Validator하나의 Validator로 여러 객체를 검증할때, 글로벌 Validator로 등록글로벌 Validator와 로컬 Validator를 동시에 적용하는 방법\->addV
Spring DI - 1
객체 찾기 By Name - key로 찾기 By Type - Value로 찾기 이름으로 찾기 map.get(id) 타입으로 찾기 obj instanceof 이용 객체 자동 연결 - @Autowired 이 있다고 하면 그동안은 car.engine = engine;
짤막 지식 > 1) 대부분 싱글톤이지만 때로는 매번 다른 객체를 생성해야할때 있는지 그럴때 xml에 scope ="prototype"를 넣으면 된다. > 2) @Autowired의 특성 - byType으로 -> 타입으로 먼저 검색, 여러개인 경우면 이름으로 검색한다
(제어의 역전)IoC - 제어의 흐름을 전통적인 방식과 다르게 뒤바꾸는 것Inversion of Control 여기서 control은 if, for문 이다.-> 실행흐름이 바뀌는 것전통적인 방식사용자 코드가 Framework 코드를 호출Car car = new Car
회원 가입을 담당하는 RegistorController이다.사용자이력을 다뤄야할 일이 생길경우(UserHistoryDao)그러면 RegistorController에 주입을 해야한다. 즉 RegistorController가 바뀌어야한다.이는 데이터베이스와는 상관이 없다.
@Transactional의 속성 |속성| 설명| |-----|----| |propagation|Tx의 경계를 설정하는 방법을 지정| |isolation|Tx의 isolation level을 지정.| |readOnly|Tx가 데이터를 읽기만 하는 경우, true로 지정
SQL Mapping Framework - Easy & Simple자바코드로부터 SQL문을 분리해서 관리매개변수 설정과 쿼리 결과를 읽어오는 코드를 제거작성할 코드가 줄어서 생산성 향상 & 유지 보수 편리쿼리란?데이터베이스 등에서 원하는 정보를 검색하기 위해 요청하는
출처: 남궁성 스프링의 정석
INSERT INTO user_info values('asdf1','1234','이규훈' ,'saaa','1980-12-31','fb',now()); INSERT INTO user_info values('qwery1','1234','이규훈' ,'saaa','1980-1
만들 게시물 예제는 다음과 같다. 뒤에 pageSize를 안 넣어주면 다시 이 목록으로 돌아갈 수 있다. 없으면 매번 맨 첫 페이지로 넘어가게 된다. board.jsp는 게시물 내용을 보여주는 jsp이다. LIMIT[offset,] row_count 테이블에 들어
@RequiredArgsConstructor란?Lombok 라이브러리에서 제공하는 어노테이션 중 하나로, 필드에 초기값이 지정되지 않은 final 또는 @NonNull이 지정된 모든 필드에 대해 생성자를 자동으로 생성해주는 역할을 합니다. 이를 사용하면 반복적인 생성자
위의 그림처럼 사용하면 안됩니다.@Autowired는 스프링 프레임워크에서 제공하는 어노테이션 중 하나로, 의존성 주입(Dependency Injection)을 자동으로 처리해주는 역할을 합니다. 이 어노테이션은 주로 필드, 생성자, 메소드에 사용되며, 사용된 위치에
의존성 주입(Dependency Injection, DI)은 객체지향 프로그래밍에서 의존성 문제를 해결하는 디자인 패턴 중 하나입니다. DI는 클래스 내부에서 새로운 객체를 생성하지 않고, 외부에서 생성된 객체를 주입받아 사용하는 방식을 의미합니다.객체지향 프로그래밍에
DAO Data Access Object의 약자로 데이터 접근 객체를 의미한다. 소프트 웨어 개발에서 데이터베이스나 다른 데이터 저장소에 접근하여 데이터를 조작하고 관리하는 데 사용되는 객체이다. DAO는 비즈니스 계층과 데이터 저장 계층사이의 인터페이스 역활을 한다
Builder 패턴은 객체 생성과 표현을 분리하여 동일한 생성 절차에서 서로 다른 표현 결과를 생성할 수 있는 디자인 패턴입니다. 주로 복잡한 객체를 생성할 때 사용됩니다. 가독성: 객체 생성 시에 많은 매개변수가 필요한 경우, 각 매개변수가 어떤 역할을 하는지 파악하