[JSP study] JSP 내장 객체

Noah97·2022년 5월 16일
0

JspStudy

목록 보기
4/18
post-thumbnail

내장 객체 종류

내장 객체 변수명클래스/인터페이스 타입설명
requestjavax.servlet.ServletRequest(javax.servlet.http.HttpServletRequest클라이언트의 HTTP 요청 정보를 저장한 객체(HTTP 헤더 정보, 파라미터 등)
responsejavax.servlet.ServletResponse(javax.servlet.http.HttpServletResponse)HTTP 요청에 대한 응답 정보를 저장한 객체
sessionjavax.servlet.http.HttpSession클라이언트의 세션 정보를 저장한 객체
pageContextjavax.servlet.PageContext페이지 실행에 필요한 컨텍스트 정보를 저장한 객체
outjavax.servlet.jsp.JspWriter응답 페이지 전송을 위한 출력 스트림 객체
applicationjavax.servlet.ServletContext동일한 애플리케이션의 컨텍스트 정보를 저장한 객체
configjavax.servlet.ServletConfig해당 페이지의 서블릿 설정 정보(초기화 정보)를 저장한 객체
pagejava.lang.Object(javax.servlet.jsp.HttpJspPage)해당 페이지 서블릿 객체(인스턴스)
exceptionjava.lang.Throwable예외 처리를 위한 객체

1. request 객체

String메소드명설명
StringgetParameter(String name)name이란 이름으로 지정된 파라미터에 할당된 값을 리턴한다.
지정된 이름의 파라미터가 없으면 null을 리턴한다.
String[]getParameterValues(String name)name이란 이름으로 지정된 파라미터의 모든 값을 String 배열로 리턴한다.
하나의 이름으로 여러 개의 값을 가질 수 있는 checkbox와 같은 태그를 사용했을 때에 주로 사용되며
하나의 이름에 하나의 값만 가지는 파라미터는 getParameter(String name)메소드를 사용하는 것이 좋다
EnumerationgetParameterNames()요청에 포함된 모든 파라미터 이름을 java.util.Enumeration객체로 리턴한다.

1.1 HTTP 헤더 정보와 관련된 메소드들

리턴타입메소드명설명
StringgetHeader(String headerName)HTTP요청 헤더에 headerName으로 지정된 이름으로 할당된 값을 리턴한다. headerName으로 지정된 이름이 없을 경우 null을 리턴한다.
EnumerationgetHeaders(String headerName)headerName으로 지정된 이름으로 할당된 모든 값은 java.util.Enumeration 객체로 리턴한다.
EnumerationgetHeaderNames()HTTP 요청 헤더에 포함된 모든 헤더 이름을 java.util.Enumeration 객체로 리턴한다.
intgetIntHeader(String headerName)headerName 헤더의 값을 int 타입으로 리턴한다.
지정된 헤더값을 int로 변환할 수 없을 경우에는 NumberFormatException이 발생하고 headerName헤더가 없을 경우에는 -1을 리턴한다.

1.2 세션 정보와 관련된 메소드들

리턴타입메소드명설명
HttpSessiongetSession()요청한 클라이언트에 할당된 HttpSession객체를 반환한다.
이전에 생성된 HttpSession 객체가 없으면 새로운 객체를 생성해 할당한다.
HttpSessiongetSession(Boolean create)create가 true일 경우 getSession() 메소드와 동일한 결과를 리턴하지만
create를 false로 지정하면 이전에 생성된 httpSession객체가 없을 경우
null을 리턴한다.
StringgetRequestedSessionId()요청한 클라이언트에 지정된 세션의 ID를 문자열로 리턴한다.
booleanisRequestedSessionValid()요청에 포함된 클라이언트의 세션 ID가 유효하면 true를 아니면 false를 리턴한다.

1.3 쿠키, URL/URI, 요청 방식과 관련된 메소드들

리턴타입메소드명설명
Cookie[]getCookies()HTTP 요청 메시지의 헤더에 포함된 쿠키를 javax.servlet.http.Cookie배열로 리턴한다.
StringgetServerName()서버의 도메인명을 문자열로 리턴한다.
StringgetQueryString()요청에 사용된 쿼리 문장을 문자열로 리턴한다.
StringBuffergetRequestURL()요청 URL을 StringBuffer로 리턴한다.
StringgetRemoteHost()클라이언트의 호스트 이름을 문자열로 리턴한다.
StringgetRemoteAddr()클라이언트의 IP주소를 문자열로 리턴한다.
StringgetProtocol()요청에 사용된 프로토콜 이름을 문자열로 리턴한다.
StringgetMethod()요청에 사용된 요청 방식(GET, POST등)을 문자열로 리턴한다.
StringgetContextPath()해당 JSP페이지의 컨텍스트 경로를 문자열로 리턴한다.
intgetServerPort()서버 포토 번호를 int형으로 리턴한다.

2. reponse 객체

리턴타입메소드명설명
없음setHeader(String headerName, String headerValue)응답에 포함될 헤더 정보에 headerName의 이름으로
headerValue값을 설정해 추가한다.
없음addCookie(Cookie cookie)javax.servlet.http.Cookie 타입의 쿠키 객체를 응답 헤더에 추가한다.
쿠키에 대해서는 Chapter 8에서 자세히 다룬다.
없음sendRedirect(String url)지정된 URL로 요청을 재전송한다.
없음setContentType(String type)응답 페이지의 contentType을 설정한다.

3. pageContext 객체

리턴타입메소드명설명
ServletRequestgetRequest()클라이언트의 요청 정보를 담고 있는 객체를 리턴한다.(request 내장 객체를 리턴한다.)
ServletResponsegetResponse()요청에 대한 응답 객체를 리턴한다(response 내장 객체를 리턴한다.)
JspWritergetOut()응답 출력 스트림을 리턴한다(out 내장 객체를 리턴한다.)
ObjectgetPage()서블릿 인스턴스 객체를 리턴한다(page 내장 객체를 리턴한다.)
ServletConfiggetServletConfig()서블릿의 초기 설정 정보를 담고 있는 객체를 리턴한다.(config 내장 객체를 리턴한다.)
ServletContextgetServletContext()서블릿의 실행 환경 정보를 담고 있는 객체를 리턴한다.(application 내장 객체를 리턴한다.
HttpSessiongetSession()클라이언트의 세션 정보를 담고 있는 객체를 리턴한다.(session 내장 객체를 리턴한다.)
없음forward(String url)현재 페이지의 요청과 응답에 관한 제어권을 URL로 지정된 주소로 영구적으로 넘긴다.
forward된 페이지의 요청 처리가 종료되면 응답도 종료된다.
없음include(String url)현재 페이지의 요청과 응답에 관한 제어권을 URL로 지정된 주소로 임시로 넘긴다.
include된 페이지의 처리가 끝나면 제어권은 다시 원래의 페이지로 돌아온다. 따라서
include로 지정된 페이지의 내용을 원래 페이지에 삽입하는 효과를 가진다.

4. session 객체

리턴타입메소드명설명
StringgetId()해당 세션의 세션 ID를 문자열로 리턴한다. 세션 ID는 session객체 생성 시에 웹 컨테이너에 의해
자동으로 할당된다.
longgetCreationTime()1970년 1월 1일 00시 00분 00초(epoch)부터 해당 세션이 생성된 순간 까지의 경과 시간을
밀리초로 계산하여 long형으로 리턴한다.
longgetLastAccessedTime()epoch로부터 해당 세션에 마지막으로 접근된 시간까지의 경과 시간을
밀리초로 계산하여 long형으로 리턴한다
intgetMaxInactiveInterval()클라이언트의 요청이 없을 시 서버가 해당 세션을 유지하도록 지정된 시간을 초 단위의 정수
로 리턴한다
없음invalidate()세션의 속성 값으로 저장된 모든 객체를 반납하여 해당 세션을 종료 시킨다.
booleanisNew()새로운 세션일 경우 true를 리턴하고 기존에 세션이 유지되고 있으면 false를 리턴한다.
없음setMaxInactiveInterval(int seconds)클라이언트의 요청이 없더라도 세션을 유지할 시간을 초 단위의 정수값으로 설정한다.
음수로 설정할 경우 세션은 무효화(invalidate)되지 않는다.
없음forward(String url)현재 페이지의 요청과 응답에 관한 제어권을 URL로 지정된 주소로 영구적으로 넘긴다.
forward된 페이지의 요청 처리가 종료되면 응답도 종료된다.
없음include(String url)현재 페이지의 요청과 응답에 관한 제어권을 URL로 지정된 주소로 임시로 넘긴다.
include된 페이지의 처리가 끝나면 제어권은 다시 원래의 페이지로 돌아온다.
따라서 include로 지정된 페이지의 내용을 원래 페이지에 삽입하는 효과를 가진다.

5. application 객체

리턴타입메소드명설명
intgetMajorVersion()Servlet API 스펙의 Major 버전을 int로 리턴한다.
intgetMinorVersion()Servlet API 스펙의 Minor 버전을 int로 리턴한다.
StringgetServerInfo()서블릿/JSP 컨테이너의 이름과 버전을 문자열로 리턴한다.
StringgetMimeType(String file)서버에 존재하는 file이란 이름을 가진 파일의 MIME 타입을 문자열로 리턴한다.
java.net.URLgetResource(String path)path로 지정된 경로의 자원을 URL 객체로 리턴한다.
자원이 존재하지 않으면 null을 리턴한다.
InputStreamgetResourceAsStream(String path)path로 지정된 경로의 자원을 InputStream 객체로 리턴한다.
자원이 존재하지 않으면 null을 리턴한다.
StringgetRealPath(String path)path로 지정된 경로의 자원을 서버의 실제 파일 시스템상의 경로로 바꾸어
문자열로 리턴한다.
없음log(String msg)문자열 msg를 서블릿 로그 파일에 기록한다.
없음log(String msg,
java.lang.Throwable exception)
문자열 msg와 예외의 StackTrace정보를 로그 파일에 기록한다.

6. out 객체

리턴타입메소드명설명
없음clear()출력 버퍼에 저장된 내용을 버린다.
만일 이미 버퍼가 다 채워져서 클라이언트로 전송되었을 경우에는 예외를 발생시킨다.
없음clearBuffer()출력버퍼에 저장된 내용을 버린다. clear()메소드와는 다르게 버퍼에 담긴 내용이 이미
전송된 이후에도 예외를 발생시키지 않고 현재 저장되어 있는 버퍼만을 버린다.
없음flush()현재 버퍼에 저장되어 있는 내용을 클라이언트로 전송하고 버퍼를 비운다.
없음close()출력 버퍼를 클라이언트로 전송하고 출력 스트림을 종료한다.
booleanisAutoFlush()page지시어의 autoFlush속성으로 지정된 값을 리턴한다. 즉 출력 버퍼가 다 채워졌을 때
버퍼 내용을 클라이언트로 전송하도록 지정되어 있으면 true를 리턴하고,
출력 버퍼가 다 채워졌을 때 예외가 발생하도록 지정되어 있으면 false를 리턴한다.
intgetBufferSize()출력 버퍼의 크기를 바이트 단위로 계산하여 정수 값으로 리턴한다.
intgetRemaining()출력 버퍼의 남은 양을 바이트 단위로 계산하여 정수 값으로 리턴한다.
없음print(String str)출력 스트림으로 str 문자열을 출력한다.

7.config 객체

리턴타입메소드명설명
StringgetInitParameter(String
init_paramName)
컨테이너의 설정 파일에 저장되어 있는 초기 파라미터 값 중 init_paramName의
이름을 가진 파라미터 값을 리턴한다. init_paramName의 이름을 가진 파라미터
가 없을 경우 null을 리턴한다.
EnumerationgetInitParameterNames()컨테이너의 설정 파일에 저장되어 있는 모든 초기 파라미터 이름을 Enumeration
타입으로 리턴한다.
StringgetServletName()해당 서블릿의 이름을 문자열로 리턴한다.

8. exception 객체

리턴타입메소드명설명
StringgetMessage()에러 메시지를 문자열로 리턴한다.
없음printStackTrace()해당 에러의 StackTrace 정보를 출력한다.
없음printStackTrace(PrintWriter out)해당 에러의 StackTrace 정보를 PrintWriter 객체 out으로 출력한다.
없음printStackTrace(PrintStream out)해당 에러의 StackTrace 정보를 PrintStream 객체 out으로 출력한다.
profile
안녕하세요 반갑습니다😊

0개의 댓글