*servlet & jsp*

[servlet] GET방식으로 요청

깐부로부터 2022. 1. 2. 19:12
GET방식으로 요청 후 응답페이지 받아보기

 

특징 1. GET방식으로 요청하는건 URL의 Header영역에 데이터들을 포함시켜서 요청함
=> 사용자가 입력한 값(데이터)들이 URL에 노출
=> 보안에 취약
=> 즉, 로그인이나 회원가입같은 경우 GET방식이 부적합하다. 

특징2. Header영역은 전송하는 데이터의 길이에 제한이 있음
=> 방대한 데이터를 담았을 경우 초과된 데이터틑 절단되서 넘어감
=> 즉, 게시판 작성 같은경우 GET방식이 부적합하다. 

특징3. 장점이라고 한다면 URL 데이터가 노출되기 때문에
즐겨찾기(북마크) 가능(즐겨찾기 해놨다가 해당 그 URL 재요청 가능) 
=> 검색 기능 같은경우 GET방식이 가장 적합 


 

 

form태그에서 get방식은 서블릿에서 doGet()메소드를 호출된다.

 

첫번째 매개변수인 HttpServletRequest request에는 요청시 전달된 내용들이 담김

=> 사용자가 입력한 값, 요청 전송방식, 요청한 사용자의 ip주소 등등...

 

두번째 매개변수인 HttpServletResponse response에는 요청 처리 후 응답을 할 대 사용하는 객체

 

* 요청 처리 스텝

1. 우선, 요청을 처리하기 위해 요청시 전달된 값 (사용자가 입력한 값)들을 뽑는다.
=> requestparameter영역안에 존재
=> key-value 세트로 담겨있음!!!!!!!!!!!(name속성값-value)

2. 뽑아낸 값들을 가지고 요청 처리해야함(Service -> DAO -> DB)

3. 처리 결과에 따른 성공/실패 페이지 응답 

 

* requestparameter영역으로부터 전달된 데이터를 뽑는 메소드

- request.getParameter("키값") : String(그에 해당하는 value 값)
=> 무조건 문자열 형으로 반환
다른 자료형으로 변경하려면 파싱해야함

- request.getParameterValues("키값") : String[](그에 해당하는 value 값)
=> 하나의 key값으로 여러개의 value들을 받는 경우(checkbox)
문자열 배열 형으로 반환 가능