개발자가 JSP 파일 내에 객체를 생성하지 않고 바로 사용할 수 있는 객체가 내장 객체이다. JSP에서 제공되는 내장객체는 JSP 컨테이너에 의해 서블릿으로 변환될 때 자동으로 객체가 생성된다.
JSP 내장 객체의 종류
Request 객체의 이해
웹 브라우저를 통해 서버에 어떤 정보를 요청하는 것을 request라고 한다. 이러한 요청 정보가 담기고 관리하는 곳이 Request 객체이다.
Request 객체가 제공하는 기능
1. 클라이언트(웹 브라우저)와 관련된 정보 읽기 기능 2. 서버와 관련된 정보 읽기 기능 3. 클라이언트가 전송한 요청 파라미터 읽기 기능 4. 클라이언트가 전송한 쿠키 읽기 기능
Response 객체의 이해
웹 브라우저의 요청에 응답하는 것을 Response라고 한다. 이러한 응답의 정보를 가지고 있는 객체를 Response 객체라고 한다.
OUT 객체의 이해
JSP 페이지가 생성하는 모든 내용은 Out 기본 객체를 통해 전송된다. JSP 페이지 내에서 사용하는 비스크립트 요소들(HTML 코드와 텍스트)이 Out 객체에 전달된다. 값을 출력하는 표현식(Expression)의 결과값도 Out객체에 전달된다. 표현식으로 대체한다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
// 여기서 만들고
//request는 자동으로 생성되는 내장객체. 그래서 request변수에 . 찍어서 사용함
StringBuffer url = request.getRequestURL(); // 전체 주소
String uri = request.getRequestURI(); // 서버 주소를 뺀 나머지
String path = request.getContextPath(); // 컨패스 - was가 프로젝트를 구분하는 최상위 경로
String addr = request.getRemoteAddr(); // 요청한 사람의 아이피 주소
String query = request.getQueryString(); // url주소에 담긴 데이터를 전체 문자열로 얻음
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 여기서 실행 -->
<h3>리퀘스트 객체 확인하기</h3>
URL: <%= url %> <br>
URI: <%= uri %> <br>
ContextPath: <%= path %> <br>
접속한 주소: <%= addr %> <br>
쿼리스트링: <%= query %> <br>
</body>
</html>