- Html의 form태그는 서버쪽으로 정보를 전달할 때 사용하는 태그
- Html의 모든 태그를 학습할 필요는 없음
- 그래도 웹프로그래머로서 Html 언어를 어느정도는 할 수 있어야 함
태그의 종류를 지정
- 속성(type, name, value)
- type : 태그 종류 지정 (text, password, submit(전송), checkbox(다중 선택 가능), radio, reset)
- name : input 태그 이름
- value : name에 해당하는 값 (ex. name = value)
일반적인 데이터를 입력하기 위해 사용
<input type = "text" name = "name" size = "10">
로그인, 회원가입 페이지 등에서 비밀번호를 입력하기 위해 사용
<input type = "password" name = "name" size = "10">
form내의 데이터를 전송할 때 사용
누르면 form태그안에 내용을 서버로 전달
<input type = "submit" value = "전송">
Form내의 데이터를 초기화할때 사용
데이터의 값을 여러개 전송해야 할 경우 사용
type ,name 은 동일하게, value 값만 다르게
독서
요리
조깅
수영
취침
<input type = "checkbox" name = "hobby" value = "read"> 독서
<input type = "checkbox" name = "hobby" value = "cook"> 요리
<input type = "checkbox" name = "hobby" value = "run"> 조깅
<input type = "checkbox" name = "hobby" value = "swim"> 수영
<input type = "checkbox" name = "hobby" value = "swim"> 취침
checkbox와 달리 여러개의 데이터 값 중 한 개의 값만을 전송할 때 사용
국어
영어
수학
디자인
<input type = "radio" name = "major" value = "kor">국어
<input type = "radio" name = "major" value = "eng" checked = "checked">영어
<input type = "radio" name = "major" value = "mat">수학
<input type = "radio" name = "major" value = "des">디자인
리스트 형태의 데이터를 사용
<option value = "http">http</option> <option value = "ftp" selected = "selected">ftp</option> <option value = "smtp">smtp</option> <option value = "pop">pop</option>
<select name = "protocol">
<option value = "http">http</option>
<option value = "ftp" selected = "selected">ftp</option>
<option value = "smtp">smtp</option>
<option value = "pop">pop</option>
</select>
Form 태그의 submit 버튼을 클릭하여 데이터를 서버로 전송하면, 해당 파일(Servlet)에서는 HttpServletRequest객체를 이용하여 Parameter값을 얻을 수 있음
HTML파일
<form> <input type = "submit" value = "전송"> . . . </form>
Servlet 파일
HttpServletRequest객체를 이용하여, Parameter값을 얻음
<관련 메서드>
getParameter(name) - http프로토콜로 전송된 정보를 속성명을 이용해 가져옴
getParameterValues(name) - 데이터를 배열의 형태로 가져옴
getParameterNames() - 데이터의 모든 속성명을 가져옴
반환 값은 String
- Tomcat 서버의 기본 문자처리 방식은 IOS-8859-1 방식
- 따라서 개발자가 별도의 한글 인코딩을 하지않으면 한글이 깨져보이는 현상 생김
- Get방식과 Post방식에 따라서 한글처리 방식에 차이가 있음
Get방식 : <server.xml 수정>
<Connector URIEncoding = "EUC-KR" port = "8181"....>
Post방식 : <request.setCharacterEncoding() 메서드 이용>
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("doPost"); request.setCharacterEncoding("EUC-KR"); } }