request는 JSP에서 가장 사용되는 객체입니다.
Http프로토콜의 request 정보를 서블릿에게 전달하기 위한 목적으로 사용됩니다.
서버가 브라우저로부터 Servlet요청을 받으면 전달 받은 정보를 HttpServletRequest객체를 생성하여 저장합니다.
request.getRequestURL()
반환 예시 : ttp://test.co.kr:8080/app/test.jsp
request.getRequestURI()
반환 예시 : /app/test.jsp
URL에서 스키마, 서버이름, 포트번호를 제외한 나머지 주소와 파라미터를 반환합니다.
request.getScheme()
반환 예시 : http
http, https, ftp와 같은 프로토콜을 반환합니다.
request.getServerName
반환 예시 : test.co.kr
서버의 이름을 반환합니다.
request.getServerPort()
반환 예시 : 8080
서버포트를 반환합니다.
request.getContextPath
반환 예시 : /app
Context 경로를 반환합니다.
request.getMethod()
반환 예시 : GET
GET / POST 등의 HTTP 메소드를 반환합니다.
request.isSecure()
반환 예시 : false
SSL 보안 여부, http와 같은 보안 채널의 사용여부를 true / false 로 반환합니다.
request.getLocale()
반환 예시 : ko_KR
지역정보를 반환합니다.
request.getProtocol()
반환 예시 : HTTP/1.1
자주사용하는 프로토콜, 프로토콜/메이저버전, 마이너버전을 반환합니다.
request.getLocalAddr()
반환 예시 : 127.0.0.1
Local IP를 반환합니다.
request.getLocalName()
반환 예시 : localhost
Local Name을 반환합니다.
request.getLocalPort()
반환 예시 : 8080
Local Port를 반환합니다.
request.getRemoteAddr()
반환 예시 : 127.0.0.1
Remote IP를 반환합니다.
request.getRemoteHost()
반환 예시 : 127.0.0.1
Remote Host를 반환합니다.
request.getRemotePort()
반환 예시 : 60361
Remote Port를 반환합니다.
request.getSession()
세션을 바인딩하여 반환하는 메소드입니다.
반환값 | 설명 | |
---|---|---|
session.isNew() | true / false | 세션을 새로 생성해서 바인딩 한 경우 true 트랙킹해 반환하면 false |
session.getId() | 39AE7AC19BC174D803C2A7BD8638E382 | 세션아이디를 반환하는 메소드 클라이언트에 저장된 JSESSIONID 쿠키값과 동일 |
request.getRequestedSessionId()
반환 예시 : 39AE7AC19BC174D803C2A7BD8638E382
요청한 클라이언트에 지정된 세션의 ID를 문자열로 나타냅니다.
request.getParameterNames()
반환 예시 : java.util.Enumeration
모든 파라미터명을 반환합니다.
request.getParameter(name)
반환 예시 : /app/test.jsp?name=testName 과 같이 요청했을 경우 testName 을 반환
파라미터명으로 파라미터 값을 반환합니다.
Enumeration params = request.getParameterNames();
while (params.hasMoreElements()) {
String name = (String) params.nextElement();
String value = request.getParameter(name);
logger.debug(name + "=" + value);
}
rquest.getCookies()
반환 예시 : Array
모든 쿠키값을 반환합니다.
Cookie cookies[] = request.getCookies();
for(int i = 0; i < cookies.length; i++) {
String name = cookies[i].getName();
String value = cookies[i].getValue();
logger.debug(name + "=" + value);
}
JSESSIONID=39AE7AC19BC174D803C2A7BD8638E382
request.getAttributeNames()
모든 Attribute 속성 명을 Enumeration<String> 객체로 반환합니다.
request.getAttribute(name)
Attribute명으로 Attribute 값을 반환합니다.
Enumeration<String> attrs = request.getAttributeNames();
while (attrs.hasMoreElements()) {
String name = (String)attrs.nextElement();
String value = (String)request.getAttribute(name);
logger.debug(name + " : " + value);
}
request.getHeaderNames()
반환 예시 : java.util.Enumberation
모든 헤더 명을 반환합니다.
request.getHeader("user-agent")
반환 예시 : Mozilla/5.0...
헤더명으로 헤더값을 반환합니다.
Enumeration<String> headers = request.getHeaderNames();
while (headers.hasMoreElements()) {
String name = (String) headers.nextElement();
String value = request.getHeader(name);
logger.debug(name + "=" + value);
}
host=test.co.kr:8080
connection=keep-alive
cache-control=max-age=0
upgrade-insecure-requests=1
user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36
accept=text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/ *;q=0.8
accept-encoding=gzip, deflate
accept-language=ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7,ja;q=0.6,es;q=0.5
cookie=JSESSIONID=26356CFACA2FFA1B4AA25C75D291E028