전체 글 106

Spring Integration

Spring Integration - 라이트한 메시징 기반 서비스 제공 및 선언적 어뎁터를 사용해 외부 시스템과의 통합 - Spring Integration Message: 메타데이터와 함께 결합되어 있는 일련의 자바 오브젝트를 위한 포괄적인 레퍼를 말함 - Enterprise Integration Patterns에 나오는 패턴들을 스프링 프레임워크에 구현 - 엔터프라이즈 환경에서 여러 서비스, 애플리케이션 간 발생할 수 있는 작업 플로우를 파이프라인 형식으로 구성할 수 있으며 주어진 시나리오를 커버할 수 있는 적절한 컴포넌트를 적절한 단계에 사용함으로써 재사용성과 테스트성을 높인 프레임워크 Message - header, payload로 구성되어 있는, 내용을 포함하고 있는 generic wrapper..

Programing/Spring 2022.03.25

Json / Jackson / JsonNode / ObjectNode

Json / Jackson / JsonNode / ObjectNode Arraynode : [ ] 표시로 시작되는 배열 JsonNode : { } 표시로 시작하는 Json 값 - JsonNode는 값을 불러올 수는 있지만 넣을 수는 없기 때문에 값을 넣기 위해서는 ObjectNode를 사용 - JsonNode는 값을 읽을 수만 있고 ObjectNode는 값을 읽고 쓸 수 있다. JSON - 개방형 표준 포맷, XML(AJAX 등) 사용 - Key-Value 사용 JACKSON - Jackson은 JSON 데이터 구조를 처리해주는 라이브러리 입니다. - ObjectMapper API를 사용, GSON or SimpeJSON과 같이 객체에 Data Setting - Spring 3.0 이후로부터, Jacsk..

Programing/Spring 2022.03.24

Instanceof ( 연산자 )

Instanceof ( 연산자 ) - 참조변수가 참조하고 있는 인스턴스의 실제 타입을 알아보기 위해 사용 - 주로 조건문에 사용, instanceof의 왼쪽에는 참조변수를 오른쪽에는 타입(클래스명)이 피연산자로 위치 - boolean값인 true, false 중의 하나를 반환 - ( 자식 instanceof 부모 ) : true 반환 ( true → 형변환 가능 ) Parent p = new Parent(); System.out.println(p instanceof Object); // true System.out.println(p instanceof Parent); // true System.out.println(p instanceof Child); // false Parent c = new Child..

Programing/Java 2022.03.24

Jaskson

Jaskson Jaskson 1. Json을 Java Object로 변환하거나 Java Object를 Json으로 편하게 변환시킬 수 있게 해주는 Java 라이브러리 2. JsonNode, ObjectNode, ArrayNode는 Jackson 라이브러리에서 제공하는 객체 ObjectMapper om = new ObjectMapper(); ObjectNode objectNode = om.createObjectNode(); ArrayNode arrayNode = om.createArrayNode(); ObjectMapper: JSON을 읽기, 쓰기, 변환 기능을 제공하는 객체 createObjectNode(): 빈 ObjectNode 생성 createArrayNode(): 빈 ArrayNode 생성 Jso..

Programing/Java 2022.03.23

EL ( Expression Language )

EL ( Expression Language ) JSP가 지원해주는 라이브러리 JSP는 자바문법과 HTML문법을 엄격하게 분리 자바문법은 스크립트릿안에서만 사용 가능 EL은 HTML문법에 종속. 스크립트릿과 관계없이 사용. 스크립트릿과 분리되기 때문에, 스크립트릿에서 선언된 자바 코드의 값을 EL을 통해 바로 가져올 수 없음 EL 문법을 통해 접근 가능한 위치 : page, request, session, context, initContext(web.xml) 변수 선언 변수 선언시 순서에 맞게 출력되므로 중요. 순서 : page->request->session->context * Session 영역의 데이터만 사용시 sessionScope 사용 - ex) ${sessionScope.Name} (참조) h..

Programing/JSP 2022.03.23

XSS / CSRF

XSS / CSRF XSS 1) Session ID를 얻어 정상 사용자인 척하면서 API를 호출해 데이터를 빼내거나 2) 사용자 브라우저에 악성 스크립트가 실행되면서 사용자 PC를 통제하거나 3) 사용자가 악성 스크립트가 있는 URL을 클릭하도록 유도해서, 악성코드 또는 프로그램이 다운로드 되도록 한다. 대응 - 입력 데이터의 길이 제한하기 - 지정된 문자 또는 형식으로 입력되었는지 확인 - 정해진 규칙을 벗어난 입력 값들은 무효화 시키기 or - MS 개발한 AntiXSS 라이브러리 - OWASP 오픈소스 라이브러리 - 네이버 Lucy-Xss-Servlet-Filter 라이브러리 CSRF 1) 사이트 간 요청 위조로 특정 웹사이트가 사용자의 웹 브라우저를 신용해서 발생하는 공격 2) XSS 공격이 주로..

HttpServlet

HttpServlet HttpServletRequest - http프로토콜의 request정보를 서블릿에게 전달하기 위해 사용 - 헤더정보, 파라미터, 쿠키, URI, URL 등의 정보를 읽어 들이는 메소드 포함 - Body의 Stream을 읽어 들이는 메소드 포함 HttpServletResponse - 요청을 보낸 클라이언트에게 응답을 보내기 위해 WAS에서 생성되어 서블릿에게 전달됨 - 서블릿은 이 객체를 이용하여 content type, 응답코드, 응답 메시지등을 전송 (참조) https://velog.io/@oliviarla/HttpServletRequest-HttpServletResponse-%EA%B0%9D%EC%B2%B4%EB%9E%80

Programing/JSP 2022.03.21

RequestContextHolder

RequestContextHolder RequestContextHolder - Spring 컨텍스트에서 HttpServletRequest 에 직접 접근할 수 있도록 도와주는 역할 - Spring 2.x 부터 제공되던 기능 - RequestContextHolder 는 Spring에서 전역으로 Request에 대한 정보를 가져오고자 할 때 사용하는 유틸성 클래스 - 클래스가 초기화되는건 Servlet 이 생성될 때 예시) HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder .currentRequestAttributes()).getRequest() HttpSession session = ((ServletRequestAttr..

Programing/Spring 2022.03.21