Gyuseok
Dreaming_developer
Gyuseok
  • 분류 전체보기 (39)
    • Note (0)
    • TIL (8)
    • 일상 (1)
    • git & git hub (1)
    • Algorithm (14)
    • JAVA (5)
    • Spring & SpringBoot (10)
    • 기업연계 프로젝트 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 관리자
  • 티스토리
  • 글작성

공지사항

인기 글

태그

  • 개발자취업부트캠프
  • Builder
  • java
  • 국비지원교육
  • lombok
  • 메가바이트스쿨
  • MegabyteSchool
  • pattern
  • 패스트캠퍼스
  • 내일배움카드

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Gyuseok

Dreaming_developer

Spring & SpringBoot

SpringBoot 이전 페이지 URL가져오기

2022. 12. 9. 20:26

해당 게시물은 올바른 방법이 아닌 개인적인 방법임을 미리 고지합니다.

 

개발하던 웹에서 비로그인 상태로는 접근할수 없는 page의 경우 로그인page로 이동하도록 해왔는데

항상 이전페이지의 정보를 가져올수있는 방법을 몰라 로그인 후 index로 돌려보내곤 했다.

구글링 하던중 request.getHeader("Referer") 로 이전 페이지의 정보를 가져올수 있지만 다른 글들은 아직 내가 모르는 부분을 많이 다루어 활용하기 어려운 부분이 있었다.

 

내가 아는 부분에서 일단 활용해 보고싶어 system.out을 해봤다.

String referer = request.getHeader("Referer").toString();
system.out.plintln(referer)

  http://localhost:8080/goPay

와 같은 형식으로 시스템에 찍히길래 이 값에서 마지막 / 뒤 값을 가져와서 session에 넣기로 했다.

이때 signup index login 세가지 url은 모두 이전페이지의 역할로써는 맞지 않기 때문에 다음과 같이 코드를 짰다

if(!referrer.contains("goLogin")
                &&!referrer.contains("goSignup")){
            referrer = referrer.split("/")[referrer.split("/").length-1];
            if (!referrer.contains("localhost")) {
                session.setAttribute("SESSION_PRE_URL", referrer);
            }
        }

 index의 경우 split 했을때 localhost:8080이 나오길래 contains를 통해 막아두었다.

 

로그인 성공 후에는 SESSION_PRE_URL값이 있는경우 해당 값으로 redirecrt시키고,

값이 비어있는경우 index로 보내는 조치를 해봤다.

String url="index";
        if(session.getAttribute("SESSION_PRE_URL")!=null) {
            url = session.getAttribute("SESSION_PRE_URL").toString();
            url = "redirect:/" + url;
            session.setAttribute("SESSION_PRE_URL",null);
        }

위 두 로직은 상당히 허점이 많다.

일시적으로 내가 공부한 얕은 지식 선에선 최선의 방법이였고 추후에 이전 페이지로 돌아가는 방법에 대해 스프링을 깊이 있게 공부한 후 꼭 다시 다루고싶다.

'Spring & SpringBoot' 카테고리의 다른 글

MockMVC  (0) 2023.01.13
SpringBoot JPA 사용하기  (0) 2022.12.30
SpringBoot Swagger UI사용하기  (0) 2022.12.19
Spring AOP  (0) 2022.12.16
Spring Boot에서 MariaDB 와 MyBatis를 적용해보기  (0) 2022.11.30
    'Spring & SpringBoot' 카테고리의 다른 글
    • SpringBoot JPA 사용하기
    • SpringBoot Swagger UI사용하기
    • Spring AOP
    • Spring Boot에서 MariaDB 와 MyBatis를 적용해보기
    Gyuseok
    Gyuseok

    티스토리툴바