JSP 내장객체 - accidentlywoo/legacyVue GitHub Wiki

JSP 내장객체

  • 들어가기 전에 JSP에서는 개발자가 선언하지 않아도, 사용할 수 있는 미리 선언된 변수가 존재합니다. 이를 내장객체라고 합니다. 개발자가 선언하지 않았음에도 어떠헤 JSP에서 내장객체를 사용할 수 있는지, 그리고 이 내장 객체를 어떻게 사용해야 하는지에 대해서 알아보도록 하겠습니다.

학습 목표

  1. 내장객체가 무엇인지 이해한다.
  2. 내장객체 종류를 알고 이용할 수 있다.

핵심 개념

  • request
  • response
  • out
  • application
  • page
  • session

학습하기

JSP 내장 객체란?

  • JSP를 실행하면 서블릿 소스가 생성되고 실행된다.
  • JSP에 입력한 대부분의 코드는 생성되는 서블릿 소스의 _jspService()메소드 안에 삽입되는 코드로 생성된다.
  • _jspService()에 삽입된 코드의 윗부분에 미리 선언된 객체들이 있는데, 해당 객체들은 jsp에서도 사용가능하다.
  • response, request, application, session, out 과 같은 변수를 내장객체라고 한다.

내장 객체의 종류

실습코드

  • 내장객체를 사용하는 간단한 예제를 작성해 보도록 하겠습니다.
  • ImplicitObjects.jsp 를 작성해보도록 하겠습니다.

ImplicitObjects.jsp `<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<title>Insert title here</title> <% StringBuffer url = request.getRequestURL();
out.println("url : " + url.toString());
out.println("<br>");

%>

`

ImplicitObjects_jsp.java ` public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException {

......

javax.servlet.jsp.JspWriter _jspx_out = null;

......

out = pageContext.getOut();
......


    StringBuffer url = request.getRequestURL();

    out.println("url : " + url.toString());
    out.println("<br>");`

생각해보기

  1. 내장객체를 JSP 선언문에서 사용할 수 있을까요? 사용할 수 없다면 왜 그럴까요?
⚠️ **GitHub.com Fallback** ⚠️