concat, filter, sort, 세션 기반 로그인, 로그아웃, empty, filter로 회원만 접속

두부링·2025년 1월 22일

웹프로그래밍

목록 보기
15/20

javascript 심화

concat("추가하고 싶은 새로운 요소")

[...배열이름,"추가하고 싶은 요소"]

기존의 배열에 아이템을 추가한 새로운 배열을 만들때

filter

원하는 데이터만 뽑아서 배열을 생성할 때

sort

  • two - one 는 큰 값이 먼저 오도록 정렬

로그인 성공, 실패 여부

login-form

  • 인덱스에서 로그인 화면으로 이동하면 url 파라미터는 null값

url 파라미터에 로그인 후에 이동할 페이지 정보를 저장

sessionDto

  • session은 request의 자식이기에 super()로 부모의 클래스(request)의 생성자가 필요하다.

login.jsp(세션 기반 로그인)

  1. 폼에 전송되는 아이디로 DB에서 관련 정보 뽑기

  2. 아이디가 존재 & 비밀번호 일치시 원하는 데이터만을 담는 sessionDto를 생성 & 그곳에 데이터 담기

  3. setAttribute로 담기 : 추후에 세션 그릇에서 데이터 뽑을 수 있음(= 브라우저 가동 시 데이터 뽑을 수 있음 )

  4. 성공 여부에 따라서 응답 내용이 달라지니 state 설정이 필요함

    결과에 따라 응답의 갈래를 나눌려면 state를 설정해야 한다.

  5. 로그인 후에 이동할 페이지의 정보를 담기

    로그인 성공 후에 돌아갈 페이지의 정보를 담을 때

  6. 만약에 실패한다면 이전에 접속한 페이지의 정보(url)을 달고 로그인 form으로 다시 접속

로그인 폼 페이지와 로그인 기능 실행 페이지에서 url 파라미터로 계속 이전의 접속 페이지를 가져와서 이전의 페이지 주소를 계속 기억한다.

로그아웃, 회원가입 창 기능 띄우기

JSTL로 로그인 안된 상태에서만 화면에 출력(empty)

로그아웃(session.invalidate)

  • 섹션 초기화

회원만 들어갈 수 있는 창 생성(filter)

사용할 도구, 데이터 가져오기

HttpSession의 getAttribute()는 항상 object로 value를 가져옴

로그인 하지 않았다면...

리다일렉트 요청

사용자의 이전 페이지 주소와 정보를 달아서 날아갈 때

===> 로그인을 하지 않았다면 리다일렉트 요청으로 정보를 잊지않고 로그인 폼으로 접속한다.

위 요청이 모두 통과 시

메소드 보완(getContextPath(),chain.doFilter )

  • getContextPath() : 현재 애플리케이션의 배포 경로를 반환
  • chain.doFilter : 개입을 하지 않고 최종 목적지로 간다.
    요청 흐름을 다음 필터 또는 최종 목적지(서블릿, JSP 등)로 전달

필터는 검문소 같이 검사하고 통과하면 목적지로 접속의 흐름을 보낼 때 사용함.
모든 접속이 아닌 조건으 만족하는 접속만 보냄

보안

  1. 논리 순서대로 주석을 작성하여 코딩을 진행
profile
하이하잉

0개의 댓글