본문 바로가기
[개발] Front-End

JSP 데이터 전송하는 방법 - form태그 (GET, POST방식 설명)

by Devsong26 2017. 11. 4.

- form 태그란?

클라이언트에서 서버에게 데이터를 전송할 때 사용하는 HTML의 태그입니다.

 

- 전송방식

전송방식에는 POST, GET 2개의 방식이 있습니다.

(1) GET 방식

GET 방식은 클라이언트가 서버에게 데이터를 요청할 때 사용하는 방식입니다.

URL뒤에 데이터가 QueryString으로 붙어서 전송되는 방식입니다.

URL은 HTTP 데이터 포맷의 Header에 저장되어 전송됩니다.

 

빨간 박스로 처리된 부분이 쿼리스트링(? 부분부터)입니다.

 

- 특징

(1) POST방식 보다 전송속도가 빠릅니다.

(2) 전송되는 데이터가 QueryString으로 데이터가 전송이 되기 때문에 보안에 취약합니다.

그렇기 때문에 전송되는 데이터는 URL에 보여도 상관없는 데이터만을 보내야 합니다.

(id, password 데이터등의 사용자 정보 데이터는 절대로 보내면 안 됩니다.)

(3) URL의 최대길이가 2048자만 전송이 가능하므로 전송되는 데이터의 길이에 제한이 있습니다.

(대용량의 데이터는 전송할 수 없습니다.) 

 

아래는 JSP를 이용하여 GET방식을 구현한 코드입니다.

getForm.jsp (데이터를 전송하는 페이지)

method속성은 전송방식을 결정합니다. 이 때 대소문자는 구별하지 않습니다. 

action 속성은 전송되는 데이터를 받을 페이지를 지정해주는 속성입니다. 

 

getPro.jsp(데이터를 받는 페이지)

 

getForm.jsp의 웹 페이지 화면입니다.

 

getPro.jsp의 웹 페이지 화면입니다.

 

위의 표시된 것처럼 URL에 아이디와 비밀번호 데이터가 쿼리스트링으로 보내지는 것을 확인할 수 있습니다.

 

(2) POST 방식

클라이언트가 서버에게 데이터를 전송할 때 사용하는 방식입니다.

HTTP통신의 데이터 포맷은 Header, Body 구성이 되어 있습니다.

데이터가 URL에 쿼리스트링으로 붙어서 보내지는 GET방식과는 달리 POST방식은 HTTP데이터 포맷의 Body부분에

데이터가 담겨진 상태로 전송이 됩니다. 그래서 GET방식보다 보안이 좋습니다.

 

- 특징

(1) 대용량의 데이터를 전송할 수 있습니다.

(2) HTTP통신 데이터 포맷의 body부분에 데이터가 실려서 전송이 되기 때문에 보완성이 좋습니다.

 

아래는 JSP를 이용하여 GET방식을 구현한 코드입니다.

postForm.jsp (데이터 전송하는 페이지)

method속성은 전송방식을 결정합니다. 이 때 대소문자는 구별하지 않습니다. 

action 속성은 전송되는 데이터를 받을 페이지를 지정해주는 속성입니다. 

 

postPro.jsp(데이터를 받는 페이지)

 

 

postForm.jsp의 웹 페이지 화면입니다.

 

 

postPro.jsp의 웹 페이지 화면입니다.

 

URL에 아이디와 비밀번호 데이터가 보이지 않습니다. 

 

이상으로 JSP 데이터 전송하는 방법 - form태그(GET, POST방식 설명)을 마칩니다.