JSP

[JSP]request객체

MoZZANG 2022. 4. 29. 14:18
request객체란?

: 가장 많이 사용되는 객체로 웹브라우저의 요청과 관련이 있는 객체이다. 즉 클라이언트가 전송한 요청 정보를 제공하는 객체이다.

 

request객체가 제공하는 기능
  1. 클라이언트와 관련된 정보
  2. 서버와 관련된 정보
  3. 클라이언트가 전송한 요청 파라미터 및 헤더정보(요청헤더)
  4. 클라이언트가 전송한 쿠키정보 등

 

주요 메서드

 


가)클라이언트와 서버의 환경정보에 관련된 메서드


- 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