ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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 클래스

    UserVO.java

    3. LoginDTO 클래스

    LoginDTO.java

    Note) DTO와 VO의 용도는 데이터의 수집과 전달에 사용할 수 있다는 공통점 존재(양쪽 모두 파라미터나 리턴 타입으로 사용하는 것이 가능). 다만 VO의 경우 보다 데이터베이스와 거리가 가까워 테이블의 구조를 이용해서 작성되는 경우가 많고, DTO의 경우 화면과 가까워 화면에서 전달되는 데이터를 수집하는 용도로 사용하는 경우가 많다.

      > Spring MVC를 이용하는 경우 DTO는 검증을 위한 처리가 들어감. 스프링은 Controller에 전달되는 데이터에 대해서 검증하는 기능을 추가할 수 있는데, 이러한 상황에서는 별도의 DTO를 구성해서 사용

     

    4. SQL ~ Controller

    UserSQL.xml
    UserDAO.java
    UserDAOImpl.java

     

    UserService.java
    UserServiceImpl.java
    UserController.java

    5. Interceptor

    LoginInterceptor.java
    servlet-context.xml

    6. View

    login.jsp
    loginPost.jsp

    반응형

    댓글

Designed by Tistory.