<form>이란?HTML <form>은 사용자로부터 입력을 받아 서버로 데이터를 전송하기 위한 태그이다.
로그인, 회원가입, 검색, 게시글 작성 등 대부분의 웹 입력 화면의 기반이 된다.
<form> 기본 구조<form action="/submit" method="post">
<input type="text" name="username">
<input type="password" name="password">
<button type="submit">전송</button>
</form>
| 속성 | 설명 |
|---|---|
action | 데이터를 전송할 서버 URL |
method | 전송 방식 (get, post) |
name | 서버에서 파라미터 식별용 |
enctype | 데이터 인코딩 방식 |
<form action="/search" method="get">
<input type="text" name="keyword">
</form>
예:
/search?keyword=java
<form action="/login" method="post">
<input type="text" name="id">
<input type="password" name="pw">
</form>
<input><input type="text">
<input type="password">
<input type="email">
<input type="checkbox">
<input type="radio">
| type | 설명 |
|---|---|
| text | 일반 문자열 |
| password | 비밀번호 |
| checkbox | 다중 선택 |
| radio | 단일 선택 |
| submit | 폼 전송 |
<textarea><textarea name="content"></textarea>
<select><select name="role">
<option value="user">USER</option>
<option value="admin">ADMIN</option>
</select>
name 속성의 중요성<input type="text" name="email">
email이라는 key로 값 수신name이 없으면 전송되지 않음Spring MVC 예:
@PostMapping("/login")
public String login(String email, String password) {
}
<form action="/upload" method="post" enctype="multipart/form-data">
| enctype | 설명 |
|---|---|
| application/x-www-form-urlencoded | 기본값 |
| multipart/form-data | 파일 업로드 |
| text/plain | 테스트용 |
<button type="submit">전송</button>
action URL로 method 방식에 따라 전송<form onsubmit="return false;">
<form id="myForm">
document.getElementById("myForm").submit();
<form th:action="@{/users}" method="post">
<input type="text" name="name">
</form>
<form> 사용 시 주의사항GET으로 민감 정보 전송 금지name 누락 주의<form>은 브라우저 → 서버 데이터 전달의 핵심action, method, name이 가장 중요