목록Java Web (38)
코린이의 기술 블로그
JPQL (Java Persistence Query Language) ? - JPA에서 사용하는 객체지향 쿼리 언어 -디비 SQL 쿼리언어와 유사하지만 테이블과 컬럼 이름 대신 매핑한 엔티티 이름과 속성 이름 사용 (1) 객체지향 쿼리 -디비 테이블 대상이 아닌 엔티티 객체 대상으로 여러 검색 조건을 사용하여 엔티티 객체 조회 쿼리 ① JPQL : 엔티티 객체 조회하는 객체지향 쿼리 ② Criteria : JPQL 을 편리하데 작성을 도와주는 빌더 클래스 제공 ③ Querydsl : 비표준 오픈 소스 프레임 워크 ④ 네이티브 SQL : JPA 에서 SQL 을 직접 사용 (2) JPQL (Java Persistence Query Language) ①기본 구조 -SELECT 별칭 FROM 엔티티 이름 AS ..
REST (Representational State Transfer) : WWW 과 같은 분산 하이퍼미디어 시스템을 위한 소프트 웨어 아키텍처의 한 형식 (1) RESTful 제약 조건 : REST 제약 조건들을 제대로 지키면서 REST 아키텍처를 만드는 것을 RESTful! - 클라이언트-서버 구조 : 일관적인 인터페이스 분리 - 무상태성 : 서버 클라이언트의 상태 정보를 저장하지 않는다 - 캐시 기능 : 클라이언트의 응답 캐시, 캐싱은 클라이언트-서버 간 상호작용을 부분 또는 완전 제거하여 성능을 향상 - 계층화 시스템 : 확장성 있는 시스템 구성에 용이 - 코드 온 디멘드 (주문형 코드) : 서버가 자바 애플릿이나 자바스크립트 실행 코드의 제공을 통해 클라이언트가 실행 로직 전송, 기원 확장 - 인..
REST API ? 데이터와 기능의 집합을 제공하여 컴퓨터 프로그램간 상호작용 촉진, 정보 교환 가능 하도록 하는 것 REST API 설계 : 서버 한 대가 여러 클라이언트에 대응하려면 REST API 필요 1. REST API 구성 - 자원(resource) : URI - 행위(verb) : HTTP 메서드 - 표현(representations) : 리소스에 대한 표현 (HTTP Message Body) 2. URI 설계 : 리소스는 서비스 제공하는 시스템 자원 3. 명사 사용 : URI는 명사 사용 4. 동사는 HTTP 메서드 표현 5. 복수형 사용 (-s 사용) 6. 슬래시(/)로 계층 표현 7. URI 마지막에 슬래시 넣지 않는다 8. URI는 소문자 9. 가독성을 높이기 위해 -(하이픈) 사용,..
REST (Representational State Transfer) : 표현의 상태 변화 리소스를 자원(db나 vo의 값)으로 보고 주고 받는다는 개념 자원 : 해당 소프트웨어가 관리하는 모든 것 (예 : 문서, 그림,데이터등) 자원의 표현 : 그 자원을 표현하기 위한 이름, 자원의 표현으로 정의 -상태(정보) 전달 : 데이터가 요청되어지는 시점에서 자원의 상태(정보) 전달 소프트웨어 개발의 아키텍처 스타일(설계자) 한 형식 -> 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용 -HTTP URI(Uniform Resource Identifier) 를 통해 자원 명시, HTTP Method (POST, GET, PUT, DELETE) 를 통해 해당 자원에 대한 CRUD Operation 을 적용 -자원..
재귀 함수 ? 함수가 직접적 또는 간접적으로 자신을 호출하는 프로세스를 재귀함수라고 합니다. 자기 자신을 호출하는 함수 / 끝을 맺어주지 않으면 무한 루프에 빠질수 있다. 그러므로 종료 Case가 존재해야 합니다. 밑의 설명을 보면 반복문의 형식을 잘 기억해서 함수를 봐야하는 것으로 보입니다. 반복문 문제를 더 풀고 제귀 함수 정리의 정리가 더 효율적으로 보입니다:) 재귀 Vs. 반복 모든 재귀 호출은 반복문으로 변경 가능하며 그 역으로도 성립한다. 모든 반복문은 재귀 호출로도 변경 가능하다. 재귀 함수 장점 : 복잡한 알고리즘을 사람이 보기에 단순하고 알기 쉽게 표현 가능 단점 : 함수 호출에 따른 오버헤드가 있음 재귀 알고리즘 설계 뒤에서부터 빠져나오면서, 혹은 더 깊이 들어가고 차례로 빠져나오면서 ..
1. 입력값 검증 -스프링MVC는 Bean Validation 기능을 이용해 요청 파라미터 값이 입력값 검증 (1) 환경설정 -의존 관계설정 (2) 입력값 검증 활성화 -@Validated 애너테이션을 지정하여 입력 검증 활성화 2.입력값 검증 결과 (1) 에러 정보 확인을 위한 BindingResult (2) 입력값 검증 결과 확인 -입력값 검증 대상인 도메인 클래스의 해당 컨트롤러 클래스에 BindingResult 정의 3. 입력값 검증 규칙 - Bean Validation 표준 제약 애너테이션 - 서드파티에서 구현 제약 애너테이션 - 직접 구현한 제약 애너테이션 (1)입력 값 검증 규칙 -@NotNull : 빈값 -@NotBlank : 틀리면 앞뒤의 여백을 없애주는 -@Size : 글자수나 컬렉션의..
7. 여러개 라디오 버튼 - 스프링 폼 태그인 여러개의 사용 (1) 입력 화면 구성 -모델에 map 타입의 데이터 생성, 추가 화면 전달 -List 타입의 데이터를 생성하여 추가한 후 화면 전달 8. 라디오 버튼 - 스프링 폼 태그인 체크박스의 사용 (1) 입력 화면 구성 -모델에 기본 생성자로 생성한 폼 객체를 추가한 후 화면 전달 -객체를 생성하여 값을 설정한 후 전달 9. 셀렉트 박스 요소 - 스프링 폼 태그인 여러개의 사용 (1) 입력 화면 구성 -모델에 map 타입의 데이터 생성, 추가 화면 전달 -List 타입의 데이터를 생성하여 추가한 후 화면 전달 -CodeLabelValue 타입의 요소를 가지는 List 타입의 데이터를 생성하여 추가 후 화면 전달 10. 숨겨진 필드 요소 - 스프링 폼 ..
1. 스프링 폼 요소 - 스프링 폼 태그인 사용 (1) 입력 화면 구성 -모델에 폼 객체를 추가하지 않으면 에러가 발생한다 -폼 객체 속성명과 스프링 폼 태그의 modelAttribute 속성값 일치 -폼 객체 속성명과 스프링 폼 태그의 modelAttribute 속성값 일치 않으면 에러 -컨트롤러 메서드의 매개변수로 자바빈즈 객체 전달, 다시 화면 전달 -폼 객체의 클래스 명의 첫글자를 소문자로 변환 2. 텍스트 필드 요소 - 스프링 폼 태그인 사용 (1) 입력 화면 구성 -모델에 기본 생성한 폼 객체를 추가 한 후 화면 전달 -폼 객체 생성, 값 설정 한 후 전달 3. 패스워드 필드요소 - 스프링 폼 태그인 사용 (1) 입력 화면 구성 -모델에 기본 생성자로 생성한 폼 객체를 추가한 후 화면에 전달 ..