Purple Bobblehead Bunny

Backend/JSP SERVLET

[JSP] form

준영어린이 2022. 6. 26. 14:27

 

 

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.jsp

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" 이 있는데, 생략이 가능하며, 기본 값이다.

01Result.jsp 주소

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