JSP day2
request | response
request | response
request
request는 클라이언트가 서버쪽으로 HTML 문서를 요청하는 것을 의미하며, 접근하고자 하는 페이지(URL)를 브라우저를 통해 알려준다. request의 방식으로 대표적으로 GET와 POST 방식이 있다.
GET
GET 방식은 URL 뒤에 전송할 데이터를 붙여보내는 방식으로 내용의 크기가 제한적이라 간단한 요청을 보낼 때 사용한다. 전송과 응답의 속도가 빠른편에 속한다.
POST
POST 방식은 데이터를 body에 넣어서 요청하기 때문에 데이터 노출의 위험이 적고 복잡한 요청을 보낼 때 사용된다. 내용 크기의 제한이 없으나 GET 방식에 비해 속도가 느리다.
response
response는 서버에서 결과를 HTML문서를 통해 클라이언트쪽으로 보여주는 것을 의미하며, 전달 시 상태코드(성공 여부), 컨텐츠 타입(텍스트, 이미지, HTML, XML, JSON… 등), 컨텐츠(HTML코드, 이미지, 문자열 .. 등) 등을 전달하게된다.
✔ URL(Uniform Resource Locator)
네트워크 상에서 자원이 어디에 있는지 알려주기 위한 규약
http://www.naver.com/blog/index.jsp
✔ URI(Uniform Resource Identifier)
URL은 자윈의 위치만 나타내는 반면, URI는 자원의 위치에 전달할 인자까지 포함하는 규약
http://www.naver.com:808/blog/index.jsp?userid=apple&gender=female
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>전송방식</title>
</head>
<body>
<h2>전송방식</h2>
<form method="post" action="./2_form_ok.jsp">
<p><label>아이디 : <input type="text" name="userid"></label></p>
<p><label>비밀번호 : <input type="password" name="userpw"></label></p>
<p><input type="submit" value="로그인"></p>
</form>
<p><a href="./2_form_ok.jsp?userid=banana&userpw=2222">데이터 보내기</a></p> <!-- get 방식 -->
</body>
</html>
위 코드는 form 태그를 활용하여 데이터를 post방식으로 보내는것과 일반적은 a태그 내 URL에 데이터를 넣어 보내는 get방식을 확인할 수 있다.
데이터는 아래 페이지로 전달되어 request.getParameter로 데이터를 받아 변수에 대입하게된다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
String userid = request.getParameter("userid");
String userpw = request.getParameter("userpw");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>전송방식</title>
</head>
<body>
<h2>전송방식</h2>
<p>아이디 : <%=userid%></p>
<p>비밀번호 : <%=userpw%></p>
</body>
</html>
get방식으로 보낼 경우
post방식으로 보낼 경우
get 방식으로 보내는 경우에는 url에 데이터를 싦어 전달되는 것을 확인할 수 있다.