본문 바로가기

전체 글

(106)
[WEB기본] forward vs redirect forward vs redirect 얼핏 보면 forward의 기능이 redirect와 비슷해보인다. 하지만 이 둘은 분명한 차이점이 있다. 1. 리다이렉트는 url 주소가 달라지고, 포워드는 url 주소가 달라지지 않는다. 리다이렉트는 클라이언트가 서버에게 요청을 보내면 서버는 어떠한 일을 처리하고 클라이언트에게 새롭게 요청할 곳을 알려준다. 그래서 리다이렉트의 결과는 실제 실행한 뒤에 url 주소가 달라진다. 반면, 포워드는 클라이언트가 요청을 보냈을 때 서버 쪽에서 혼자 처리하는 것이 아니라 또 다른 back에게 일을 넘기는 것이다. 포워드의 경우 클라이언트는 서버에서 서블릿이 혼자 일을 처리했는지, 다른 서블릿에게 일을 위임했는지 알 필요가 없다. 그래서 포워드가 실행되면 url주소는 바뀌지 않는..
[Spring] ExceptionResolver 스프링에는 HandlerExceptionResolverComposite 이라는 파일에 다음 순서로 ExceptionResolver 들이 등록되어있다. ExceptionHandlerExceptionResolver: 이 예외 해결자는 사용자가 정의한 @ExceptionHandler 메서드를 찾아서 예외를 처리합니다. 따라서 가장 먼저 호출되어 예외가 발생한 경우에 대해 사용자가 정의한 처리 로직을 수행합니다. ResponseStatusExceptionResolver: 이 예외 해결자는 @ResponseStatus 애노테이션이 적용된 예외를 처리합니다. 예외에 해당 애노테이션이 적용되어 있으면 설정된 HTTP 상태 코드와 함께 해당 응답을 반환합니다. 따라서 두 번째로 호출됩니다. DefaultHandlerE..
[PUB] position, display, line-height, letter-spacing 1. position 값 의미 static 기준 없음 (배치 불가능 / 기본값) relative 요소 자기 자신을 기준으로 배치 > 요소 자기 자신의 원래 위치(static일 때의 위치)를 기준으로 배치한다. absolute 부모(조상) 요소를 기준으로 배치 가장 가까운 위치에 있는 조상 요소를 기준으로 배치한다. 조상 요소 위치를 기준으로 위쪽(top), 아래쪽(bottom), 왼쪽(left), 오른쪽(right)에서 얼마만큼 떨어질 지 결정한다. 조상 중 Position을 가진 요소가 없다면 초기 컨테이닝 블록(요소)를 기준으로 삼는다. (static을 제외한 값) 문서 상 원래 위치를 잃어버린다. (아래에 있는 div가 해당 자리를 차지한다) fixed 뷰포트를 기준으로 삼고 싶은 경우? absol..
[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) 영역 - 인스턴스 변수 클래스 내부에서, 메서드 밖에서 선언되고 사용됩니다. 힙 메모리에 저장되며, 객체가 생성될 때 생성되며 객체가 사라질 때까지 유지됩니다..
[PUB] position : 기본 값은 static이며 top, left, bottom, right 속성값은 무시됩니다. 1. absolute : 부모 엘리먼트애 구애받지 않고 엘리먼트를 자유롭게 배치 부모 엘리먼트가 aboulute, fixed, relative일 경우 부모기준 위치선정 2. fixed : position 속성을 fixed로 지정하면 이렇게 요소를 항상 고정된(fixed) 위치에 배치할 수 있습니다. 3. relative : position 속성을 relative로 설정하게 되면, 요소를 원래 위치에서 벗어나게 배치할 수 있게 됩니다. 요소를 원래 위치를 기준으로 상대적(relative)으로 배치해준다고 생각하시면 이해가 쉬울 것 같은데요. 요소의 위치 지정은 top, bottom, left, right 속성을..
[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..