JSP/내장 객체

내장 객체 기본 개념 / request 내장 객체

별초롱언니 2025. 5. 23. 16:50

내장객체는 JSP페이지에서 사용할 수 있도록 JSP 컨테이너에 미리 정의된 객체로 그 종류가 다양합니다. JSP 페이지가 서블릿 프로그램으로 번역될 때 JSP 컨테이너가 자동으로 내장 객체를 멤버 변수, 메소드 매개변수 등의 각종 참조변수로 포함합니다. 그래서 JSP 페이지에 별도의 import 문 없이 자유롭게 사용할 수 있습니다. 그리고 스크립틀릿 태그나 표현문 태그에 선언을 하거나 객체를 생성하지 않고도 직접 호출하여 사용할 수 있습니다. 

 

모든 내장 객체는 JSP 컨테이너가 관리하는 객체로, 이 중 request, session, application, pageContext를 이용하여 속성을 관리할 수 있습니다. 속성은 각각의 내장 객체가 존재하는동안 JSP 페이지 사이에서 정보를 주고받거나 공유하는 데 사용됩니다. 

 

request 내장 객체

request 내장 객체는 JSP 페이지에서 가장 많이 사용되는 기본 내장 객체로, 웹 브라우저에서 서버의 JSP 페이지로 전달하는 정보를 저장합니다. 즉 폼 페이지로부터 입력된 데이터를 전달하는 요청 파라미터 값을 JSP 페이지로 가져옵니다. JSP 컨테이너는 웹 브라우저에서 서버로 전달되는 정보를 처리하기 위해 jakarta.servlet.http.HttpServletRequest 객체타입의 request 내장 객체를 사용하여 사용자의 요구 사항을 얻어냅니다. 

 

1. 요청 파라미터 관련 메소드 

요청 파라미터는 사용자가 폼 페이지에 데이터를 입력한 후 서버에 전송할 때 전달되는 폼 페이지의 입력된 정보 형태를 말합니다. 이러한 요청 파라미터는 <name=value> 형식으로 웹브라우저에서 서버의 JSP 페이지로 전송됩니다. 

 

요청 파라미터는 폼 페이지에서 <input type="text"> 처럼 입력 양식이 텍스트 유형일 때 값을 입력하지 않으면 서버로 빈 문자열이 전송됩니다. 하지만 체크 박스와 라디오 버튼 유형일 때 어떤 것도 선택하지 않고 전송하면 요청 파라미터 자체가 전달되지 않습니다. 

<%@ 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>
	<% 
		String id = (String)request.getAttribute("userid");
		String pw = (String)request.getAttribute("userpw");		
	%>
	<p> 아이디 : <%= id %>
	<p> 패스워드 : <%= pw %>
</body>
</html>


2. 요청 HTTP 헤더 관련 메소드

웹 브라우저는 HTTP 헤더에 부가적인 정보를 담아 서버로 전송합니다. 

<%@page import="java.util.Enumeration"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.HashMap"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>헤더정보</h1>
	<%
		HashMap<String,String> data = (HashMap<String,String>)request.getAttribute("mapdate");
		for (String key : data.keySet()) {
			String value = data.get(key);
			out.print("<p>"+key+":"+value+"</p>");
		}
	%>
</body>
</html>


3. 웹 브라우저 / 서버 관련 메소드 

<%@ 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>
	<p>클라이언트 IP : <%=request.getRemoteAddr() %>
	<p>요청 정보 길이 : <%=request.getContentLength() %>
	<p>요청 정보 인코딩 : <%=request.getCharacterEncoding() %>
	<p>요청 정보 콘텐츠 유형: <%=request.getContentType() %>
	<p>요청 정보 프로토콜 : <%=request.getProtocol() %>
	<p>요청 정보 전송방식 : <%=request.getMethod() %>
	<p>요청 URL : <%=request.getRequestURL() %>
	<p>콘텍스트 경로 : <%=request.getContextPath() %>
	<p>서버이름 : <%=request.getServerName() %>
	<p>서버포트 : <%=request.getServerPort() %>
	<p>쿼리문 : <%=request.getQueryString() %>
</body>
</html>

 

'JSP > 내장 객체' 카테고리의 다른 글

out 내장 객체  (0) 2025.05.24
response 내장 객체  (1) 2025.05.23