- 폼 처리의 개요
- 폼(form)은 사용자가 웹 브라우저를 통해 입력된 모든 데이터를 한 번에 웹 서버로 전송하는 양식입니다.
- 폼을 구성하는 태그의 종류
태그 | 설명 | 태그 | 설명 |
form | 폼을 정의하는 태그로 최상위 태그이다. | select | 항목을 선택할 수 있는 태그이다. |
input | 사용자가 입력할 수 있는 태그이다. | textarea | 여러 줄을 입력할 수 있는 태그이다. |
- form 태그
<form 속성1="값1" [속성2="값2 ---]>
// 다양한 입력 양식 태그 ( <input>, <select>, <textarea> )
</form>
- form 태그의 속성
속성 | 설명 |
action | 폼 데이터를 받아 처리하는 웹 페이지의 URL을 설정한다. |
method | 폼 데이터가 전송되는 HTTP 방식을 설정한다. |
name | 폼을 식별하기 위한 이름을 설정한다. |
target | 폼 처리 결과의 응답을 실행할 프레임을 설정한다. |
enctype | 폼을 전송하는 콘텐츠 MIME 유형을 설정한다. |
accept-charset | 폼 전송에 사용할 문자 인코딩 방식을 설정한다. |
- GET 방식과 POST 방식의 차이
- URL 끝에 데이터를 붙여 보내는 GET 방식은 데이터가 외부에 노출되어 보안에 취약합니다. 따라서 개인 정보 등을 보호해야 할 때는 POST 방식을 사용해야 합니다.
- 또한, GET 방식은 지정된 리소스에서 데이터를 요청할 때, 즉 읽을 때 사용합니다.
- 반면 POST 방식은 지정된 리소스에서 데이터를 처리할 때, 쓰고, 수정하고, 삭제할 때 사용합니다.
구분 | GET 방식 | POST 방식 |
전송 형태 | 이름과 값의 형태로 URL에 포함되어 전송 | HTTP 헤더 속에 감춰서 전송 |
전송량 | 제한적 (4,096B) | 제한 없음 |
속도 | 빠름 | 느림 |
보안 | 없음 | 있음 |
- input 태그
- input 태그는 사용자가 텍스트 입력이나 선택 등을 다양하게 할 수 있도록 공간을 만드는 태그입니다.
<input 속성1="값1" [속성2="값2" ---]>
속성 | 속성 값 | 설명 |
type | text | 기본 값으로 한 줄의 텍스트를 입력할 때 사용한다. |
radio | 라디오 버튼으로 열거된 것 중 하나만 선택할 때 사용한다. | |
checkbox | 체크 박스로 열거된 것 중 다중 선택을 할 때 사용한다. | |
password | 암호를 입력할 때 사용한다. | |
hidden | 보이지 않게 숨겨서 값을 전송할 때 사용한다. | |
file | 파일 업로드를 위한 파일을 선택할 때 사용한다. | |
button | 버튼 모양을 출력할 때 사용한다. | |
reset | 폼에 입력된 값을 모두 초기화할 때 사용한다. | |
submit | 폼에 입력된 값을 모두 서버에 전송할 때 사용한다. |
name | 텍스트 | 입력 양식을 식별하는 이름을 설정한다. |
value | 텍스트 | 입력 양식의 초깃값을 설정한다. |
- select 태그
- select 태그는 여러 개의 항목이 나타나는 목록 상자에서 항목을 선택하는 태그입니다.
<select 속성=1"값1" [속성2="값2" ---]>
<option 속성1="값1" [속성1] 항목1</option>
<option 속성2="값2" [속성2] 항목2</option>
--- (생략) ---
</select>
- select 태그의 속성
속성 | 속성 값 | 설명 |
name | 텍스트 | 목록 상자의 이름을 설정한다. |
size | 숫자 | 한 번에 표시할 항목의 개수를 설정한다. |
multiple | 다중 선택이 가능하도록 한다. ctrl 을 눌러 목록 상자의 항목을 다중 선택한다. |
- option 태그의 속성
속성 | 속성 값 | 설명 |
value | 텍스트 | 항목의 값을 설정한다. |
selected | 해당 항목을 초깃값으로 선택한다. | |
disabled | 항목을 비활성화한다. |
- textarea 태그
- textarea 태그는 여러 줄의 텍스트를 입력할 수 있는 태그입니다.
<textarea cols="너비 값" rows="높이 값">
--- (생략) ---
</textarea>
- textarea 태그의 속성
속성 | 속성 값 | 설명 |
name | 텍스트 | 이름을 설정한다. |
cols | 숫자 | 입력할 텍스트 영역의 너비(열 크기) 를설정한다. |
rows | 숫자 | 입력할 텍스트 영역의 높이(행 크기)를 설정한다. |
wrap | off | 줄 바꿈을 설정한다. wrap="off" : 줄 바꿈을 하지 않고 문장을 입력할 때 수평 스크롤바가 생기고 옆으로 계속 문장이 입력된다. |
soft | wrap="soft" : enter를 누르지 않아도 텍스트 라인 끝에서 자동으로 행이 바뀐다. | |
hard | wrap="hard" : soft 상태와 비슷하며 실제 내용을 서버에 전송할 때 캐리지 리턴 문자를 전달한다. |
- 폼 데이터 처리
- JSP 에서 폼 데이터를 처리함으로써 표현문이나 스크립틀릿 태그에 request 내장 객체를 이용하여 폼 페이지에서 전달된 값을 얻을 수 있습니다.
String 변수=request.getParameter("요청 파라미터 이름");
- request 내장 객체는 웹 브라우저가 서버로 보낸 요청에 대한 다양한 정보를 담고 있어 getParameter() 메소드를 이용하여 요청 파라미터의 값을 얻을 수 있습니다.
- 요청 파라미터의 전체 값 받기는 폼 데이터의 일괄 처리 메소드를 이용할 수 있습니다.
메소드 | 형식 | 설명 |
getParameterNames() | java.util.Enumeration | 모든 입력 양식의 요청 파라미터 이름을 순서에 상관 없이 Enumeration(열거형) 형태로 전달 받는다. |
hasMoreElements() | boolean | Enumeration(열거형) 요소가 있으면 true를 반환하고, 그렇지 않으면 false를 반환한다. |
nextElement() | E (Enumeration 객체를 생성할 때의 타입) | Enumeration(열거형) 요소를 반환한다. |
'Back-End > JSP' 카테고리의 다른 글
4. 유효성 검사 - 01. 기본 유효성 검사와 데이터 형식 유효성 검사 (0) | 2024.06.07 |
---|---|
3. JSP 페이지 처리 기법 - 02. 파일 업로드 (0) | 2024.05.31 |
2. JSP 기본 문법 - 01.JSP 태그 : 액션 태그와 내장객체 (0) | 2024.05.28 |
2. JSP 기본 문법 - 01.JSP 태그 : 디렉티브 태그 (0) | 2024.05.22 |
2. JSP 기본 문법 - 01.JSP 태그 : 스크립틀릿 태그 (0) | 2024.05.16 |