웹에서 한 페이지에 가만히 있는게 아니듯
우리가 작성한 정보(ex.로그인을 위한 정보)를 가지고 다른 페이지로 이동할 수 있는데
이때 정보를 입력받아 그대로 다른 페이지에 옮겨주는 부분을 "form"이라고 한다.
나는 "form"을 "택배 상자📦" 와 같은 개념으로 생각한다.
Form | Tag |
---|---|
name | 여러개의 form들을 구분 지을 때 사용 |
action | submit 버튼 클릭 시, 이동할 jsp페이지 |
method | 폼 전달 방식 get 또는 post 방식을 사용 |
get | post | |
---|---|---|
특징 | 1. URL에 파라미터 값을 담아서 전달 2. URL에 값들이 노출 (보안 취약) 3. 전송속도가 post에 비해 빠르다 4. 데이터 전송 크기가 1024byte로 제한되어있다 | 1. 데이터를 본문에 담아 전달 2. URL에 값이 보이지 않음 (보안 우수) 3. 데이터 전송 크기의 제한이 없다 4. 복잡한 형태의 데이터 전송에 우수 |
Tag | 종류 |
---|---|
text | 텍스트 입력 상자 |
button | 상호작용 버튼 |
password | 입력받은 값을 *로 표시해 암호화하여 보여줌 |
checkbox | 체크박스, 다중 체크 가능하므로 값을 받을 시 배열 사용 |
radio | 2개 이상의 항목 중 1개를 선택 ex) 남자 / 여자 |
submit | 폼에 입력된 내용들을 지정한 action jsp파일에 전달하기 위한 버튼 |
reset | 입력된 내용 초기화 |
request객체란?
Form에서 넘겨진 값을 받는 메서드
메서드 | 형태 | 설명 |
---|---|---|
getParameter(String name) | String | 파라미터 변수 name 값을 참조, 존재하지 않으면 null |
getParameterValues(String name) | String[] | 배열로 참조, 존재하지 않으면 null ex) checkbox 등 |
getParameterNames(String name) | Enumeration | 전송된 값을 열거형으로 참조 |
getSession() | HttpSession | 현재 세션 객체를 가져옴 |
getRemoteAddr | String | 클라리언트의 IP주소를 가져옴 |
<html>
<head>
<title> form 연습하기 </title>
</head>
<body>
<form name="form1" method="get" action="넘겨 줄 파일.jsp">
넘겨 줄 내용 : <input type="text" name="내용을 담아서 보낼 변수이름">
</form>
</body>
</html>