form tag
사용자의 요청이나 데이터를 전송하는 기능
태그 내에 입력된 정보를 한 번에 서버로 전송이 되고, 입력된 정보와 나온 결과로 설정된 페이지를 보여준다.
1. form action
// 01GetMethod.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="01Result.jsp" method="get">
제목 : <input type="text" name="title"><br>
색상 : <select name="bgcolor">
<option value="red" selected>빨강</option>
<option value="orange">주황</option>
<option value="yellow">노랑</option>
<option value="etc">기타</option>
</select>
<br>
<br>
<input type="submit" value="전송">
</form>
</body>
</html>
화면에 띄울 제목을 input의 text 타입으로 받고, submit 타입의 input 태그로 form 태그 안의 있는 내용들을 전송할 수 있다.
// 01Result.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
// 사용자가 읽어온 데이터를 불러온다.
String title = request.getParameter("title");
String bgcolor = request.getParameter("bgcolor");
if(bgcolor.equals("etc")){
bgcolor="blue";
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title><%=title %></title>
</head>
<body bgcolor = <%=bgcolor %>>
<h1><%=title %></h1>
</body>
</html>
01GetMethod.jsp 에서 받은 내용들을 request.getParameter()로 전달을 받고,
전달받은 내용을 String 타입의 변수로 저장을 하여, 표현식을 통해 화면에 보여지게 한다.
01GetMethod.jsp 파일에서 제목 입력, 색상 선택 후 전송 버튼을 누르게 되면
02Result파일로 이동을 하면서 전달받은 값을 출력한 모습이다.
2. form method
form의 method는 전송하는 방법에 따라 다르다.
post 방식과 get 방식이 있다.
<body>
<form action="01Result.jsp" method="get">
제목 : <input type="text" name="title"><br>
색상 : <select name="bgcolor">
<option value="red" selected>빨강</option>
<option value="orange">주황</option>
<option value="yellow">노랑</option>
<option value="etc">기타</option>
</select>
<br>
<input type="submit" value="전송">
</form>
</body>
form 태그를 보면 method="get" 이 있는데, 생략이 가능하며, 기본 값이다.
01GetMethod.jsp에서 정보를 입력한 뒤 전송을 하게 되면, 01Result파일로 이동을 하는데,
이동할 때 입력한 정보가 주소창을 통해 전송이 된다.
get은 주소창에 정보가 보이는 특징이 있다.
post에 비해서 처리속도는 빠른편이지만, 저런 특징 때문에 보안면에서는 취약하다는 특징이 있다.
GET | POST |
보안 취약 전송 할 수 있는 데이터는 최대 255자 데이터 처리 속도 빠르다. name=value의 형식으로 주소창에 전송 |
GET에 비해 보안에 유리 전송할 수 있는 데이터 양은 제한이 없다. 데이터 처리 속도가 느리다. |
'Backend > JSP SERVLET' 카테고리의 다른 글
[JSP] useBean, setProperty, getProperty (0) | 2022.06.27 |
---|---|
[JSP] 포워딩, 리다이렉트 (0) | 2022.06.27 |
[JSP] ActionTag (0) | 2022.06.24 |
[JSP] 지시자 (0) | 2022.06.24 |
[JSP] 기초 문법 (0) | 2022.06.22 |