HTTP method 확인
String method = request.getMethod(); | cs |
ContextPath
String cp = request.getContextPath(); //: /study | cs |
요청 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 | cs |
URL에서 스키마, 서버이름, 포트번호를 제외한 나머지 주소와 파라미터
String excludeHost = request.getRequestURI(); //: /study/0222/test3_ok.jsp | cs |
https와 같은 보안 채널의 사용 여부 true/false
Secure Channel : <%=request.isSecure()%> | cs |
클라이언트의 이전 주소
String referrer = request.getHeader("Referer"); //: http://localhost:9090/study/0222/test3.jsp | cs |
클라이언트의 사용언어
String lang = request.getHeader("Accept-Language"); // ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4 | cs |
브라우저, 운영체제정보
String bw = request.getHeader("User-Agent"); //Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17 | cs |
local의 기본 정보 (서버의 정보)
Local IP: <%= request.getLocalAddr()%> Local Name: <%= request.getLocalName()%> Local Port: <%= request.getLocalPort()%> | cs |
클라이언트의 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(); } %> | cs |
서버 이름과 포트 (일반적으로 local 기본정보와 동일)
Server Name: <%= request.getServerName()%> Server Port: <%= request.getServerPort()%> | cs |
지역 정보
Locale: <%= request.getLocale()%> | cs |
사용하는 프로토콜 ("프로토콜/메이저버전.마이너버전"의 형태)
Protocol: <%= request.getProtocol()%> | cs |
세션 ID에 대한 정보
Session ID : <%= request.getRequestedSessionId()%> Session ID from Cookie : <%= request.isRequestedSessionIdFromCookie()%> Session ID from URL : <%= request.isRequestedSessionIdFromURL()%> Session ID is still valid : <%= request.isRequestedSessionIdValid()%> | cs |
요청에 대한 URL, 컨텍스트 경로, 서블릿 경로, GET/POST 등의 메서드
<% /* * Tomcat 5.5 이후 포워딩 된 jsp 에서 getRequestURI() 혹은 * getRequestURL()의 값이 이상해진 경우 * 예를 들어 서블릿 에서 * uri : cp/bbs/list.ation * jsp 위치(포워딩 jsp) : /WEB-INF/views/bbs/list.jsp 인경우 * * 포워딩 된 jsp에서 위 메서드를 사용하면 * * /cp/WEB-INF/views/bbs/list.jsp * http://localhost:8080/cp/WEB-INF/views/bbs/list.jsp 로 jsp가 존재하는 경로가 표시된다. * * 하지만 서블릿에서 위 메서드를 사용하면 * * /cp/bbs/list.ation * http://localhost:8080/cp/bbs/list.ation 로 표시된다. * * 만약 포워딩 된 jsp에서 브라우저 주소를 가져오기 위해서는 다음 방법을 이용한다. * String url=request.getAttribute("javax.servlet.forward.request_uri"); * * - 기타 속성 * javax.servlet.forward.request_uri * javax.servlet.forward.context_path * javax.servlet.forward.servlet_path * javax.servlet.forward.path_info * javax.servlet.forward.query_string * - http://localhost:8080/study/jsp/test.jsp?name="hong" 에서의 출력 결과 * javax.servlet.forward.request_uri -> /study/jsp/test.jsp * javax.servlet.forward.servlet_path -> /jsp/test.jsp * javax.servlet.forward.context_path -> /studt * javax.servlet.forward.path_info -> null * javax.servlet.forward.query_string -> name="hong" */ String cp = request.getContextPath(); String path =request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + cp; String useBrowser = request.getHeader("User-Agent"); String fileType = request.getHeader("Accept"); String method = request.getMethod(); StringBuffer url = request.getRequestURL(); String uri = request.getRequestURI(); // User-Agent : 유저 에이전트는 브라우저 명 알기 %> | cs |
include 된 페이지의 URL
<%= request.getAttribute( "javax.servlet.include.request_uri" )%> // 그 외 include 된 페이지 정보 구하기 <%= 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")%> <%= request.getAttribute("javax.servlet.include.request_uri")%> | cs |
Header 전체 정보
<% Enumeration eHeader = request.getHeaderNames(); while (eHeader.hasMoreElements()) { String hName = (String)eHeader.nextElement(); String hValue = request.getHeader(hName); out.println(hName + " : " + hValue); } %> | cs |
Request 객체를 통해서 쿠키 전체 보는 방법
<% Cookie cookies[] = request.getCookies(); for(int i=0 ; i<cookies.length ; i++) { String name = cookies[i].getName(); String value = cookies[i].getValue(); out.println(name + " : " + value); } %> | cs |
폼 데이터 받기
<% Enumeration eParam = request.getParameterNames(); while (eParam.hasMoreElements()) { String pName = (String)eParam.nextElement(); String pValue = request.getParameter(pName); out.println(pName + " : " + pValue); } %> | cs |
request body로 넘어오는 데이터
<% DataInputStream dis = new DataInputStream(request.getInputStream()); String str; while ((str = dis.readLine()) != null) { out.println(new String(str.getBytes("ISO-8859-1"), "euc-kr")+"<br/>"); // utf-8로 전송된 한글은 깨짐 } %> | cs |
request.attribute 전체 확인
<% Enumeration eAttr = request.getAttributeNames(); while (eAttr.hasMoreElements()) { String aName = (String)eAttr.nextElement(); String aValue = (String)request.getAttribute(aName); out.println(aName + " : " + aValue); } %> | cs |
'Develop > JAVA & Spring' 카테고리의 다른 글
isNumeric - 문자인지 숫자인지 구분 (0) | 2016.11.23 |
---|---|
Java Decompiler (0) | 2016.11.21 |
string(문자열) 비교 ==, equals 의 차이 (0) | 2016.10.26 |
올바른 equals() 사용법 (0) | 2016.10.26 |
JSP/Servlet에서 사용하는 Request 객체의 메소드 (0) | 2016.10.26 |