본문 바로가기

WEB개발

(43)
[Spring] ExceptionResolver 스프링에는 HandlerExceptionResolverComposite 이라는 파일에 다음 순서로 ExceptionResolver 들이 등록되어있다. ExceptionHandlerExceptionResolver: 이 예외 해결자는 사용자가 정의한 @ExceptionHandler 메서드를 찾아서 예외를 처리합니다. 따라서 가장 먼저 호출되어 예외가 발생한 경우에 대해 사용자가 정의한 처리 로직을 수행합니다. ResponseStatusExceptionResolver: 이 예외 해결자는 @ResponseStatus 애노테이션이 적용된 예외를 처리합니다. 예외에 해당 애노테이션이 적용되어 있으면 설정된 HTTP 상태 코드와 함께 해당 응답을 반환합니다. 따라서 두 번째로 호출됩니다. DefaultHandlerE..
[WEB기본] Servlet & JSP(EL, JSTL) Servlet : 서블릿이란 클라이언트가 어떠한 요청을 하면 그에 대한 결과를 다시 전송 1. 동작방식 사용자(클라이언트)가 URL을 입력하면 HTTP Request가 Servlet Container로 전송합니다. 요청을 전송받은 Servlet Container는 HttpServletRequest, HttpServletResponse 객체를 생성합니다. web.xml을 기반으로 사용자가 요청한 URL이 어느 서블릿에 대한 요청인지 찾습니다. 해당 서블릿에서 service메소드를 호출한 후 클리아언트의 GET, POST여부에 따라 doGet() 또는 doPost()를 호출합니다. doGet() or doPost() 메소드는 동적 페이지를 생성한 후 HttpServletResponse객체에 응답을 보냅니다...
[JAVA] 메모리 스택, 힙 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드(load)되어야 합니다. 또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요합니다. 따라서 컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공하고 있습니다. 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 4가지가 있습니다. 코드(code) 영역 데이터(data) 영역 스택(stack) 영역 - 지역 변수 메서드, 생성자, 초기화 블록 내에서 선언되고 사용됩니다. 스택 메모리에 저장되며, 메서드나 생성자의 실행이 끝나면 메모리에서 사라집니다. 힙(heap) 영역 - 인스턴스 변수 클래스 내부에서, 메서드 밖에서 선언되고 사용됩니다. 힙 메모리에 저장되며, 객체가 생성될 때 생성되며 객체가 사라질 때까지 유지됩니다..
[WEB기본] html선언 DOCTYPE : DOCTYPE은 문서의 유형을 정의하기 위해 사용하는 선언문(DTD / Document Type Definition)이다. 웹 문서의 시작을 알려주며 태그보다 먼저 선언한다. DOCTYPE은 웹 브라우저에서 처리할 문서가 HTML이며 어떠한 버전으로 사용하였으니 해당 방식대로 해석하라는 의미를 갖는다. 엄격 모드(strict mode) : HTML4 문법을 정확히 따르기 위해서 선언한다. 문법을 엄격히 따지기 때문에 실수가 있는 경우 오류가 발생한다. 호환 모드(transitional mode) : 문법에 일부 실수가 있어도 허용한다. 프레임세트 모드(frameset mode) : 프레임세트를 사용할 경우 선언한다. VIEWPORT : 이는 뷰포트의 너비가 웹 사이트를 보고있는 장치와 ..
[JS, JAVA] 정규식 : 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용되는 언어입니다.  ^문자열의 시작$문자열의 끝.임의의 한 문자*문자가 0번 이상 발생+문자가 1번 이상 발생?문자가 0번 혹은 1번 발생[ ] 문자의 집합 범위를 나타냄[0-9] : 숫자 (0부터 9)[a-z] : 알파벳 (a부터 z)앞에 ^가 나타나면 not을 의미{ } 횟수 또는 범위를 의미( ) 소괄호 안의 문자를 하나의 문자로 인식| or 조건\확장 문자의 시작 \b단어의 경계\B단어가 아닌 것의 경계\A입력의 시작부분\G이전 매치의 끝\Z입력의 끝이지만 종결자가 있는 경우\z입력의 끝\s공백문자\S공백문자가 아닌 나머지 문자\w알파벳이나 숫자\W알파벳이나 숫자를 제외한 문자\d[0-9]와 동일\D숫자를 제외한 모든 문자(?:)캡처(Captu..
[DB] DDL TABLE (CREATE, ALTER, DROP) TABLESPACE : 오라클은 데이터를 관리하는 데이터베이스입니다. 데이터를 어딘가에 저장해놓고 사용하는 시스템이라고 볼 수 있습니다. 데이터 저장 단위 중 가장 상위에 있는 단위를 테이블 스페이스라고 합니다. 논리적 단위는 데이터블록 > 익스텐트 > 세그먼트 > 테이블스..
[Spring] 주석 1(Annotation) @Configuration, @Bean, @EnableAsync, @ASYNC, @ModelAttribute, @RequestBody, @ExceptionHandler, @ResponseStatus, @ControllerAdvice, @Controller, @Service, @Repository, @RequestMapping, , @Cookievalue, @DateTimeFormat @Configuration, @Bean @Configuration은 Spring Framework에서 사용되는 어노테이션 중 하나로, 해당 클래스가 Spring 애플리케이션 컨텍스트를 구성하는 데 사용된다는 것을 나타냅니다. @Configuration이 붙은 클래스는 Spring의 Java 기반 구성 방식 중 하나인 Java..
[JAVA] Thread-Safe, Concurrent Collection class, Double Checked Locking synchronized 서버에 동시에 여러 request다 요청될 경우 data의 안정성과 신뢰성을 보장할 수 없습니다. 따라서 data의 thread-safe 를 하기 위해 자바에서는 synchronized 키워드를 제공해 스레드간 동기화를 시켜 data의 thread-safe를 가능케합니다. Synchronized 키워드는 변수와 함수에 사용해서 동기화 할 수 있습니다. 하지만 Synchronized 키워드를 너무 남발하면 오히려 프로그램 성능저하를 일으킬 수 있습니다. // 1. 메서드에서 사용하는 경우 public synchronized void method(){// 코드} // 2. 객체 변수에 사용하는 경우(block문) private Object obj = new Object(); publi..