분류 전체보기 (55) 썸네일형 리스트형 Filter와 Interceptor ( 2. Interceptor ) - 로그인 관련 1. 사용자는 로그인을 한다. 2. 시스템은 로그인한 사용자 정보를 세션에 저장한다. 3. 사용자는 기능을 요청한다. 4. 시스템은 사용자가 요청한 기능을 수행하기 전에 요청한 사용자의 세션을 체크한다. 5. 시스템은 올바른 세션일 경우 기능 승인, 세션이 없을 경우 사용자를 로그인 페이지로 이동시킨다. 이런 상황에서 사용할 수 있도록, 컨트롤러로 오는 모든(혹은 일부 조건의) 요청들을 컨트롤러가 처리하기 전에 가로채(intercept해) 로직을 끼워 넣는 기능이 존재한다. 이렇게만 생각하면 필터와 인터셉터는 차이가 없는 것처럼 보이지만 큰 차이가 존재한다. 1. 필터와 인터셉터의 차이 1. Filter는 Dispatcher servlet에서 servlet 접근 여부를 결정하고, Interceptor는 .. Filter와 Interceptor ( 1. Filter ) - 로그인 관련 로그인을 하지 않은 사용자는 로그인 유저의 개인 정보가 보이지 않게 해야하고 관리자 화면에 들어갈 수 없게 해야한다. filter와 interceptor를 적용하지 않을 경우 단순 URL을 직접 호출하면 관리자 화면에 들어가게된다. 만약 단순히 Controller에서 해당 로그인 여부 로직을 넣게 되면 모두 적용을 해야하기 때문에 너무 수정하기 힘들다. 그래서 공통으로 로그인 여부를 확인 할 수 있는 방법이 필요한데 이처럼 비지니스 기능과 구분하기 위한 공통 기능을 공통 관심 사항(cross-cutting concern)이라고 표현하며, 핵심 로직을 핵심 관심 사항(core concern)이라고 표현한다. 이러한 공통 관심사는 스프링의 AOP를 통해서 해결할 수 있다. AOP에 대한 설명은 세로비님의 스.. 로그인관련 쿠키 및 세션 정리 1. 간단한 쿠키 정리 1-1. 쿠키란 무엇인가? 쿠키(cookie)란 하이퍼 텍스트의 기록서(HTTP)의 일종으로서 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 그 사이트가 사용하고 있는 서버를 통해 인터넷 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일을 일컫는다. HTTP 쿠키, 웹 쿠키, 브라우저 쿠키라고도 한다. 이 기록 파일에 담긴 정보는 인터넷 사용자가 같은 웹사이트를 방문할 때마다 읽히고 수시로 새로운 정보로 바뀐다. 위의 내용대로 쿠키는 웹브라우저가 보관하는 데이터로서 웹 서버에 요청을 보낼 때 쿠키를 함께 전송하고 웹 서버는 브라우저가 전송한 쿠키를 이용해서 데이터를 읽을 수 있다. 1-2. 쿠키 종류 - Session Cookie : 보통 만료시간(Expire date) 설정하고 메.. StringBuilder 란 자바에서 String 과는 별도로 StringBuilder를 사용한다. 왜 사용되는지 궁금증이 계속 있었는데 확인 해 보니 String 자체는 불변의 값이다. 그러므로 String에 변화를 줄 경우 concat 혹은 + 를 이용해서 값을 변경하게 되는데 이러한 처리 방법은 속도가 느려서 비효율 적이므로 StringBuilder를 사용하게 된다. sb.append(값) - StringBuffer, StringBuilder 뒤에 값을 붙인다 sb.insert(인덱스, 값) - 특정 인덱스부터 값을 삽입한다 sb.delete(인덱스, 인덱스) - 특정 인덱스부터 인덱스까지 값을 삭제한다 sb.indexOf(값) - 값이 어느 인덱스에 들어있는지 확인한다 sb.substring(인덱스, 인덱스) - 인덱스부터 .. 타임리프 - 기본1 타임리프란 타임리프의 HTML을 유지하는 특징이 있다. JSP와 같은 뷰 템플릿들은 JSP 소스코드와 HTML이 여기저기 섞여 HTML을 확인하기 어렵다. 서버를 통해 JSP가 렌더링 된 후에야 HTML 결과를 확인할 수 있다. 하지만 타임리프는 HTML 마크업의 결과를 파일만 열어도 바로 확인이 가능하기에 내추럴 템플릿이라고 한다. 1. 텍스트 - text 타임리프는 HTML 콘텐츠 내에 데이터를 치환할 때는 다음과 같이 th:text 를 사용한다. html 컨텐츠 영역 안에 직접 데이터를 치환할 때는 다음과 같이 [[ ]] 응 사용한다. model.addAttribute("data", "타임리프"); model 에 data를 담아서 controller에서 전달하고 빈값 HTML 컨텐츠 영역안에서 직접.. 이전 1 ··· 3 4 5 6 다음