HTTP method 확인
String method = request.getMethod();
ContextPath
String cp = request.getContextPath();
//: /study
요청 URL
String url = request.getRequestURL().toString();
//http://localhost:9090/study/0222/test3_ok.jsp
String path = request.getScheme() + "://"
+ request.getServerName() + ":"
+ request.getServerPort()
+ request.getContextPath(); //http://localhost:9090/study
URL에서 스키마, 서버이름, 포트번호를 제외한 나머지 주소와 파라미터
String excludeHost = request.getRequestURI();
//: /study/0222/test3_ok.jsp
https와 같은 보안 채널의 사용 여부 true/false
local의 기본 정보 (서버의 정보)
request.getLocalAddr();
request.getLocalName();
request.getLocalPort();
클라이언트의 ip 및 포트 정보
Remote IP: <%= request.getRemoteAddr()%>
Remote Host: <%= request.getRemoteHost()%>
Remote Port: <%= request.getRemotePort()%>
<%
String ip = request.getHeader("HTTP_X_FORWARDED_FOR");
if (ip == null || ip.length() == 0 || ip.toLowerCase().equals("unknown")) {
ip = request.getHeader("REMOTE_ADDR");
}
if (ip == null || ip.length() == 0 || ip.toLowerCase().equals("unknown")) {
ip = request.getRemoteAddr();
}
%>
지역 정보
사용하는 프로토콜
request.getProtocol(); // HTTP/1.1, '프로토콜/메이저버전.마이너버전'
session id
request.getRequestedSessionId(); // session id
request.getSession().getId(); // session id
request.isRequestedSessionIdFromCookie(); // session id가 쿠키로 제공되었는지 여부
request.isRequestedSessionIdFromURL(); // session id가 URL의 일부로 제공되었는지 여부
request.isRequestedSessionIdValid(); // session이 아직 유효한지
Request 객체를 통해서 쿠키 전체 보는 방법
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);
}
폼 데이터 받기
Enumeration eParam = request.getParameterNames();
while (eParam.hasMoreElements()) {
String pName = (String)eParam.nextElement();
String pValue = request.getParameter(pName);
logger.debug(pName + " : " + pValue);
}
request body로 넘어오는 데이터
DataInputStream dis = new DataInputStream(request.getInputStream());
String str;
while ((str = dis.readLine()) != null) {
logger.debug(new String(str.getBytes("ISO-8859-1"), "euc-kr")+"<br/>");
// utf-8로 전송된 한글은 깨짐
}
Request.attribute
attribute 전체 확인
Enumeration eAttr = request.getAttributeNames();
while (eAttr.hasMoreElements()) {
String aName = (String)eAttr.nextElement();
String aValue = (String)request.getAttribute(aName);
logger.debug(aName + " : " + aValue);
}
forward
request.getAttribute("javax.servlet.forward.request_uri");
request.getAttribute("javax.servlet.forward.context_path");
request.getAttribute("javax.servlet.forward.servlet_path");
request.getAttribute("javax.servlet.forward.path_info");
request.getAttribute("javax.servlet.forward.query_string");
include
request.getAttribute("javax.servlet.include.request_uri");
request.getAttribute("javax.servlet.include.query_string");
request.getAttribute("javax.servlet.include.path_info");
request.getAttribute("javax.servlet.include.servlet_path");
request.getAttribute("javax.servlet.include.context_path");