에러 탈출 일지

[JSP] from 태그, 데이터 전달 방식(get, post), request, print 본문

개발/JSP

[JSP] from 태그, 데이터 전달 방식(get, post), request, print

뉴NEW 2022. 10. 20. 12:47

1. 폼 태그의 속성

- action: 이동할 jsp 페이지
- method: get or post


2. 웹에서 데이터를 전달하는 방식

(1) get 방식

 - 데이터를 url에 붙여서 이동하는 방식
 - 장점: 상대적으로 속도가 빠름
 - 단점: 데이터가 url에 노출
 ex) 쇼핑몰의 상품 정보 ...
 


(2) post 방식

 - 데이터를 html 태그의 헤더 영역에 포함하여 이동하는 방식
 - 장점: 데이터가 노출 되지 않음 → 보안에 유리
 - 단점: 상대적으로 속도 느림
 ex) 로그인, 회원가입, 정보입력, 은행 ... 

 

// form 파일

<body>
	<form action="ifTest02Pro.jsp" method="post">     // 전달방식 post
		이름: <input type="text" name="name"><br>
		나이: <input type="text" name="age"><br>
		<input type="submit" value="입력완료">
	</form>
</body>

 

 

2. request

- 요청 페이지에 대한 데이터를 받아서 처리하는 내장 객체
- getParameter(): 입력태그의 name
- 내장 객체: JSP에서 중요한 9개의 클래스에 대한 객체

 


3. out 내장 객체

- 내용 웹화면을 출력하는 내장 객체
- print(): 내용을 웹화면에 출력하는 메소드
- 내장 객체 안에서는 익스프레션을 사용할 수 없음

 

<body>
	<%
	// 한글 데이터가 넘어 올 때 글자가 깨지는 문제 발생
	request.setCharacterEncoding("utf-8");  // post 사용시 글자 깨짐 해결
   
	String name = request.getParameter("name");
	int age = Integer.parseInt(request.getParameter("age"));
	// String strAge = request.getParameter("age");
	// int age = Integer.parseInt(strAge); 
	%>
	
	이름: <%=name %><br>
	나이: <%=age %><br><br>
	
    
	<!-- 방법 1. -->
	<% if(age >= 20) { %>
		<%=name %>님은 성년 입니다.
	<% } else if (age < 20){ %>
		<%=name %>님은 미성년 입니다.
	<% } %>
	<br><br>
	
    
	<!-- 방법 2. -->
	<% 
	if(age >= 20) { 
		out.print(name +"님은 성년 입니다.");
	} else if (age < 20){ 
		out.print(name +"님은 미성년 입니다.");
	} 
	%>
</body>

폼 페이지 입력하기
처리 페이지 결과값