form태그는 사용자의 요청이나 데이터를 전송하는 기능입니다.
form은 태그 내에 입력된 정보를 한 번에 서버로 전송이 되며, 입력된 정보와 함께 나온 결과로 설정된 페이지를 보여줍니다.
form태그에서 주로 다룰 내용으로 action, method를 다뤄보도록 하겠습니다.
1. form action
아래는 JSP에서 다룰 form 태그입니다.(test1.jsp파일)
<body>
<form name="form" action="test2.jsp" method="get">
이름 : <input type="text" name="name"><br>
나이 : <input type="text" name="age"><br>
<input type="reset" value="다시입력">
<input type="submit" value="제출"><br>
</form>
</body>
이름과 나이를 input의 text 타입으로 받았고, submit 타입의 input 태그로 form 태그 안에 있는 내용들을 전송하도록 설정했습니다.
form태그 내용중 action이 있는데, 이는 submit을 누르면 action이 가리키는 파일로 이동합니다.
다음은 test2.jsp파일입니다.
<%
String name = request.getParameter("name");
String age = request.getParameter("age");
%>
<h1>form태그 예제</h1>
<h3>이름 : <%=name %></h3>
<h3>나이 : <%=age %></h3>
test1에서 받은 내용을 request.getParamter()를 이용해 전달받았습니다.
전달받은 내용을 String 타입의 변수로 저장하여, 표현식태그를 통해 화면으로 출력합니다.
위의 사진은 test1.jsp 파일을 실행시킬 때 입니다. 이름과 나이를 각각 입력하고 제출버튼을 누르면,
test2.jsp 파일로 이동하면서 전달받은 값을 출력한 모습입니다.
2. form method
form태그의 method는 전송하는 방법이 어떤 방법이느냐에 따라 다릅니다.
get방식과 post방식이 있는데, 이는 각각마다 차이가 있습니다. 먼저 어떻게 사용하는지 확인해보겠습니다.
<body>
<form name="form" action="test2.jsp" method="get">
이름 : <input type="text" name="name"><br>
나이 : <input type="text" name="age"><br>
<input type="reset" value="다시입력">
<input type="submit" value="제출"><br>
</form>
</body>
위의 1번 코드와 같습니다. form 태그 안에 맨 끝 부분을 보면 method="get"이라고 적어논 것을 볼 수 있습니다.
생략 가능하며, 기본값은 get입니다.
get과 post의 차이를 확인하겠습니다.
- 보안의 차이
test1파일에서 양식을 입력하고 submit 버튼을 눌렀을 때 test2파일로 이동합니다.
이동할 때의 입력한 정보가 주소창을 통해 전송이 됩니다.
이처럼 get 방식은 주소창에 정보가 보이는 특징이 있습니다.
반대로 post방식은 주소창에 정보가 보이지 않아 보다 보안에 더 유리하다는 특징이 있습니다.
- 그 외
GET | POST |
보안이 취약합니다. 전송 할 수 있는 데이터는 최대 255자입니다. post에 비해 처리속도는 빠른 편입니다. name=value의 형식으로 주소창에 전송됩니다. 서블릿에서는 doGet()을 이용합니다. |
get에 비해 보안에 더 유리합니다. 전송 할 수 있는 데이터의 양이 무한입니다. get에 비해 처리속도가 느립니다. 서블릿에서 doPost()를 이용합니다. |
'코딩 > JSP' 카테고리의 다른 글
JSP getParameter, getAttribute (0) | 2020.07.08 |
---|---|
JSP 확장자 .jspf (0) | 2020.07.07 |
JSP forward, redirect (0) | 2020.07.07 |
JSP focus() (0) | 2020.07.05 |
JSP scriptlet(스크립트릿) (0) | 2020.07.04 |
최근댓글