development♥/[Java, Spring]

[spring] @RequestMapping이란?

리니❤ 2022. 10. 11. 09:51
반응형

 

[spring] @RequestMapping이란?

 

 

spring에서 mvc패턴을 사용하다보면 Controller단에서 @RequestMapping이라는걸 보게됩니다.

 

각페이지url마다 controller를 작성해야해서 여러개를 작성하게되는데요 그때마다 꼭 작성해줘야하는게

@RequestMapping입니다. 

 

 

사용자가 특정 url을 요청하면 Controller는 어떤방식으로 처리할지 정의하는데

이때 그 요청을 매핑하기위해 사용하는게 @RequestMapping이다

 

@RequestMapping에서 가장많이 사용하는건 vlaue와 method인데

value : 요청받는 url값 설정

method: get, post 등 어떤 요청으로 받을지 설정

 

 

 

@RequestMapping의 get 방식 요청과 post 방식 요청

request요청을 보낼때 get방식과 post방식이 있음

get방식요청 : 뷰 페이지에서 form태그 속성에 method값을 get으로 설정해야함  예.method = RequestMethod.GET

 

 

 

Get방식과 Post방식 차이 

post방식 :  숨겨져서 전송 ex. www.naver.com/로그인/id비번노출안됨 

get방식: 내가 입력한값이 도메인주소에 노출 됨 ex. www.naver.com/로그인/id그대로노출/비밀번호노출

 

 

 

controller의 @requestMapping 설정방법
@RequestMapping(value="경로", method=RequestMethod.GET)

 

 

 

 

<아래 예시를 통해서 @requestMapping 작성방법 알아보기 >

 

 

 

위에 컨트롤러단에 적혀있는 @RequestMapping을 보면 총3개가 적혀있습니다.

@RequestMapping(value = "/index", method = RequestMethod.GET)

@RequestMapping(value = "/", method = RequestMethod.GET)

@RequestMapping(value = "/login", method = RequestMethod.GET)

 

 

 

(1) @RequestMapping(value = "/", method = RequestMethod.GET)

                       value에 / 가 되어있는경우는 기본 웹주소를 의미함

                       기본웹주소란 서버에 들어가보면

                      Host name: localhost라고 적혀있고

                      HTTP/1.1 :8088 이라고 적혀있는데

                  그럼 / 의 의미는 localhost:8088을 의미함

 

 

 

(2) @RequestMapping(value = "/login", method = RequestMethod.GET)

그럼 이경우는

/login 이니까

localhost:8088/login 이 url이 되는거고    method가 get이니까 로그인할때 작성하는 아이디 비밀번호가 그대로 상단에 노출되는 형태

 

 

 

 

 

 

반응형