request객체란?
: 가장 많이 사용되는 객체로 웹브라우저의 요청과 관련이 있는 객체이다. 즉 클라이언트가 전송한 요청 정보를 제공하는 객체이다.
request객체가 제공하는 기능
- 클라이언트와 관련된 정보
- 서버와 관련된 정보
- 클라이언트가 전송한 요청 파라미터 및 헤더정보(요청헤더)
- 클라이언트가 전송한 쿠키정보 등
주요 메서드
가)클라이언트와 서버의 환경정보에 관련된 메서드
- String getMethod() : 요청방식(GET, POST, PUT)방식
- String getRequestURL() : 요청한 URL을 return(전체 URL )
- String getRequestURI() : 요청한 URI를 return(도메인 부분을 제외)
- String getProtocol() : 요청에 사용된 프로토콜을 return
- String getServerName() : 요청을 받은 서버의 이름을 return(도메인명)
- int getServerPort() : 서버의 포트번호를 return
- String getRemoteAddr() : 사용자 컴퓨터의 IP Address를 return
WIN7인경우 url에 localhost루프백 주소 사용시 IPV6주소 리턴 . 127.0.0.1이나 혹은 아이피 주소로 테스트
HttpSession getSession() : request와 연관된 session개체를 반환 없으면 새롭게 생성
*서브릿에서는 request개체의 getSession으로 HttpSession개체를 얻어옴 하지만 jsp에서는 session이라는 기본 내장개체를 제공하기때문에 사용할 일은 거의 없음(선언부에서는 <%! %>기본 내장 개체 사용못함)
String getContextPath(): 웹 어플리케이션의 컨텍스트의 경로 return
*html에서 절대경로 이용시 getContextPath()사용한다.
<body>
<div class="jumbotron jumbotron-fluid bg-warning">
<div class="container-fluid">
<h1>HttpServletRequest : 요청한 서버와 클라이언트에 대한 정보</h1>
</div><!--container-fluid-->
</div><!--jumbotron-fluid-->
<div class="container">
<fieldset class="form-group border p-3">
<legend class="w-auto p-3">서버 및 클라이언트 정보</legend>
<form method="post">
<input class="btn btn-info" type="submit" value="서버로 전송"/>
</form>
<h3 class="mt-4">HTTP메소드 : <small><%=request.getMethod() %></small></h3>
<h3>전체 URL : <small><%=request.getRequestURL() %></small></h3>
<h3>도메인을 제외한 URI : <small><%=request.getRequestURI() %></small></h3>
<h3>요청 프로토콜 : <small><%=request.getProtocol() %></small></h3>
<h3>요청 서버명 : <small><%=request.getServerName() %></small></h3>
<h3>요청 서버포트 : <small><%=request.getServerPort() %></small></h3>
<!--
IPV6값으로 반환시
톰캣 실행시의 JVM에 환경변수를 추가.
이클립스 > Run > Run Configuration > Arguiments > -Djava.net.preferIPv4Stack=true
-->
<h3>클라이언트의 IP주소 : <small><%=request.getRemoteAddr() %></small></h3>
<h3>클라이언트의 IP주소 : <small><%=request.getRemoteHost() %></small></h3>
<h3>요청과 관련된 세션 객체 얻기(서블릿에서 사용 - 인증처리) : <small><%=request.getSession() %></small></h3>
<h3>세션 내장 객체 : <small><%=session %></small></h3>
<!--
JSP에서는 웹 어플리케이션 전체 영역을 Context라 칭함.
getContextPath(): server.xml의 Context태그에
path속성에 지정한 값을 얻어옴.
※HTML에서 절대경로로 링크를 걸때 주로 사용(단,JSTL사용시에는 사용하지 않는다(모델 2방식))
-->
<h3>Context Path(프로젝트명) : <small><%=request.getContextPath() %></small></h3>
</fieldset>
</div><!-- container -->
</body>
나)클라이언트에서 보낸 파라미터 와 값에 관련된 메서드
String getParameter(String name) : 이름이 name인 파라미터의 값 반환, 존재하지 않을 경우 null return
String[] getParameterValues(String name) : 이름이 name인 모든 파라미터의 값을 배열로 반환,
존재하지 않을 경우 null return
Enumeration getParameterNames() : 웹 브라우저가 전송한 파라미터의 이름
다)HTTP헤더와 관련된 정보
String getHeader(String name) : name에 해당하는 헤더의 값을 return
Enumeration getHeaderNames() : 모든 헤더의 이름을 return
'JSP' 카테고리의 다른 글
[JSP]out 객체 (0) | 2022.04.29 |
---|---|
[JSP]response 객체 (0) | 2022.04.29 |
[JSP] 스크립팅 원소(Scripting Element) (0) | 2022.04.28 |
[JSP]지시어(Directive) (0) | 2022.04.28 |
[JSP]JSP Basic (0) | 2022.04.27 |