JSP

JSP를 배워보자!! {form태그}

25G 2021. 4. 22. 23:18

안녕하세요!~~~ 여러분 오늘도 코딩 공부하는 25g입니다 ㅋㅋㅋ오늘은 저번에 내장 객체에 있었지만 대충 설명만 하고 넘어간 태그에 대해서 말씀드려보려 해요 바로바로 ~~ form태그입니다 ㅎㅎ

form태그에 대해서 좀 더 자세히 말씀드리자면

사용자가 웹 브라우저를 통해서 입력한 데이터를 웹서버로 전송하는 것

입니다!

예를 들어서 우리가 구글이나 네이버에 검색을 하는 경우에 그 검색창에 입력한 데이터가 서버로 전송돼서 서버 컴퓨터가 그 검색 데이터를 보고 사용자가 원하는 데이터를 사용자에게 보내주잖아요? 그때 전송을 해주는 역할을 한다는 거죠

 

보통 form에는 form 외에 따로 구성하는 폼의 종류가 필요해요. 왜냐하면form은 그 자체로 기능일 뿐 도구가 필요한 것이죠

form태그의 속성들은 요런 친구들이 있습니다

 

action :폼 데이터를 받아서 처리하는 프로그램의 URL 설정

method:폼 데이터를 전송하는 HTTP 방식 설정

name: 폼을 식별하기 위한 이름

target:폼 처리 결과를 보여줄 대상 설정

enctype: 폼 데이터의 MIME유형을 설정

등등 많은데요 이와 같은 속성 값들은 필수가 아닌 상황에 따라 선택적으로 사용하면 됩니다

그리고 데이터를 전송하는 기능을 하다 보니 input 태그와 아주 찰떡이랍니다 그래서

input 태그 속성도 간단하게 알려드리자면!

 

text:기본값으로 한 줄의 텍스트를 입력할 때 사용합니다

radio:라디오 버튼으로 열거된 것 중 하나만 선택할 때 사용합니다.

checkbox: 체크박스로 열거된 것 중 다중 선택을 할 때 사용합니다

password: 암호를 입력할 때 사용합니다

hidden 보이지 않게 숨겨서 값을 전송할 때 사용합니다

file 파일 업로드를 위한 파일을 선택할 때 사용합니다

button  버튼 모양을 출력할 때 사용합니다

reset 폼에 입력된 값을 모두 초기화할 때 사용합니다

submit 폼에 입력된 값을 모두 서버에 전송할 때 사용합니다

 

뭐 굳이 다 외운다기 보단 실습을 해보면서 외우는 게 더 효율적인 것 같습니다

그럼 위 두 가지를 적용해서 회원가입 페이지를 만들어 봤어요 ㅎㅎ

코드부터 봅시다

위에 적혀있는 속성들을 위 코드에 적힌 속성과 잘 대입해보시면 대충 어떻게 값이 나오게 될지 그림이 그려지실 겁니다

직관적인 코드들이라 해석해 보시는 것을 추천드려요ㅎㅎ

결과는 이렇게 나옵니다

신기하죠!! ㅎㅎ 제가 프로그래밍을 배우기 전에는 그냥 늘 지나치는 회원가입 창이었는데 물론 더 많은 기술과 디자인이 필요하겠지만 이런 식으로 만들어졌다는 걸 아니 뭔가 낯설게 느껴지고 참 재밌었습니다

 

하지만 여러분 아직 반쪽짜리 코드밖에 되지 않습니다 왜냐하면 위에 코드를 보시면 form태그에 action속성에 있는 URL 설정만 해줬지 그 안에 정보가 들어있는 게 아니잖아요 ㅎㅎ 주석에 적힌 것처럼 값을 보내야 하는데

보낼 공간과 그 보낸 값을 구현하는 기능들을 추가해야겠죠?

뭔가 엄청 어려운 녀석이 나온 것 같지만 위에 있는 주석들과 합쳐서 보시면 조금은 이해에 도움이 되실 거라 생각합니다

4번 코드는 인코딩 타입을 UTF-8로 맞춰준 것이고 6번 코드는 주석을 참고하시면 됩니다. 조금 더 간단하게 생각하신다면 넘겨받은 값을 배열로 저장한다고 생각하시면 좀 더 이해에 도움이 될 것 같습니다

그리고 table 태그를 써서 표로 표현해봤습니다 그리고 while문을 사용하게 되는데 이터레이터랑 비슷하다고 보시면 됩니다 names.hasMoreElements에 담겨있는 값을 names.nextElement();가 차례대로 포인터를 이동하면서 값을 하나씩 빼가는 코드입니다ㅎㅎ 그럼 name에 값들이 while문이 한 바퀴 돌 때마다 값을 순서대로 출력해 주겠죠ㅎㅎ

결괏값이랑 대조해서 보시면 좀 더 이해가 잘 되실 거라 생각합니다

출력해놓고 보니 전화번호 출력하는 거는 수정을 해야겟네요 ㅠㅠ 010밖에 출력이 안되는 것을 수정해 봐야겠습니다!

 

오늘은 뭔가 사진이 커서 그런지 글이 엄청 길어진 것 같네요 ㅠㅠ 혹시나 끝까지 읽으신 분이 있다면 박수 쳐드리고 싶습니다 ㅠㅠ 감사합니다

오늘도 좋은 하루 보내세요~