programming/spring_security

[Spring Security] 페이지 이동에 대해서

labj 2016. 9. 5. 03:06

[Spring Security] 페이지 이동에 대해서


sample3.zip

1. 파라미터 전달하기

 

sample3을 처음 실행시키면 / 로 접속합니다.

 


로그인 페이지로 이동하려면 


 

를 누르는데 이동할 페이지의 주소는 main.jsp에서 다음처럼 a 태그에 '로그인' 이란 텍스트가 감싸있어서 웹페이지에서 로그인이라고 보이는 것입니다. 



이동할 주소는 a 태그의 경우 href란 속성으로 이동합니다. href 속성값으로 '/signin/main' 으로 되어 있습니다.

jstl 문법으로 c:url 이란 것이 있습니다. 이건 url을 생성시켜주는 일을 합니다.

 

c:url을 이용해서 몇개의 파라미터를 넘겨야 한다면 다음과 같은 방식을 쓰면 됩니다.



c:set 이란 변수를 선언하는 것이라고 보면 됩니다. user_id란 jstl 변수명에 user_id_value란 값을 담은 것입니다.

jstl 에서 html 상에 jstl 변수에 담긴 값을 보여주려면  $를 쓰고 중괄호안에 jstl 변수명을 넣습니다.



이렇게 jsp 파일을 수정하고 생성된 html을 보면 다음과 같습니다. 



href 속성값을 보면 /signin/main에 앞에 현재 실행중인 웹프로젝트의 path가 붙고, 뒤에는 jstl로 만든 파라미터가 붙어서 로그인의 경로가 생겼습니다.

 

/signin/main 주소가 웹서버로 요청이 들어오면 웹서버에서는 controller 단에서 /singin/main과 매핑되어 있는 함수를 찾게 됩니다. 



com.jobtoy.controller 패키지 안에 있는 HomeController.java에서 signin_main 이라는 함수를 찾았습니다.

찾는 방법은 Search 메뉴에서 File을 선택하면 됩니다. Search view에서 찾아진 항목을 떠블클릭하면 해당 소스로 이동합니다.


함수에서 파라미터를 전달 받는 방법은 여러가지가 있습니다. 그중에 다음과 같은 방법을 쉽게 사용합니다. 


 

아래처럼 소스에 오류가 생긴다면 왼쪽에 빨간 x 를 누르면 오류를 수정할수 있는 몇가지 방법이 써있는 팝업이 뜹니다.

거기서 import 'RequestParam'을 선택하면 import 코드가 자동으로 삽입될 것입니다. 그리고 오류가 없어집니다. 




서버를 재시작하고 메인페이지에서 로그인을 클릭하여 로그인 페이지로 접속해 봅니다.

console 창에 다음과 같은 로그가 찍힌 것을 볼 수 있습니다. 




jsp 페이지에 전달해 보도록 하겠습니다.

HomeController.java에서 signin_main 함수에 다음 코드를 추가합니다.



signin폴더의 main.jsp에는 model에 user_id와 user_pw로 담아놓은 값은 JSTL의 변수로 담기게 됩니다.

다음처럼 아이디와 비밀번호의 값으로 넣어줍니다.



서버를 재시작하고 웹브라우저롤 접속하면 다음과 같이 보입니다. 



[Spring Security] 페이지 이동에 대해서