
jsp 페이지를 작성할 때 특별한 기능을 제공하는 객체로, JSP 컨테이너가 제공함
내부 객체는 사용자가 직접적으로 선언해서 사용하는 게 아니라, JSP 컨테이너가 내부 객체를 약속된 이름으로 생성해서 제공함

request, session, application, pageContext 내부 객체는 임의의 속성 값을 저장하고 읽을 수 있는 메소드를 제공하고 있음
setAttribute(key, value) : 주어진 키에 속성값을 연결함getAttributeNames() : 모든 속성의 이름을 얻어냄getAttribute(key) : 주어진 키에 연결된 속성값을 얻어냄removeAttribute(key) : 주어진 키에 연결된 속성값을 제거함
브라우저에서 jsp 페이지로 전달되는 데이터의 묶음으로, HTTP 헤더와 HTTP 바디로 구성되어 있음
String getParameter(name): name에 할당된 값을 반환하며 지정된 파라미터 값이 없으면 null 값을 반환함String[] getParameterValues(name): name의 모든 값을 String 배열로 반환함Enumeration getParameterNames(): 요청에 사용된 모든 파라미터 이름을 java.util.Enumeration 타입으로 반환함void setCharacterEncoding(env): post 방식으로 요청된 문자열의 character encoding을 설정함// request1.html
<input name="name"><br/>
<input name="studentNum"><br/>
// request1.jsp
<%@ page contentType="text/html;charset=EUC-KR"%>
<%
request.setCharacterEncoding("EUC-KR");
String name = request.getParameter("name");
String studentNum = request.getParameter("studentNum");
%>
// 위와 같이 사용자가 입력 폼으로부터 입력한 값을 jsp 페이지 내에서 값을 받아와 처리할 수 있음
요청을 시도한 클라이언트로 전송할 응답을 나타내는 데이터의 묶음
void setHeader(name, value): 응답에 포함될 Header를 설정함void setContentType(type): 출력되는 페이지의 contentType을 설정함String getCharacterEncoding(): 요청에 사용된 Query 문장을 반환함void sendRedirect(url): 지정된 URL로 요청을 재전송함
jsp 페이지가 클라이언트에게 보내는 모든 정보는 out 객체를 통해서 전달됨
boolean isAutoFlush(): 출력 버퍼가 다 채워져 자동으로 flush 했을 경우에는 true 반환int getBufferSize(): 출력 버퍼의 전체 크기를 바이트 단위로 반환int getRemaining(): 출력 버퍼의 남은 양을 바이트 단위로 반환void clearBuffer(): 현재 출력 버퍼에 저장된 내용을 취소함String println(string): string을 브라우저에 출력함void flush(): 현재 출력 버퍼의 내용을 flush하여 클라이언트로 전송함void close(): 현재 출력 버퍼의 내용을 flush하고 스트림을 닫음
클라이언트 요청에 대한 context의 세션과 관련된 정보를 저장하고 관리함
page 지시자의 session 속성이 true로 설정되어 있어야 사용할 수 있음
(session 객체가 필요 없는 페이지라면 session 속성을 false로 설정하는 게 자원 활용에 도움이 됨)
String getId(): 해당 세션의 세션 ID를 반환함long getCreationTime(): 세션의 생성된 시간을 반환함long getLastAccessedTime(): 클라이언트 요청이 마지막으로 시도된 시간을 반환함void setMaxInactiveInterval(time): 세션을 유지할 시간을 초단위로 설정함boolean isNew(): 클라이언트 세션 ID를 할당하지 않은 경우 true 값을 반환함void invalidate(): 해당 세션을 종료시킴
서블릿 또는 애플리케이션 외부 환경 정보(Context)를 나타내는 내부 객체
애플리케이션이 실행되는 서버의 정보와 서버 측 자원에 대한 정보를 얻어낼 수 있음
String getServerInfo(): 서블릿 컨테이너의 이름과 버전을 반환함String getMimeType(fileName): 지정한 파일의 MIME 타입을 반환함String getRealPath(url): URL을 로컬 파일 시스템으로 변경하여 반환함void log(message): 로그 파일에 message를 기록함
현재 jsp 페이지의 Context를 나타내며, pageContext 내부 객체를 통해 다른 내부 객체에 접근할 수 있음
// out의 내부 객체 구하기
JspWriter pageOut = pageContext.getOut()
ServletRequest getRequest(): 서블릿 컨테이너의 이름과 버전을 반환함ServletResponse getResponse(): 페이지 요청에 대한 응답 객체를 반환함JspWriter getOut(): 페이지 요청에 대한 응답 출력 스트림을 반환함HttpSession getSession(): 요청한 클라이언트의 세션 정보를 담고 있는 객체를 반환함ServletContext getServletContext(): 페이지에 대한 서블릿 실행 환경 정보를 담고 있는 객체를 반환함Object getPage(): 페이지의 서블릿 객체를 반환함ServletConfig getServletConfig(): 페이지의 서블릿 초기 설정 정보를 담고 있는 객체를 반환함Exception getException(): 페이지 실행 중에 발생되는 에러 페이지에 대한 예외 객체를 반환함
jsp 페이지 그 자체를 나타내는 객체
jsp 페이지 내에서 page 객체는 this 키워드로 자기 자신을 참조할 수 있음
<%
String pageInfo = this.getServletInfo();
%>
서블릿을 초기화하는 동안 참조해야 할 정보를 전해주는 역할
Enumeration getInitParameterNames(): 서블릿 설정 파일에 지정된 초기 파라미터 이름을 반환함String getInitParameter(name): 지정한 name의 초기 파라미터 이름을 반환함String getServletName(): 서블릿의 이름을 반환함ServletContext getServletContext(): 실행하는 서블릿 ServletContext를 반환함
jsp 페이지에서 발생한 예외를 처리하는 페이지를 지정한 경우, 에러 페이지에 전달되는 예외 객체
String getMessage(): 에러 메시지를 반환함String toString(): 에러 실체의 클래스명과 에러 메시지를 반환함