본문 바로가기
JS & TS/Frontend

[JSP] 내장 객체, 데이터 전송방식

by heekng 2021. 2. 27.
반응형

[JSP] 내장 객체, 데이터 전송방식

이전에 서블릿을 설명할 때 서블릿은 JSP에서 내부적으로 이용되는 구조를 이해해야 하기 때문에 이해하고 있어야 한다고 했다.

 

[Servlet] 서블릿 Servlet (개념, 계산기 예제)

[Servlet] 서블릿 Servlet (개념, 계산기 예제) 서블릿은 요청(request)과 응답(response)을 직접 조작해서 데이터를 전송, 수신한다. 단순하게 설명하면, 위와 같은 형태로 요청과 응답을 한다. 목차 목

heekng.tistory.com

JSP를 이용하며 서블릿을 통한 데이터 전송에 개입할 수 있게 도와주는 것이 바로 내장객체이다.

또한 내장객체를 이용하려면 GET과 POST와 같은 데이터 전송방식에 따른 페이지 이동을 필요로 하기 때문에 데이터 전송 방식에 대하여 알아본다.


내장객체의 종류

내장객체는 객체화 없이 사용할 수 있는 객체이며, jsp파일이 서블릿으로 변환 될 때 웹 컨테이너가 자동으로 메모리에 할당하며 제공한다.

JSP에서는 서블릿을 개발자가 직접 다루지 않지만, JSP를 통해 넘어온 기존에 서블릿에서 다룰 수 있었던 데이터들을 다룰 수 있게 도와준다.

request

request객체는 웹 브라우저의 요청 정보를 저장하고 있다.

request.getParameter("[name]"); 의 형태로 메소드를 사용하고, request객체의 값들을 받아올 수 있다.

response

response객체는 웹 브라우저의 요청에 대한 응답 정보를 저장하고 있다.

response.sendRedirect("[URL]"); 메소드를 주로 이용한다.

out

out객체는 JSP페이지의 body에 출력할 내용 정보를 저장한다.

session

session객체는 하나의 웹 브라우저의 정보를 유지하기 위한 세션 정보를 저장한다.

pageContext

pageContext객체는 JSP페이지에 대한 정보를 저장한다.

config

config객체는 JSP페이지에 대한 설정 정보를 저장한다.

exciption

exciption객체는 JSP페이지에 예외가 발생한 경우 사용되는 객체이다.

 

예제EX) request를 이용해 데이터 받아오기

<%@ 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 action="blog2.jsp">
		<input type="text" name="text">
		<input type="submit" value="버튼" >
	</form>
</body>
</html>
<%@ 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>
	<p>작성한 문구: <%=request.getParameter("text") %></p>
</body>
</html>


GET방식과 POST방식의 테이터 전송 방식

데이터 전송 방식에는 GET방식과 POST방식이 있다.

두 방식의 가장 큰 차이점은 전송할 데이터를 담는 위치에 있다.

GET방식

주소에 데이터를 추가해서 전달하는 방식이다.

ex) text.jsp/?name=heekng&age=27

보통 쿼리 문자열(query string)에 포함되어 전송되므로, 길이에 제한이 있으며 주소에 데이터가 보이므로 보안상에 취약점이 존재한다.

보안이 중요한 데이터는 POST방식을 사용하여 요청하는 것이 좋지만 GET방식은 POST방식에 비해 URL에 데이터만 넣어주면 되어 전송속도가 빠르다.

POST방식

데이터를 별도로 첨부하여 전달하는 방식이다.

브라우저 히스토리에도 남지 않고 데이터는 쿼리 문자열과는 별도로 전송된다.

데이터는 header 뒤에 숨어 전송된다.

따라서 길이의 제한이 없고, GET방식보다 보안성이 높다.

하지만 데이터를 담아두는 과정이 존재하기 때문에 GET방식에 비해 전송속도가 느리다.

 

반응형

'JS & TS > Frontend' 카테고리의 다른 글

[JSP] Ajax (jquery)  (0) 2021.03.20
[JSP] JSON  (0) 2021.03.14
[JSP] Ajax  (0) 2021.03.11
[JSP] 자바빈즈(자바 객체)  (0) 2021.02.27
[JSP] JSP문서 작성 및 코드 작성  (0) 2021.02.27
[Servlet] 서블릿 Servlet (개념, 계산기 예제)  (0) 2021.02.27