로그인 기능 구현#
유저 테이블 생성#
CREATE TABLE TBL_USER ( USID VARCHAR2(50) NOT NULL, UPW VARCHAR2(50) NOT NULL, UNAME VARCHAR2(100) NOT NULL, UPOINT NUMBER DEFAULT 0 NOT NULL, PRIMARY KEY (USID) );UserVO, LoginDTO 처리#
VO와 DTO의 차이점?
DTO는 화면에 이용, VO는 테이블 구조를 이용하는 경우
UserDAO 생성 및 SQL#
- persistence 패키지에 UserDAO 생성
- sql을 담당할 userMapper 생성
- userMapper을 사용해 UserDAO 구현체 (Impl)생성
Interceptor#
Interceptor란?
말 그대로 스프링에서 목적지를 가로채는 것 HandlerInterceptorAdapter 클래스를 상속받아 구현
true를 리턴하면 되돌아가고, false를 리턴하면 다음단계로 이동
/WEB-INFO/Spring/appServlet/servlet-context.xml 에서 인터프리터가 작동할 url 설정
LoginInterceptor#
로그인 페이지로 이동하면 작동
- preHandle에서 session에 저장되있는 로그인 데이터가 있다면 삭제
- 이후 postHandle에서로그인 정보를 확인하고 세션 영역에 로그인 정보 저장 3.만일 세션 영역에 이전 페이지의 정보가 있을 경우, 거기로 이동
AuthAuthInterceptor#
인증이 필요할 때 작동 1.preHandle에서 로그인 정보를 읽으려고 시도, 있으면 리턴 아니면 다음단계로 2. request.getURI(),request,getQueryString()을 이용해 현재 위치 세션에 저장=> LoginInterceptor로 이동