request 내장 객체
웹 서비스라 함은 웹 기반으로 클라이언트의 요청을 받아서 어떤 응답을 제공해주는 서비스를 말합니다.
이런 웹 서비스를 위한 클라이언트와 웹 서버 사이의 요청과 관련된 정보는 request 객체에 저장되어 관리된다.
그러므로 request 객체를 파악하면 클라이언트에서 서버로 전송되는 데이터를 알 수 있다.
다음은 브라우저의 요청이 있을 때 이와 관련된 정보들을 알려주는 메서드이다.
메 서 드 |
설 명 |
getContextPath( ) |
· JSP 페이지가 속한 웹 어플리케이션의 컨텍스트 패스를 구한다. |
getMethod( ) |
· 요청 방식이 GET 방식인지 POST 방식인지 알려준다. |
getRequestURL( ) |
· 요청 URL을 구한다. |
getRequestURI( ) |
· 요청 URL에서 쿼리 스트링을 제외한 부분을 구한다. |
getQueryString( ) |
· 요청 URL 다음에 오는 쿼리 스트링을 구한다. |
getSession( flag ) |
· 요청 관련된 세션 객체를 구한다. |
getRequestDispacher( path ) |
· 지정 로컬 URL에 대한 RequestDispacher 객체를 구한다. |
getRemoteHost( ) |
· 요청한 호스트의 완전한 이름을 구한다. |
getRemoteAddr( ) |
· 요청한 호트의 네트워크 주소를 구한다. |
getRemoteUser( ) | · 요청한 사용자의 이름을 구한다. |
getSession( ) | · 세션 객체를 구한다. |
getServerName( ) | · 서버의 이름을 구한다. |
getProtocol( ) | · 사용 중인 프로토콜을 알려준다. |
# 소스코드
<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>JSP</title> </head> <body> 컨텍스트 패스 : <%= request.getContextPath() %><br/> 요청방식 패스 : <%= request.getMethod() %><br/> 요청한 URL : <%= request.getRequestURL() %><br/> 요청한 URI : <%= request.getRequestURI() %><br/> 서버의 이름 : <%= request.getServerName() %><br/> 프로토콜 : <%= request.getProtocol() %><br/> </body> </html> |
# 출력결과
위의 실행 결과를 보면 요청 관련 메소드가 어떨 때 쓰이는지 한눈에 파악할 수 있을 겁니다.
지금까지 요청( request )관련 정보를 알려주는 메소드를 살펴보았습니다.
이번에는 request 객체의 요청 파라미터 관련 메서드에 대해어 살펴보겠습니다.
다음은 요청 파라미터 관련 메서드를 정리한 표입니다.
메 서 드 |
설 명 |
getParameter( String name ) |
· 지정한 이름의 파라미터를 구한다. · 지정한 이름의 파라미터가 여러개 있을 경우에는 첫 번째 파라미터의 값을 구한다. |
getParameterNames( ) |
· 모든 파라미터의 이름을 구한다. |
getParameterValues( String name ) |
· 지정한 이름의 파라미터가 여러 개 있을 경우 사용하며 지정한 이름을 가진 파라미터의 모든 값을 String[ ]으로 구한다. |
application 내장 객체
application 내장 객체는 하나의 웹 어플리케이션을 관리하고 웹 어플리케이션 안에서의 자원을 공유한다.
하나의 웹 어플리케이션이란 하나의 웹 프로젝트를 의미한다.
application 객체에 저장된 내용은 하나의 프로제특 내의 모든 JSP 페이지에서 공통적으로 사용할 수 있게 된다.
JSP 페이지에서 생성하지 않고 그냥 가져다 쓰는 application 내장 객체는 어떤 자료형태인지 살펴보자.
서블릿에서 제공하는 ServletContext로 선언된 application 내장 객체는 서버 기동 시 웹 어플리케이션 당 하나만 생성되며
서블릿 컨테이너의 정보를 제공하는 일, 컨테이너에게 로그 처리를 요청하는 일 등을 구현할 수 있는 다양한 메소드를 지원한다.
JSP가 서블릿 컨테이너에 의해 서블릿으로 변환 될 때,
자동으로 ServletContext 인터페이스를 구현해서 어플리케이션 내장 객체를 활용할 수 있게 해준다.
다음은 application 객체 관련 메소드를 정리한 표이다.
메 서 드 |
설 명 |
getServerInfo( ) |
· 컨테이너의 이름과 버전을 반환한다. |
getContextPath( ) |
· 웹 어플리케이션의 URL 경로 중 컨텍스트 패스명을 반환한다. |
getRealPath( ) |
· JSP의 실제 경로를 반환한다. |
getMimeType( filename ) |
· 지정된 파일의 MIME 타입을 반환한다. |
log( message ) |
· 지정된 message의 로그를 저장한다. |
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> |