-
02. 로그인 처리Spring Web Project/9. 인터셉터 (Interceptor) 2021. 2. 15. 11:05반응형
Note) HttpSession 객체
> 세션 쿠키(session cookie)를 통해 동작함, 서버는 필요한 경우 접속한 브라우저에게 고유한 세션 쿠키를 전달
> 세션 쿠키가 열쇠(key)라면 HttpSession은 열쇠가 필요한 잠금장치가 되어있는 상자와 유사, 이 상자들이 모여있는 공간을 '세션 저장소(Session Repository)'라고 하는데, 너무 많은 세션이 존재하면 서버의 성능에 영향을 미치기 때문에 서버에는 일정 시간 이상 사용되지 않는 상자들을 정리하는 기능 有 (web.xml을 이용하여 HttpSession의 timeout 지정)
> 세션을 이용하는 방식의 핵심은 HttpSession을 이용해서 원하는 객체를 보관할 수 있다는 점
> 세션이 보관된 객체는 JSP에서 EL을 이용해 자동으로 추적하는 방식 사용, 예를 들어 '${name}'은 page > request > session > application 순서로 데이터 검색
1. 테이블 생성
create table tbl_user (
uid varchar(50) NOT NULL,
upw varchar(50) NOT NULL,
uname varchar(100) NOT NULL,
upoint int NOT NULL DEFAULT 0,
primary key(uid)
);
[데이터 추가]
insert into tbl_user(uid, upw, uname) values ('user00', 'user00', 'IRON MAN');
insert into tbl_user(uid, upw, uname) values ('user01', 'user01', 'CAPTAIN');
insert into tbl_user(uid, upw, uname) values ('user02', 'user02', 'HULK');
2. UserVO 클래스
3. LoginDTO 클래스
Note) DTO와 VO의 용도는 데이터의 수집과 전달에 사용할 수 있다는 공통점 존재(양쪽 모두 파라미터나 리턴 타입으로 사용하는 것이 가능). 다만 VO의 경우 보다 데이터베이스와 거리가 가까워 테이블의 구조를 이용해서 작성되는 경우가 많고, DTO의 경우 화면과 가까워 화면에서 전달되는 데이터를 수집하는 용도로 사용하는 경우가 많다.
> Spring MVC를 이용하는 경우 DTO는 검증을 위한 처리가 들어감. 스프링은 Controller에 전달되는 데이터에 대해서 검증하는 기능을 추가할 수 있는데, 이러한 상황에서는 별도의 DTO를 구성해서 사용
4. SQL ~ Controller
5. Interceptor
6. View
반응형'Spring Web Project > 9. 인터셉터 (Interceptor)' 카테고리의 다른 글
03. 게시물 적용 (0) 2021.03.06 01. Spring MVC의 인터셉터(Interceptor) (0) 2021.02.15