2022/03 47

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