ㅇ 폼 태그의 역할

 

 : 입력된 데이터를 한 번에 서버로 전송하고, 전송한 데이터는 웹 서버가 처리하며, 결과에 따른 웹페이지를 보여줍니다.

 

 

ㅇ 폼 태그 동작 방법

1) 폼 내용 입력 후 제출

2) 모든 데이터를 웹 서버로 보내고 데이터 처리를 위해 웹 프로그램으로 넘김

3) 웹 프로그램은 데이터 처리 후 결과에 따른 HTML 페이지를 웹 서버에 보냄

4) 웹 서버는 받은 HTML 페이지를 브라우저에 전송

 

 

ㅇ 폼 태그 속성

: name, action, method, target 등의 폼 속성이 있는데, 전송할 때 어디로 보낼지에 대한 방법을 정합니다.

 

1) action : 폼을 전송할 서버 쪽 스크립트 파일을 지정 ( 즉, 어디로 보낼지를 지정해주는 것입니다. )

2) name : 폼을 식별하기 위한 이름을 지정

3) accept-charset : 폼 전송에 사용할 문자 인코딩을 지정

4) target : action에서 지정한 스크립트 파일을 현재 창이 아닌 다른 위치에 열도록 지정

5) method : 폼을 서버에 전송할 http 메소드를 정함 ( GET or POST )

 

ex.

<form action="/login/new" method="post">

 

 

ㅇ GET / POST

1) GET : 폼 데이터를 URL 끝에 붙여서 눈에 보이게 보내지는 것

 -> 보안적으로 취약하여 지정된 리소스에서 데이터를 읽을 때만 주로 사용

2) POST : 내부적으로 보냄으로써 눈에 보이지 않음

 -> 지정된 리소스에서 데이터를 처리할 경우 쓰기,수정,삭제할 때 사용

 

 

 

ㅇ <input> 태그

: 사용자가 다양하게 폼 태그에 입력할 수 있는 공간을 만들어 줍니다.

속성에는 type, readonly, maxlength 등이 있습니다.

1) type : 태그 모양을 다양하게 변경 가능

 - text / radio / checkbox / password / button / hidden / submit / reset 등

2) name : 태그 이름을 지정

3) readonly : 태그 읽기 전용

4) maxlength : 해당 태그 최대 글자 수 지정

5) required : 해당 태그가 필수태그로 지정됩니다. 필수 태그를 입력하지않고 submit 하면 에러 출력

6) placeholder : 태그에 입력할 값에 대한 힌트 줍니다.

 

 

 

 

 

ㅇ 자세한 예제를 살펴보자

 

- html

<div class ="contatiner">
        <form action="/new" method="post">
            <div class="form-group">
                <label for="name"> 이름</label>
                <input type="text" id="name" name="name" placeholder="이름 입력하세요">
            </div>
            <button type="submit"> 등록 </button>
        </form>
    </div>

 

- MemberController.java

    @GetMapping("/new")
    public String New() {
        return "/Login/memberNew";
    }

    @PostMapping("/new")
    public String create(Form form) {
        Member member = new Member();
        member.setName(form.getName());
        return "redirect:/";
    }

 

 - [ form action = "/new" method ="post" ] , <input name="name"> 구동과정

     

1) 이 태그를 보면 form 에 사용자가 값을 입력하고 등록 버튼 누름

2) 그 값은 input name = "name" 을 통해 Form 클래스 내부에 있는 name 객체와 매칭이 되면서

     Form 클래스의 name 에 값이 들어감

2) /new 라는 주소를 post 해줌

3) controller 에서 PostMapping 을 통해 form 의 name 데이터를 받고 데이터 저장을 하든 뭘 하든 가공 처리를 한다.

4) 해야할 처리가 다 끝나면 이동할 주소를 return 해준다.

'HTML-CSS-JS' 카테고리의 다른 글

async function  (0) 2022.08.17
JavaScript 요약 강좌2  (0) 2022.08.16
JavaScript 요약강좌1  (0) 2022.08.16

+ Recent posts